Bug 41525 - Unable to compile gcc 4.4.1 for target=arm-elf on Snow Leopard 10.6 running on first-generation Intel Mac
Summary: Unable to compile gcc 4.4.1 for target=arm-elf on Snow Leopard 10.6 running o...
Status: RESOLVED DUPLICATE of bug 41180
Alias: None
Product: gcc
Classification: Unclassified
Component: target (show other bugs)
Version: 4.4.1
: P3 normal
Target Milestone: ---
Assignee: Not yet assigned to anyone
Depends on:
Reported: 2009-09-30 19:32 UTC by pg
Modified: 2009-09-30 19:59 UTC (History)
4 users (show)

See Also:
Known to work:
Known to fail:
Last reconfirmed:


Note You need to log in before you can comment on or make changes to this bug.
Description pg 2009-09-30 19:32:25 UTC
This bug looks very similar to an existing bug 41180. However, the discussion on that seems to be for 64-bit systems. I'm experiencing the same problem, except that my Mac is a first generation Mac (hence, a 32-bit kernel) running Snow Leopard. Not sure if this is the same as that or not.

First, here is the output from the default Apple GCC that is installed: gcc -v
[pandim:~] pgupta% gcc -v
Using built-in specs.
Target: i686-apple-darwin10
Configured with: /var/tmp/gcc/gcc-5646~6/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 --with-gxx-include-dir=/include/c++/4.2.1 --program-prefix=i686-apple-darwin10- --host=x86_64-apple-darwin10 --target=i686-apple-darwin10
Thread model: posix
gcc version 4.2.1 (Apple Inc. build 5646)

I'm trying to cross-compile gcc 4.4.1 for arm-elf target. I configured the build process in a gcc-build directory as follows:

../gcc-4.4.1/configure --target=arm-elf  \
      --prefix=/Users/pgupta/cad/arm32/tools/arm-gcc --enable-interwork \
      --enable-multilib --enable-languages="c,c++" --with-newlib \
      --with-headers=../newlib/newlib/libc/include \
      --with-mprf=/opt/local --with-gmp=/opt/local --with-libiconv-prefix=/opt/local

Then I said: make all-gcc

The build chugs along and in the end, I get the following error:
gcc  -g -O2 -DIN_GCC -DCROSS_DIRECTORY_STRUCTURE  -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wcast-qual -Wold-style-definition -Wc++-compat -Wmissing-format-attribute -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings   -DHAVE_CONFIG_H  -o cc1plus-dummy \
	      cp/cp-lang.o stub-objc.o cp/call.o cp/decl.o cp/expr.o cp/pt.o cp/typeck2.o cp/class.o cp/decl2.o cp/error.o cp/lex.o cp/parser.o cp/ptree.o cp/rtti.o cp/typeck.o cp/cvt.o cp/except.o cp/friend.o cp/init.o cp/method.o cp/search.o cp/semantics.o cp/tree.o cp/repo.o cp/dump.o cp/optimize.o cp/mangle.o cp/cp-objcp-common.o cp/name-lookup.o cp/cxx-pretty-print.o cp/cp-gimplify.o tree-mudflap.o attribs.o c-common.o c-format.o c-pragma.o c-semantics.o c-lex.o c-dump.o arm-c.o c-pretty-print.o c-opts.o c-pch.o incpath.o cppdefault.o c-ppoutput.o c-cppbuiltin.o prefix.o c-gimplify.o c-omp.o tree-inline.o dummy-checksum.o main.o  libbackend.a ../libcpp/libcpp.a ../libdecnumber/libdecnumber.a ../libcpp/libcpp.a -lintl -L/opt/local/lib -liconv  ../libiberty/libiberty.a ../libdecnumber/libdecnumber.a   -L/opt/local/lib -lmpfr -lgmp
ld: duplicate symbol _init_inline_once in libbackend.a(tree-inline.o) and tree-inline.o
collect2: ld returned 1 exit status
make[2]: *** [cc1plus-dummy] Error 1
make[1]: *** [all-gcc] Error 2
make: *** [all] Error 2

From the discussion on bug 41180, I think the problem seems to be the fact that Apple's gcc has host configured as x86_64-apple-darwin0 while during configure, it is guess i686-apple-darwin0. I have no idea how if this can be fixed by supplying some proper switches or it is a problem with gcc configure scripts.

Is there a workaround?
Comment 1 Andrew Pinski 2009-09-30 19:40:00 UTC

*** This bug has been marked as a duplicate of 41180 ***