------- Comment #2 from rob1weld at aol dot com 2009-02-19 02:30 ------- That worked.
The build continues until it fails here: # gmake (5 minutes) ... Making all in src gmake[4]: Entering directory `/usr/share/src/gcc_build/i386-pc-solaris2.11/libstdc++-v3/src' ... -DPIC -o .libs/parallel_settings.o /bin/sh ../libtool --tag CXX --mode=link g++ -Wl,-O1 -Wl,-z,relro -fno-implicit-templates -Wall -Wextra -Wwrite-strings -Wcast-qual -fdiagnostics-show-location=once -ffunction-sections -fdata-sections -o libstdc++.la -rpath /usr/local/gcc4/lib -version-info 6:11:0 -lm atomic.lo bitmap_allocator.lo pool_allocator.lo mt_allocator.lo codecvt.lo compatibility.lo complex_io.lo ctype.lo debug.lo functexcept.lo hash.lo hash_c++0x.lo globals_io.lo hashtable.lo hashtable_c++0x.lo ios.lo ios_failure.lo ios_init.lo ios_locale.lo limits.lo limits_c++0x.lo list.lo debug_list.lo locale.lo locale_init.lo locale_facets.lo localename.lo math_stubs_float.lo math_stubs_long_double.lo stdexcept.lo strstream.lo system_error.lo tree.lo allocator-inst.lo concept-inst.lo fstream-inst.lo ext-inst.lo ios-inst.lo iostream-inst.lo istream-inst.lo istream.lo locale-inst.lo misc-inst.lo ostream-inst.lo sstream-inst.lo streambuf-inst.lo streambuf.lo string-inst.lo valarray-inst.lo wlocale-inst.lo wstring-inst.lo mutex.lo condition_variable.lo chrono.lo thread.lo atomicity.lo codecvt_members.lo collate_members.lo ctype_members.lo messages_members.lo monetary_members.lo numeric_members.lo time_members.lo basic_file.lo c++locale.lo parallel_list.lo parallel_settings.lo ../libsupc++/libsupc++convenience.la libtool: link: g++ -shared -nostdlib /usr/lib/crti.o /usr/lib/values-Xa.o /usr/local/lib/gcc/i386-pc-solaris2.11/4.4.0/crtbegin.o .libs/atomic.o .libs/bitmap_allocator.o .libs/pool_allocator.o .libs/mt_allocator.o .libs/codecvt.o .libs/compatibility.o .libs/complex_io.o .libs/ctype.o .libs/debug.o .libs/functexcept.o .libs/hash.o .libs/hash_c++0x.o .libs/globals_io.o .libs/hashtable.o .libs/hashtable_c++0x.o .libs/ios.o .libs/ios_failure.o .libs/ios_init.o .libs/ios_locale.o .libs/limits.o .libs/limits_c++0x.o .libs/list.o .libs/debug_list.o .libs/locale.o .libs/locale_init.o .libs/locale_facets.o .libs/localename.o .libs/math_stubs_float.o .libs/math_stubs_long_double.o .libs/stdexcept.o .libs/strstream.o .libs/system_error.o .libs/tree.o .libs/allocator-inst.o .libs/concept-inst.o .libs/fstream-inst.o .libs/ext-inst.o .libs/ios-inst.o .libs/iostream-inst.o .libs/istream-inst.o .libs/istream.o .libs/locale-inst.o .libs/misc-inst.o .libs/ostream-inst.o .libs/sstream-inst.o .libs/streambuf-inst.o .libs/streambuf.o .libs/string-inst.o .libs/valarray-inst.o .libs/wlocale-inst.o .libs/wstring-inst.o .libs/mutex.o .libs/condition_variable.o .libs/chrono.o .libs/thread.o .libs/atomicity.o .libs/codecvt_members.o .libs/collate_members.o .libs/ctype_members.o .libs/messages_members.o .libs/monetary_members.o .libs/numeric_members.o .libs/time_members.o .libs/basic_file.o .libs/c++locale.o .libs/parallel_list.o .libs/parallel_settings.o -Wl,--whole-archive ../libsupc++/.libs/libsupc++convenience.a -Wl,--no-whole-archive -Wl,-rpath -Wl,/usr/local/lib -Wl,-rpath -Wl,/usr/local/lib -L/usr/local/lib/gcc/i386-pc-solaris2.11/4.4.0 -L/usr/local/lib/gcc/i386-pc-solaris2.11/4.4.0/../../../../i386-pc-solaris2.11/lib -L/usr/local/lib/gcc/i386-pc-solaris2.11/4.4.0/../../.. /usr/local/lib/libstdc++.so -lm -lgcc_s /usr/local/lib/gcc/i386-pc-solaris2.11/4.4.0/crtend.o /usr/lib/crtn.o -Wl,-O1 -Wl,-z -Wl,relro -Wl,-soname -Wl,libstdc++.so.6 -o .libs/libstdc++.so.6.0.11 ld: fatal: option -z has illegal argument `relro' usage: ld [-6:abc:d:e:f:h:il:mo:p:rstu:z:B:CD:F:GI:L:M:N:P:Q:R:S:VW:Y:?] file(s) [-64] enforce a 64-bit link-edit [-a] create an absolute file [-b] do not do special PIC relocations in a.out [-B direct | nodirect] establish direct bindings, or inhibit direct binding to, the object being created [-B dynamic | static] search for shared libraries|archives [-B eliminate] eliminate unqualified global symbols from the symbol table [-B group] relocate object from within group [-B local] reduce unqualified global symbols to local [-B reduce] process symbol reductions [-B symbolic] bind external references to definitions when creating shared objects [-c name] record configuration file `name' [-C] demangle C++ symbol name diagnostics [-d y | n] operate in dynamic|static mode [-D token,...] print diagnostic messages [-e epsym], [--entry epsym] use `epsym' as entry point address [-f name], [--auxiliary name] specify library for which this file is an auxiliary filter [-F name], [--filter name] specify library for which this file is a filter [-G], [-shared] create a shared object [-h name], [--soname name] use `name' as internal shared object identifier [-i] ignore LD_LIBRARY_PATH setting [-I name] use `name' as path of interpreter [-l x], [--library x] search for libx.so or libx.a [-L path], [--library-path path] search for libraries in directory `path' [-m] print memory map [-M mapfile] use processing directives contained in `mapfile' [-N string] create a dynamic dependency for `string' [-o outfile], [--output outfile] name the output file `outfile' [-p auditlib] identify audit library to accompany this object [-P auditlib] identify audit library for processing the dependencies of this object [-Q y | n] do|do not place version information in output file [-r], [--relocatable] create a relocatable object [-R path], [-rpath path] specify a library search path to be used at run time [-s], [--strip-all] strip any symbol and debugging information [-S supportlib] specify a link-edit support library [-t] do not warn of multiply-defined symbols that have different sizes or alignments [-u symname], [--undefined symname] create an undefined symbol `symname' [-V], [--version] print version information [-Y P,dirlist] use `dirlist' as a default path when searching for libraries [-z absexec] when building an executable absolute symbols referenced in dynamic objects are promoted to the executable [-z allextract | defaultextract | weakextract], [--whole-archive | --no-whole-archive] extract all member files, only members that resolve undefined or tentative symbols, or allow extraction of archive members to resolve weak references from archive files [-z altexec64] execute the 64-bit link-editor [-z combreloc | nocombreloc] combine|do not combine multiple relocation sections [-z defs], [--no-undefined] disallow undefined symbol references [-z direct | nodirect] enable|disable direct binding to shared object dependencies [-z endfiltee] marks a filtee such that it will terminate a filters search [-z finiarray=function] name of function to be appended to the .finiarray [-z groupperm | nogroupperm] enable|disable setting of group permissions on dynamic dependencies [-z help], [--help] print this usage message [-z ignore | record] ignore|record unused dynamic dependencies [-z initarray=function] name of function to be appended to the .initarray [-z initfirst] mark object to indicate that its .init section should be executed before the .init section of any other objects [-z interpose] dynamic object is to be an `interposer' on direct bindings [-z lazyload | nolazyload] enable|disable delayed loading of shared object dependencies [-z ld32=arg1,arg2,...] define arguments applicable to the 32-bit class of ld(1) [-z ld64=arg1,arg2,...] define arguments applicable to the 64-bit class of ld(1) [-z loadfltr] mark filter as requiring immediate loading of its filtees at runtime [-z muldefs], [--allow-multiple-definition] allow multiply-defined symbols [-z nocompstrtab] disable compression of string tables [-z nodefs] allow undefined symbol references [-z nodefaultlib] mark object to ignore any default library search path [-z nodelete] mark object as non-deletable [-z nodlopen] mark object as non-dlopen()'able [-z nodump] mark object as non-dldump()'able [-z noldynsym] do not add a .SUNW_ldynsym section [-z now] mark object as requiring non-lazy binding [-z nopartial] expand any partially initialized symbols [-z noversion] do not record any version sections [-z origin] mark object as requiring $ORIGIN processing [-z preinitarray=function] name of function to be appended to the .preinitarray [-z redlocsym] reduce local syms in .symtab to a minimum [-z relaxreloc] relax rules used for relocations against COMDAT sections [-z rescan] after processing all arguments, rescan archive list until no further member extraction occurs [-z rescan-now] immediately rescan archive list until no further member extraction occurs [-z rescan-start archives... -z rescan-end], [--start-group archives... --end-group], [-( archives... -)] rescan specified archive group upon reaching the end of the group, until no further member extraction occurs [-z target=platform] target machine for cross linking [-z text] disallow output relocations against text [-z textoff] allow output relocations against text [-z textwarn] warn if there are relocations against text [-z verbose] generate warnings for suspicious processings collect2: ld returned 1 exit status gmake[4]: *** [libstdc++.la] Error 1 gmake[4]: Leaving directory `/usr/share/src/gcc_build/i386-pc-solaris2.11/libstdc++-v3/src' gmake[3]: *** [all-recursive] Error 1 gmake[3]: Leaving directory `/usr/share/src/gcc_build/i386-pc-solaris2.11/libstdc++-v3' gmake[2]: *** [all] Error 2 gmake[2]: Leaving directory `/usr/share/src/gcc_build/i386-pc-solaris2.11/libstdc++-v3' gmake[1]: *** [all-target-libstdc++-v3] Error 2 gmake[1]: Leaving directory `/usr/share/src/gcc_build' gmake: *** [all] Error 2 The commands for ld are wrong. Let's try without "-Wl,-O1 -Wl,-z -Wl,relro": ... /usr/lib/crtn.o -Wl,-soname -Wl,libstdc++.so.6 -o .libs/libstdc++.so.6.0.11 ld: fatal: symbol `__i686.get_pc_thunk.bx' is multiply-defined: (file /usr/local/lib/gcc/i386-pc-solaris2.11/4.4.0/crtbegin.o type=FUNC; file ../libsupc++/.libs/libsupc++convenience.a(cp-demangle.o) type=FUNC); ld: fatal: recording name conflict: file `/usr/local/lib/libstdc++.so' and soname option (-h, --soname) provide identical dependency names: libstdc++.so.6 ld: fatal: file processing errors. No output written to .libs/libstdc++.so.6.0.11 collect2: ld returned 1 exit status Rob -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39238