This is the mail archive of the
gcc-help@gcc.gnu.org
mailing list for the GCC project.
portability of shared libraries
- From: dave fournier <orders at otter-rsch dot com>
- To: gcc-help at gcc dot gnu dot org
- Date: Tue, 05 Apr 2005 10:39:06 -0700
- Subject: portability of shared libraries
- Reply-to: otter at otter-rsch dot com
Hi,
I have been trying to make a shared library that is portable
between different Linux versions. It is compiled on FC3 and
runs fine on FC2 and Mandrake 9.1. However it crashes on
RH8. I have compiled it with
g++ x.c -shared -o nbmm.so -static-libgcc -shared -o $1.so \
-Xlinker -static -lado
When it crashes in RH8 the gdb stack trace reports
Program received signal SIGSEGV, Segmentation fault.
std::locale::operator=(std::locale const&) (this=0x403c23b8,
__other=@0xbffff490)
at
/usr/src/build/146482-i386/BUILD/gcc-3.2-20020903/obj-i386-redhat-linux/i386-redhat-linux/libstdc++-v3/include/i386-redhat-linux/bits/atomicity.h:40
40
/usr/src/build/146482-i386/BUILD/gcc-3.2-20020903/obj-i386-redhat-linux/i386-redhat-linux/libstdc++-v3/include/i386-redhat-linux/bits/atomicity.h:
No such file or directory.
in
/usr/src/build/146482-i386/BUILD/gcc-3.2-20020903/obj-i386-redhat-linux/i386-redhat-linux/libstdc++-v3/include/i386-redhat-linux/bits/atomicity.h
which is related to the RH8 libraries since FC3 uses gcc3.4.2.
So it appears to me that the shared library nbmm.so is still using
calls to external libraries although ldd reports that it is statically
linked. What I would like is to produce a shared library that does not
use any external libraries if this is possible. Obviouslu I don't know
what I am doing here. Any guidance would be appreciated.
Cheers,
Dave
--
Internal Virus Database is out-of-date.
Checked by AVG Anti-Virus.
Version: 7.0.300 / Virus Database: 266.4.0 - Release Date: 2/22/05