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