On Darwin, we have discovered that the new Xcode 3.1 in the iPhone beta SDK apparently exposed a linkage problem when building gcc 4.3.0. The failure we see with the newer darwin linker is...
/sw/src/fink.build/gcc43-4.3.0-1000/darwin_objdir/./prev-gcc/xgcc -B/sw/src/fink.build/gcc43-4.3.0-1000/darwin_objdir/./prev-gcc/ -B/sw/lib/gcc4.3/i686-apple-darwin9/bin/ -g -O2 -fomit-frame-pointer -DIN_GCC -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -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 darwin-c.o c-pretty-print.o c-opts.o c-pch.o c-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/sw/lib -liconv ../libiberty/libiberty.a ../libdecnumber/libdecnumber.a -L/sw/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[3]: *** [cc1plus-dummy] Error 1 make[2]: *** [all-stage2-gcc] Error 2 make[1]: *** [stage2-bubble] Error 2 If the occurance of tree-inline.o is removed from the link line above, the linakge succeeds. Why does gcc link in tree-inline.o a second time for cc1plus-dummy when it already exists in libbackend.a? Is this an error in the gcc Makefiles? Jack