This is the mail archive of the libc-alpha@sourceware.cygnus.com mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: Binary compatibility between glibc 2.1.0/2.1.1 and 2.1.2 ?


Juergen Kreileder <kreilede@issan.cs.uni-dortmund.de> writes:

> This doesn't work, e.g. if a binary/library needs sem_wait@@GLIBC_2.1
> it won't run with glibc 2.1/2.1.1.

Binaries build with these versions indeed do not work since there were
problems with this.  Nobody should use 2.1 and 2.1.1 anymore once
2.1.2 is out.  There are good reasons why new versions come out.

> I have one report about about problems with the Java Invocation API.
> The user tried link his binary against a library from the JDK (built
> with glibc 2.1) on a glibc-2.1.2pre3 system.  He got this error
> message:
> 
> /usr/lib/jdk1.1/lib/i386/native_threads/libjava.so: undefined reference to `sem_destroy@@GLIBC_2.0'
> /usr/lib/jdk1.1/lib/i386/native_threads/libjava.so: undefined reference to `sem_post@@GLIBC_2.0'
> /usr/lib/jdk1.1/lib/i386/native_threads/libjava.so: undefined reference to `sem_wait@@GLIBC_2.0'
> /usr/lib/jdk1.1/lib/i386/native_threads/libjava.so: undefined reference to `sem_init@@GLIBC_2.0'
> collect2: ld returned 1 exit status

And it is good that this happens since the semaphore implementation in
2.1 is the one which is made available as GLIBC_2.1.

As said before, there are "incompatiblities" when without them the
binaries would be buggy.  And this is one of the cases.

-- 
---------------.      drepper at gnu.org  ,-.   1325 Chesapeake Terrace
Ulrich Drepper  \    ,-------------------'   \  Sunnyvale, CA 94089 USA
Cygnus Solutions `--' drepper at cygnus.com   `------------------------

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]