> Hi Art, Hi. Thanks for helping me try to fix the build problem I'm seeing.
{ ... snip ... } > Could be, see above. Apart from that, I wonder why you insist on using > GNU ld on Solaris. install.texi strongly suggests to use the Solaris > linker instead, and I stand by that advise. > A couple of comments on those configure options: avoid everything not > strictly necessary and stay with the defaults. { ... snip ... } I had a small script which runs 'configure' and using GNU as/ld had worked. I've adjusted the script so that GCC is configured to use Sun /usr/ccs/bin/ld instead of the GNU ld binary, and I also got rid of '--enable-threads' and the '--enable-libstdcxx-pch=no' options With the adjustments to the configuration my build got past the 'libgcc_s.so' error I'd been seeing, and proceeded into the 'stage2' build before it failed: libtool: link: /export/home/arth/src/gcc-0801/./prev-gcc/xgcc -B/export/home/ar th/src/gcc-0801/./prev-gcc/ -B/export/home/arth/local/sparc-sun-solaris2.10/bin/ -B/export/home/arth/local/sparc-sun-solaris2.10/bin/ -B/export/home/arth/local/ sparc-sun-solaris2.10/lib/ -isystem /export/home/arth/local/sparc-sun-solaris2.1 0/include -isystem /export/home/arth/local/sparc-sun-solaris2.10/sys-include -shared .libs/lto-plugin.o -static-libgcc -static-libstdc++ -static-libgcc . ./libiberty/pic/libiberty.a -Wl,-soname -Wl,liblto_plugin.so.0 -o .libs/liblto _plugin.so.0.0.0 ld: warning: option -o appears more than once, first setting taken ld: fatal: file liblto_plugin.so.0: open failed: No such file or directory ld: fatal: File processing errors. No output written to .libs/liblto_plugin.so.0 .0.0 collect2: error: ld returned 1 exit status gmake[4]: *** [liblto_plugin.la] Error 1 gmake[4]: Leaving directory `/export/home/arth/src/gcc-0801/lto-plugin' I copied the failing link into a script, added a '-v' option to see what was going on, and the link command was this: /export/home/arth/src/gcc-0801/./prev-gcc/collect2 -V -G -dy -z text -M /export/home/arth/src/gcc-0801/./prev-gcc/libgcc-unwind.map -Y P,/lib:/usr/lib -Qy -o .libs/liblto_plugin.so.0.0.0 /usr/lib/crti.o /usr/lib/values-Xa.o /export/home/arth/src/gcc-0801/./prev-gcc/crtbegin.o -L/export/home/arth/src/gcc-0801/./prev-gcc -L/export/home/arth/local/sparc-sun-solaris2.10/bin -L/export/home/arth/local/sparc-sun-solaris2.10/bin -L/export/home/arth/local/sparc-sun-solaris2.10/lib .libs/lto-plugin.o ../libiberty/pic/libiberty.a -soname liblto_plugin.so.0 -lgcc -lgcc_eh -lc -lgcc -lgcc_eh -lc /export/home/arth/src/gcc-0801/./prev-gcc/crtend.o /usr/lib/crtn.o ld: Software Generation Utilities - Solaris Link Editors: 5.10-1.490 ld: warning: option -o appears more than once, first setting taken ld: fatal: file liblto_plugin.so.0: open failed: No such file or directory ld: fatal: File processing errors. No output written to .libs/liblto_plugin.so.0.0.0 collect2: error: ld returned 1 exit status The warning about the '-o' option appearing twice was really strange until I found out through some trial and error that the '-soname' option was the cause. If I run that command above but use the '-h' option instead the shared object links successfully: $ /export/home/arth/src/gcc-0801/./prev-gcc/collect2 -V -G -dy -z text -M /export/home/arth/src/gcc-0801/./prev-gcc/libgcc-unwind.map -Y P,/lib:/usr/lib -Qy -o ./.libs/liblto_plugin.so.0.0.0 /usr/lib/crti.o /usr/lib/values-Xa.o /export/home/arth/src/gcc-0801/./prev-gcc/crtbegin.o -L/export/home/arth/src/gcc-0801/prev-gcc -L/export/home/arth/local/sparc-sun-solaris-2.10/bin -L/export/home/arth/local/sparc-sun-solaris-2.10/bin -L/export/home/arth/local/sparc-sun-solaris-2.10/lib ./.libs/lto-plugin.o ../libiberty/pic/libiberty.a -h liblto_plugin.so.0 -lgcc -lgcc_eh -lc -lgcc -lgcc_eh -lc /export/home/arth/src/gcc-0801/prev-gcc/crtend.o /usr/lib/crtn.o ld: Software Generation Utilities - Solaris Link Editors: 5.10-1.490 $ I guess now the trick is figuring out how to have the collect2 program use '-h' instead of '-soname' when it invokes the Sun linker. Suggestions? Thanks in advance. Art Haas