[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: GLIBC conformance
From: |
Paul Pluzhnikov |
Subject: |
Re: GLIBC conformance |
Date: |
Tue, 12 Feb 2008 23:13:01 -0800 |
User-agent: |
Gnus/5.1006 (Gnus v5.10.6) XEmacs/21.4 (Jumbo Shrimp, linux) |
"Gerd Keller" <devenv@arcor.de> writes:
> I have build an programm with ubuntu 7.10. There it is running fine.
>
> but it is supposed to run on an debian machine. when starting the
> application there i get the following error message:
>
> # ./server.sh
> .
> ./AdyosServer_eclipse: /lib/tls/libc.so.6: version `GLIBC_2.4' not found
> (required by ./Server)
> ./AdyosServer_eclipse: /lib/tls/libc.so.6: version `GLIBC_2.4' not found
> (required by ./libccgnu2-1.6.so.0)
>
> the debian machine uses glibc 2.32
No, it doesn't. It probably uses glibc 2.3.2.
> Do the glibc version have to be identicaly?
No. UNIX machines in general support backwards compatibility,
but not "forward" compatibility. That means, that you can expect a
binary compiled on an older machine to continue working fine on a
newer one (newer glibc continues to support "backward" binaries),
but you can *not* expect a binary built on newer machine to work
on an older one (the older glibc has no clue how to support features
which haven't been invented yet).
> I have read that upgrading/downgrading glibc is a heavy task.
It's not necessarily "heavy" if you use precompiled packages,
but building your own requires extreme care -- you can easily make
your system un-bootable if you make a single mistake.
> Is there a compiler switch to toggle a specific glibc version or to make the
> binary glibc conform.
No.
> Do you know another solution to the problem?
There are three general solutions (listed in order of increasing difficulty):
1. Build on the oldest release of glibc you plan to support (we
build on ancient RedHat 6.2 with glibc-2.1, and it runs *everywhere*).
2. Use Autopackage (http://autopackage.org/apbuild-apgcc.php)
3. Use x86-glibc-2.4 -> x86-glibc-2.3.2 cross-gcc (see
http://www.kegel.com/crosstool).
Cheers,
--
In order to understand recursion you must first understand recursion.
Remove /-nsp/ for email.