help-gplusplus
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: shared versus archive library


From: Greg
Subject: Re: shared versus archive library
Date: 1 Nov 2005 08:34:39 -0800
User-agent: G2/0.2

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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]