It appears that in fact the symbols from the object file containing unresolved references are not used. So it would make sense that when linking against static libraries these symbols are not pulled in. When linking against .so, the symbols are pulled in and need to be resolved. LD_BIND_NOW is not defined on my system. After all of this I still need to figure out if there is a way (short of splitting and rearranging my libraries) to link with .so libraries and have the executable run without needing all of the symbols it complains about now. I recompiled all of source files with -ffunction-sections and -fdata-sections. When make got to linking against static libraries, the linker died with the following message:
/usr/bin/ld: BFD 2.15.92.0.2 20040927 internal error, aborting at ../../bfd/elf32-i386.c line 2262 in elf_i386_relocate_section /usr/bin/ld: Please report this bug. I then tried recompiling another executble which linked against .so libraries and I got the exact same result. The system I use is a RH Enterprise 4.1 with gcc 3.4.3. The full gcc version is this: $ g++ -v Reading specs from /usr/lib/gcc/i386-redhat-linux/3.4.3/specs Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --enable-shared --enable-threads=posix --disable-checking --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-java-awt=gtk --host=i386-redhat-linux Thread model: posix gcc version 3.4.3 20050227 (Red Hat 3.4.3-22.1) Is there anything else that you can advise me to do to make the .so libraries run? Greg _______________________________________________ Help-gplusplus mailing list Help-gplusplus@gnu.org http://lists.gnu.org/mailman/listinfo/help-gplusplus