libz.a, was [uClibc]static zlib problem in x86 dev image

Erik Andersen andersen at codepoet.org
Sat Feb 15 10:34:22 UTC 2003


On Thu Feb 13, 2003 at 11:31:22AM +0100, Peter S. Mazinger wrote:
> > Could you check if this problem is still present in
> > today's development system image?  I rebuilt it this
> > morning with uClibc 0.9.18.  I also added most of the
> > things you asked for (diffutils,patch, flex, bison,
> > ed,file, etc)
> Thanks for the additions.
> 
> libz.a has the same problem. If I rebuild zlib-1.1.4 

# nm -D libz.so.1.1.4 | grep 64
         U fopen64
# nm -D libuClibc-0.9.18.so | grep fopen64
0001d350 T fopen64

I fail to see any problem here....  libz uses fopen64 and uClibc
provides fopen64.  shrug. 

> Environment when it happens:
> modutils insmod.static version built against dietlibc (I use mainly 
> unmodified, only updated redhat rpm's for dietlibc,zlib and modutils)
> 
> First I build dietlibc-0.21 and install.
> After that I try to build modutils-2.4.22 with static insmod built against 
> dietlibc. If I use your libz.a, than it fails, if I rebuild libz.a
> on this system with the options above, then it works.

Wait a minute!!!  You are trying to use the uClibc development
system's libz.a library (that was of course compiled against
uClibc) in conjunction with dietlibc?!?!?  You realize of course
that is _terribly_ terribly wrong and if it happens to work at
all it just means you have a ticking time bomb.  Binary
incompatiblities _will_ crash your application.  Fundamental data
types and structures are very different between different C
libraries.

If you want to compile stuff with dietlibc then you should use
only libraries that were compiled with dietlibc.  You cannot EVER
mix and match libraries compiled using different C libraries.

 -Erik

--
Erik B. Andersen             http://codepoet-consulting.com/
--This message was written using 73% post-consumer electrons--



More information about the uClibc mailing list