[MacPorts] #24194: gcc42, gcc43, gcc44 won't compile with non-default build_arch

MacPorts noreply at macports.org
Tue May 4 07:28:07 PDT 2010


#24194: gcc42, gcc43, gcc44 won't compile with non-default build_arch
-------------------------------+--------------------------------------------
 Reporter:  gvibe06@…          |       Owner:  mww@…            
     Type:  defect             |      Status:  new              
 Priority:  Normal             |   Milestone:                   
Component:  ports              |     Version:  1.8.2            
 Keywords:                     |        Port:  gcc44 gcc43 gcc42
-------------------------------+--------------------------------------------

Comment(by kyle-macports@…):

 Actually, having added `-m64` to the configure flags, the compiler then
 proceeds to error out in a new way.

 {{{
 /usr/bin/gcc-4.0  -I../../gcc-4.4.4/libcpp -I.
 -I../../gcc-4.4.4/libcpp/../include -I../../gcc-4.4.4/libcpp/include
 -I/opt/local/include -g -fkeep-inline-functions -W -Wall -Wwrite-strings
 -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -Wmissing-
 format-attribute -pedantic -Wno-long-long  -I../../gcc-4.4.4/libcpp -I.
 -I../../gcc-4.4.4/libcpp/../include -I../../gcc-4.4.4/libcpp/include
 -I/opt/local/include -c -o makedepend.o -MT makedepend.o -MMD -MP -MF
 .deps/makedepend.Tpo ../../gcc-4.4.4/libcpp/makedepend.c
 /usr/bin/gcc-4.0 -g -fkeep-inline-functions -L/opt/local/lib -m64 -o
 makedepend \
           makedepend.o libcpp.a ../libiberty/libiberty.a \
            -liconv
 ld: warning in makedepend.o, file is not of required architecture
 ld: warning in libcpp.a, file is not of required architecture
 ld: warning in ../libiberty/libiberty.a, file is not of required
 architecture
 Undefined symbols:
   "_main", referenced from:
       start in crt1.10.5.o
 ld: symbol(s) not found
 collect2: ld returned 1 exit status
 make[3]: *** [makedepend] Error 1
 make[2]: *** [all-stage1-libcpp] Error 2
 make[1]: *** [stage1-bubble] Error 2
 make: *** [bootstrap] Error 2
 Error: Target org.macports.build returned: shell command " cd
 "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_lang_gcc44/work/build"
 && /usr/bin/make bootstrap " returned error 2
 DEBUG: Backtrace: shell command " cd
 "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_lang_gcc44/work/build"
 && /usr/bin/make bootstrap " returned error 2
     while executing
 "command_exec build"
     (procedure "portbuild::build_main" line 9)
     invoked from within
 "$procedure $targetname"
 Warning: the following items did not execute (for gcc44):
 org.macports.activate org.macports.build org.macports.destroot
 org.macports.install
 Error: Status 1 encountered during processing.
 To report a bug, see <http://guide.macports.org/#project.tickets>
 }}}

 Checking on libiberty.a reveals:

 {{{
 $ find /opt/ -name libiberty.a -exec lipo -info {} \;
 input file
 /opt//local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_lang_gcc44/work/build
 /build-ppc64-apple-darwin9/libiberty/libiberty.a is not a fat file
 Non-fat file:
 /opt//local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_lang_gcc44/work/build
 /build-ppc64-apple-darwin9/libiberty/libiberty.a is architecture: ppc64
 input file
 /opt//local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_lang_gcc44/work/build/libiberty/libiberty.a
 is not a fat file
 Non-fat file:
 /opt//local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_lang_gcc44/work/build/libiberty/libiberty.a
 is architecture: ppc7400
 }}}

 I have no idea why gcc is building TWO copies of libiberty, much less why
 it's building one of them without the CFLAGS that the rest of it is built
 with... but that's what's going on. I'm attaching a full debug log.

-- 
Ticket URL: <http://trac.macports.org/ticket/24194#comment:14>
MacPorts <http://www.macports.org/>
Ports system for Mac OS


More information about the macports-tickets mailing list