This is the mail archive of the libc-alpha@sources.redhat.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]

Versioning mess proved!!!


Andreas and Uli,
    While I haven't been able to produce a nice little test case yet I
have
come up with a simple procedure which I believe will allow everyone to
reproduce this problem.

1) On a machine running glibc 2.1.3 build the zlib srpm. Tar up the
build directory from this build.
2) Transfer the zlib rpms built under glibc 2.1.3 and the build
directory tarball to a machine running
glibc 2.1.94
3) Untar the build directory tarball on the glibc 2.1.94 machine
4) If you have a zlib built against glibc 2.1.9x replace it by
installing the glibc 2.1.3 built zlib
5) In the build directory for zlib, delete the example and example.o
binaries. Then do make
to recreate the example program. It will link using -L so the glibc
2.1.3 built zlib is linked in

So what we now have is a zlib example linked against glibc 2.1.94 for
libc.so.6 and against
a glibc 2.1.3 built libz.so.1. You will find this runs fine when
./example is executed.

6) now rebuild the zlib srpm on the glibc 2.1.94 machine and install it.
Attempt to run the ./example
created in step 5. You will get a segfault.

So basically my observation is that one can not build programs against
glibc 2.1.94 linking them
against glibc 2.1.3 built libs and then later updating those libs to
versions built against glibc 2.1.94.
These programs which were linked against a mixture of glibc 2.1.3 and
2.1.94 built libs break in an
entirely glibc 2.1.94 environment.
I am rather unclear how I can make this into a test case but I believe
this recipe is simple and easy
enough for everyone (using rpm based systems anyway) to reproduce.
Thanks in advance for fixing
this.
                                                       Jack Howarth


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