Opened 13 years ago

Closed 13 years ago

#30523 closed defect (fixed)

montage: libcfitsio.dylib, file was built for unsupported file format which is not the architecture being linked

Reported by: vincent.hbr@… Owned by: robitaille@…
Priority: Normal Milestone:
Component: ports Version: 2.0.0
Keywords: Cc: ryandesign (Ryan Carsten Schmidt)
Port: montage

Description (last modified by mf2k (Frank Schima))

--->  Dependencies to be installed: montage
--->  Building montage
Error: Target org.macports.build returned: shell command failed (see log for details)
Error: Failed to install montage
Log for montage is at: /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_science_montage/montage/main.log
Error: The following dependencies were not installed: montage
Error: Status 1 encountered during processing.

Attachments (2)

main.log (33.3 KB) - added by vincent.hbr@… 13 years ago.
Log of failed build
main.2.log (93.0 KB) - added by vincent.hbr@… 13 years ago.
new log

Download all attachments as: .zip

Change History (22)

Changed 13 years ago by vincent.hbr@…

Attachment: main.log added

Log of failed build

comment:1 Changed 13 years ago by mf2k (Frank Schima)

Description: modified (diff)
Keywords: montage removed
Owner: changed from macports-tickets@… to robitaille@…
Port: montage added

comment:2 Changed 13 years ago by mf2k (Frank Schima)

According to the log:

:info:build gcc -o mConvert mConvert.o debugCheck.o checkHdr.o \
:info:build             checkWCS.o -L../lib -lwcs -lcfitsio -lcoord -lmtbl -lsvc -lboundaries -lpixbounds -ltwoplane -lm
:info:build ld: warning: in ../lib/libwcs.a, file was built for unsupported file format which is not the architecture being linked (i386)
:info:build ld: warning: in /opt/local/lib/libcfitsio.dylib, file was built for unsupported file format which is not the architecture being linked (i386)
:info:build Undefined symbols:
:info:build   "_ffmahd", ld: warning: in ../lib/ldlibwcs.a,: referencedwarning :from:  file inwas
:info:build       _checkHdr in checkHdr.o
:info:build    ."_ffgky."/,lib/libwcs.a, file was built for unsupported file format which is not the architecture being linked (i386)
:info:build ld: warning: in /opt/local/lib/libcfitsio.dylib, file   referenced builtfrom :for unsupported file wasformat  built
:info:build for whichunsupported  file  is   not format which is not the architecture being linked (i386)
:info:build Undefined symbols:   _readFits in mConvert.o
:info:build       _readFits in mConvert.o
:info:build       _readFits in mConvert.o

What is the output of the following?

port -v installed cfitsio

Did you change your supported arches in your macports.conf file?

comment:3 in reply to:  2 Changed 13 years ago by vincent.hbr@…

Replying to macsforever2000@…:

What is the output of the following?

port -v installed cfitsio
The following ports are currently installed:
  cfitsio @3.280_1 (active) platform='darwin 10' archs='x86_64'

Did you change your supported arches in your macports.conf file?

I did not change the macports.conf file.

comment:4 Changed 13 years ago by mf2k (Frank Schima)

What version of Mac OS X and Xcode and you running?

comment:5 in reply to:  4 Changed 13 years ago by vincent.hbr@…

Replying to macsforever2000@…:

What version of Mac OS X and Xcode and you running?

Mac OS X 10.6.6, Xcode 3.2.2

comment:6 Changed 13 years ago by ryandesign (Ryan Carsten Schmidt)

Cc: ryandesign@… added
Resolution: fixed
Status: newclosed
Summary: 'shell command failed' when building montagemontage: libcfitsio.dylib, file was built for unsupported file format which is not the architecture being linked

Should be fixed by adding a dependency on cfitsio; done in r82133.

Also filed #30656 which may be related.

comment:7 in reply to:  6 Changed 13 years ago by vincent.hbr@…

Resolution: fixed
Status: closedreopened

That doesn't seem to fix the problem. I get the same error after revision of the portfile.

Note that there is also still an error with libwcs: libwcs.a, file was built for unsupported file format which is not the architecture being linked (i386).

comment:8 Changed 13 years ago by ryandesign (Ryan Carsten Schmidt)

Can you attach the new main.log?

I don't understand why montage is trying to build i386 for you when you appear to be on an x86_64 machine running Snow Leopard where things should be building x86_64. Can you explain this?

Changed 13 years ago by vincent.hbr@…

Attachment: main.2.log added

new log

comment:9 Changed 13 years ago by vincent.hbr@…

I don't understand either why it tries to build i386. I am running Snow Leopard.

comment:10 Changed 13 years ago by ryandesign (Ryan Carsten Schmidt)

What version of Xcode is installed?

comment:11 Changed 13 years ago by vincent.hbr@…

Xcode 3.2.2, as mentioned above.

comment:12 Changed 13 years ago by ryandesign (Ryan Carsten Schmidt)

And what is the output of:

cc -v

comment:13 Changed 13 years ago by vincent.hbr@…

% cc -v
Using built-in specs.
Target: i686-apple-darwin10
Configured with: /var/tmp/gcc/gcc-5659~1/src/configure --disable-checking --enable-werror --prefix=/usr --mandir=/share/man --enable-languages=c,objc,c++,obj-c++ --program-transform-name=/^[cg][^.-]*$/s/$/-4.2/ --with-slibdir=/usr/lib --build=i686-apple-darwin10 --program-prefix=i686-apple-darwin10- --host=x86_64-apple-darwin10 --target=i686-apple-darwin10 --with-gxx-include-dir=/include/c++/4.2.1
Thread model: posix
gcc version 4.2.1 (Apple Inc. build 5659)

comment:14 Changed 13 years ago by ryandesign (Ryan Carsten Schmidt)

That looks normal. Mine is build 5666 because I'm running Xcode 3.2.6; you might want to update just out of principle but it shouldn't affect the issue you're having.

Your computer is 64-bit capable yes? What's the output of:

sysctl hw.cpu64bit_capable

comment:15 Changed 13 years ago by vincent.hbr@…

yes.

% sysctl hw.cpu64bit_capable
hw.cpu64bit_capable: 1

comment:16 Changed 13 years ago by ryandesign (Ryan Carsten Schmidt)

I think I see the problem. What is the output of:

gcc -v

comment:17 Changed 13 years ago by vincent.hbr@…

% gcc -v
Using built-in specs.
Target: i686-apple-darwin10
Configured with: /var/tmp/gcc_40/gcc_40-5493~371/src/configure --disable-checking -enable-werror --prefix=/usr --mandir=/share/man --enable-languages=c,objc,c++,obj-c++ --program-transform-name=/^[cg][^.-]*$/s/$/-4.0/ --with-gxx-include-dir=/include/c++/4.0.0 --with-slibdir=/usr/lib --build=i686-apple-darwin10 --with-arch=apple --with-tune=generic --host=i686-apple-darwin10 --target=i686-apple-darwin10
Thread model: posix
gcc version 4.0.1 (Apple Inc. build 5493)

comment:18 Changed 13 years ago by ryandesign (Ryan Carsten Schmidt)

Bingo. "gcc" is an old version of gcc, whereas "cc" is the correct version for Snow Leopard.

This would not have been a problem if the port had been UsingTheRightCompiler, as requested in #30656.

Have you deliberately selected this older gcc 4.0, perhaps using "port select gcc", or by manually setting the gcc symlink?

comment:19 Changed 13 years ago by vincent.hbr@…

Great. I don't remember deliberately selecting gcc 4.0, but that was the problem. Montage now builds fine when using gcc 4.2. Thanks for the quick and efficient support!

comment:20 Changed 13 years ago by ryandesign (Ryan Carsten Schmidt)

Resolution: fixed
Status: reopenedclosed

Glad we got that figured out. The real solution to prevent this from happening for other users who have changed their selected compiler will be to fix #30656.

Note: See TracTickets for help on using tickets.