libgcc_s.so.1 exception handling behaviour depending on glibc version
Dan Kegel
dank@kegel.com
Wed May 18 19:09:00 GMT 2005
Stephan.Bergmann@Sun.COM wrote:
> [ Things break horribly when I compile them
> with a compiler built against glibc-2.3.x
> and try to run them on a glibc-2.2.x system. ]
This is expected and normal. gcc and glibc have
circular dependencies. A gcc tainted with a newer
glibc is expected to produce binaries that don't
work with older glibc's.
Mike Hearn wrote:
> This policy of not supporting "build on newer, run on older" is a massive
> pain for developers who distribute Linux binaries even though it's very
> common: developers often use very new distributions but users often don't.
> It requires all kinds of stupid hacks to work around.
No hacks needed; you just have to embrace reality.
As Marcin Dalecki and others pointed out, one
way to ship software that needs to run on a range of
gcc and glibc versions is to build against the
lowest common denominator, either by cross-compiling
(in which case http://kegel.com/crosstool is your friend)
or by actually building on the older system
(in which case http://thomas.apestaart.org/projects/mach/
might be your friend; I haven't used it myself).
Another way will be LSB, once it makes the leap forward
to the gcc-3.4 ABI for C++. (Did you know that gcc-4.0
uses the gcc-3.4 ABI for C++, too? That's right, there is hope!)
- Dan
--
Trying to get a job as a c++ developer? See http://kegel.com/academy/getting-hired.html
More information about the Gcc
mailing list