------- 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