[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