cross version development
Glenn Burkhardt
gbburkhardt at aaahawk.com
Thu Oct 23 16:38:19 EDT 2003
> I would think you would be better doing your development against
> the older libraries and then test that it works linked to the
> newer ones. You would be less likely to use something that isn't
> there in the other library.
That probably works - but then I'd at least need to keep an old system around
for final builds. I'd prefer to have the latest stuff on the desktop I'm
using...
> I think the linking should just work, shouldn't it? Have you
> tried anything yet? The linker name ld puts in the executable
> header doesn't include the version number, unless you force it to.
I think it does "just work" going from an old system to a new system.
But with a module linked my Mandrake 9.1 system, this is the ldd output on an
Mandrake 8.1 system:
[glenn at loki glenn]$ ldd er
./er: /lib/libc.so.6: version `GLIBC_2.3' not found (required by ./er)
libqt-mt.so.3 => /usr/local/lib/libqt-mt.so.3 (0x40017000)
libXext.so.6 => /usr/X11R6/lib/libXext.so.6 (0x40898000)
libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0x408a7000)
libm.so.6 => /lib/libm.so.6 (0x40991000)
libfp3d.so => /usr/local/lib/libfp3d.so (0x409b4000)
libpthread.so.0 => /lib/libpthread.so.0 (0x409d5000)
libstdc++.so.5 => not found
libgcc_s.so.1 => not found
So the new glibc is sticking a version number in the executable, or the
default linker settings request it. I'll have to check the linker settings,
but it's not anything I've stuck in.
> What's this libstdc? Do you mean the C++ library?
yes, the C++ library.
More information about the Discuss
mailing list