Re: Compiling under 5.x for 4.x releases?

From: Dan Nelson <dnelson_at_allantgroup.com>
Date: Sat, 14 Jun 2003 12:28:11 -0500
In the last episode (Jun 14), Karl Denninger said:
> On Sat, Jun 14, 2003 at 09:43:01AM -0700, Doug White wrote:
> > On Sat, 14 Jun 2003, Karl Denninger wrote:
> > 
> > > Can it be done with a command-line switch to the compiler or gcc,
> > > or am I consigned to dual-booting?
> > 
> > You mean building apps linked against 4.X libs vs. 5.X? With some
> > creative -L flags you might be able to get it to not use
> > /usr/lib/libc* and use /usr/lib/compat/libc* instead, which has
> > copies of certain 4.X libs in it.
> > 
> > Let us know if you get it working :)
> 
> Will play with that one....

That won't work.  The reason shared libraries get their versions bumped
and the old ones move into compat is that the ABI changes.  Unless you
kept the headers for those old shlibs laying around someplace, gcc will
compile programs using the ABI for the libs in /usr/lib.
 
> The problem is that I have a lot of users on the 4.x release(s) of
> the OS, and have binary apps that I'm supporting for them.  Linking
> static is an option, but does ugly things to the file sizes.

That will break the first time a 5.0-compiled library decides to use a
syscall not in 4.x.
 
> Thus, wondering if I can link the other way and still have it run on
> a 4.x box.  I guess it depends on what the application is and what
> dependancies there are.

You will need to keep a 4.x box around (or possibly build a chrooted
4.x environment) to build older binaries.  I believe until last month
the Linux Mozilla binaries were built on a RedHat 6.2 system, to
maximize the number of machines it would run on.

-- 
	Dan Nelson
	dnelson_at_allantgroup.com
Received on Sat Jun 14 2003 - 08:28:15 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:37:11 UTC