cross version development

Mike Small smallm at panix.com
Wed Oct 22 13:08:30 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.

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.
Take a look at ldd on ls (I'm on a debian system)...

$ldd ls
        librt.so.1 => /lib/librt.so.1 (0x0ffce000)
        libc.so.6 => /lib/libc.so.6 (0x0fe75000)
        libpthread.so.0 => /lib/libpthread.so.0 (0x0fe04000)
        /lib/ld.so.1 => /lib/ld.so.1 (0x30000000)

/lib/libc.so.6 is a symlink to libc-2.3.2.so on my system.  For you
it will be a symlink to the 2.2 on the old system and 2.3 on the
new system.  The other libraries may be a little tougher, I don't know.
What's this libstdc?  Do you mean the C++ library?

You may want to take a glance at this howto...

http://www.dwheeler.com/program-library/Program-Library-HOWTO/shared-libraries.html

On Wed, Oct 22, 2003 at 09:47:56AM -0400, gbburkhardt at aaahawk.com wrote:
> Does anyone have any pointers to guides for generating
> executables that work on different
> versions (not distributions, but versions) of Linux?  There
> was, of course, a major
> change in the glibc libraries over the last years.  In
> particular, I'm trying to determine 
> how to compile/link on Mandrake 9.1, and have it run on
> Mandrake 8.1.  The glibc version
> on Mandrake 9.1 is 2.3, and the version for Mandrake 8.1 is
> 2.2.  The libstdc library
> versions are different, too.
> 
> Static linking is not an option, for other reasons.
> 
> Thanks.
> _______________________________________________
> Discuss mailing list
> Discuss at blu.org
> http://www.blu.org/mailman/listinfo/discuss

-- 
Mike Small
smallm at panix.com



More information about the Discuss mailing list