Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

GLIBC conformance

69 views
Skip to first unread message

Gerd Keller

unread,
Feb 12, 2008, 3:07:30 PM2/12/08
to
Hello,

I am new to gcc and linux.

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

Do the glibc version have to be identicaly?

I have read that upgrading/downgrading glibc is a heavy task. So this seems
not to be the solution to me.

Is there a compiler switch to toggle a specific glibc version or to make the
binary glibc conform.

Do you know another solution to the problem?

Probably this is not exactly the right place here. Do you know a good
newsgroup/forum for this topic?
- gcc and linux cross plattform compiling

--
regards,
Gerd


Paul Pluzhnikov

unread,
Feb 13, 2008, 2:13:01 AM2/13/08
to
"Gerd Keller" <dev...@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.

0 new messages