I changed the subject line to create a clean thread. I'm trying to follow the basic instructions to build the libs on Solaris 10 with gcc 3.4.2. I get similar results for a variety of gcc versions that I have on this system. The gcc -v output is at the bottom. Script started on Thu Jun 21 12:18:28 2007 configure --without-icu --with-toolset=gcc -n Building Boost.Jam with toolset gcc... tools/jam/src/bin.solaris/bjam -n Detecting Python version... 2.2 -n Detecting Python root... /opt/sfw -n Unicode/ICU support for Boost.Regex?... disabled. Generating Boost.Build configuration in user-config.jam... Generating Makefile... make ./tools/jam/src/bin.solaris/bjam --user-config=user-config.jam Building Boost.Regex with the optional Unicode/ICU support disabled. Please refer to the Boost.Regex documentation for more information (don't panic: this is a strictly optional feature). ...patience... ...patience... ...found 4733 targets... ...updating 1478 targets... MkDir1 bin.v2/libs/signals MkDir1 bin.v2/libs/signals/build MkDir1 bin.v2/libs/signals/build/gcc-3.4.2 MkDir1 bin.v2/libs/signals/build/gcc-3.4.2/debug MkDir1 bin.v2/libs/signals/build/gcc-3.4.2/debug/threading-multi gcc.compile.c++ bin.v2/libs/signals/build/gcc-3.4.2/debug/threading-multi/trackable.o gcc.compile.c++ bin.v2/libs/signals/build/gcc-3.4.2/debug/threading-multi/connection.o gcc.compile.c++ bin.v2/libs/signals/build/gcc-3.4.2/debug/threading-multi/named_slot_map .o gcc.compile.c++ bin.v2/libs/signals/build/gcc-3.4.2/debug/threading-multi/signal_base.o gcc.compile.c++ bin.v2/libs/signals/build/gcc-3.4.2/debug/threading-multi/slot.o gcc.link.dll bin.v2/libs/signals/build/gcc-3.4.2/debug/threading-multi/libboost_signa ls-gcc34-mt-d-1_34.so.1.34.0 /usr/ccs/bin/ld: illegal option -- start-group /usr/ccs/bin/ld: illegal option -- end-group usage: ld [-6:abc:d:e:f:h:il:mo:p:rstu:z:B:CD:F:GI:L:M:N:P:Q:R:S:VY:?] 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] use `epsym' as entry point address [-f name] specify library for which this file is an auxiliary filter [-F name] specify library for which this file is a filter [-G] create a shared object [-h name] use `name' as internal shared object identifier [-i] ignore LD_LIBRARY_PATH setting [-I name] use `name' as path of interpreter [-l x] search for libx.so or libx.a [-L 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] 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] create a relocatable object [-R path] specify a library search path to be used at run time [-s] 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] create an undefined symbol `symname' [-V] 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] extract all member files, only members that resolve undefined tor tentative symbols, or allow extraction of archive members to resolvetweak references from archive files [-z combreloc] combine multiple relocation sections [-z nocompstrtab] disable compression of string tables [-z defs] 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 ] 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 multiply-defined symbols [-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 nopartial] expand any partially initialized symbols [-z noversion] don't record any version sections [-z now] mark object as requiring non-lazy binding [-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 rescan] rescan archive list until no further member extraction occurs [-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 "g++" -o "bin.v2/libs/signals/build/gcc-3.4.2/debug/threading-multi/libboost_sign als-gcc34-mt-d-1_34.so.1.34.0" -Wl,-h -Wl,libboost_signals-gcc34-mt-d-1_34.so.1.34.0 -shared -Wl,--start-group "bin.v2/libs/signals/build/gcc-3.4.2/debug/threading-multi/trackable.o" "bin.v2/libs/signals/build/gcc-3.4.2/debug/threading-multi/connection.o" "bin.v2/libs/signals/build/gcc-3.4.2/debug/threading-multi/named_slot_ma p.o" "bin.v2/libs/signals/build/gcc-3.4.2/debug/threading-multi/signal_base.o " "bin.v2/libs/signals/build/gcc-3.4.2/debug/threading-multi/slot.o" -lrt -Wl,--end-group -g -pthreads ...failed gcc.link.dll bin.v2/libs/signals/build/gcc-3.4.2/debug/threading-multi/libboost_signa ls-gcc34-mt-d-1_34.so.1.34.0... MkDir1 bin.v2/libs/test MkDir1 bin.v2/libs/test/build MkDir1 bin.v2/libs/test/build/gcc-3.4.2 MkDir1 bin.v2/libs/test/build/gcc-3.4.2/debug MkDir1 bin.v2/libs/test/build/gcc-3.4.2/debug/threading-multi gcc.compile.c++ bin.v2/libs/test/build/gcc-3.4.2/debug/threading-multi/execution_monitor .o gcc.compile.c++ bin.v2/libs/test/build/gcc-3.4.2/debug/threading-multi/cpp_main.o ^C...interrupted ...failed updating 1 target... ...updated 16 targets... script done on Thu Jun 21 12:20:30 2007 Reading specs from /opt/sfw/lib/gcc/sparc-sun-solaris2.10/3.4.2/specs Configured with: ../gcc-3.4.2/configure --prefix=/opt/sfw --with-ld=/usr/ccs/bin/ld --with-gnu-as --with-as=/opt/sfw/bin/gas --enable-shared --disable-libgcj Thread model: posix gcc version 3.4.2