From: Hans-Bernhard B. <br...@ph...> - 2004-04-16 14:02:03
|
On Fri, 16 Apr 2004, Hans-Bernhard Broeker wrote: > Andris, nice to see you're still around, too... hadn't heard from > you in quite a while... > > > Tried to build 4.0.0 for DJGPP on system that had ancient libgd (perhaps > > 1.3) and libpng-1.2.5 installed. After running configure got libraries > > in following order > > -lz -lgd -lpng > > As result there were unresolved references from libpng, as -lz should be > > after -lpng. Of course I could use Makefile.dj2, but this problem > > perhaps could appear also for some other system. > > That's of course a silly one. It probably won't happen to those platforms > that have shared libraries with internal dependencies (ie: Linux). Grrr... I *hate* it that this kind of stuff always pops up past the last minute ;-( I've succeeded in making a suitable packae only after hacking configure.in and letting the DJGPP version of autoconf/automake regenerate pretty much everything. The telltale symptom is this, at the end of 'configure': Enable generation of JPEG files Enable generation of PNG files using old driver Enable TTF fonts with gd driver Enable pm3d Enable filledboxes I.e. it did find both libpng and libz (--> so old png.trm can be used), but it failed to confirm GdImagePng() in GD (which quite definitely does exists), because that link fails to have a -lz anywhere in it. This is the compile/link line it tries to run (from config.log, linewraps mine): configure:9799: gcc -o conftest.exe -g -O2 -fno-inline-functions \ -I/dev/env/DJDIR/local/include conftest.c -lgd -lgrx20 -lpc \ -ljpeg -lfreetype -lpng >&5 But because there's no -lz, that fails: e:/djgpp/local/lib/libpng.a(png.o)(.text+0x2f5):png.c: \ undefined reference to `_crc32' [... and lots more ...] Now, if I remember Ethan's comments about this issue from a while back correctly, I think he was saying that the "obvious" fix to this (putting -lz into the links by changing configure.in) would break on at least some other platforms. In the light of this, I think I won't put up another tarball right now. The risk of it breaking other platforms is just too high. Instead, I'll put a note into the DJGPP binary package's "README.dj2" file about the little hacks to configure.in needed to fix this. -- Hans-Bernhard Broeker (br...@ph...) Even if all the snow were burnt, ashes would remain. |