Opened 14 years ago
Closed 14 years ago
#3478 closed defect (fixed)
configure does not detect libGD version dependencies
Reported by: | antti | Owned by: | aboudreault |
---|---|---|---|
Priority: | lowest | Milestone: | 6.0 release |
Component: | Build Problems | Version: | unspecified |
Severity: | trivial | Keywords: | libgd configure |
Cc: | dmorissette |
Description
The configure script in 4.10 does not test the libGD version and will accept older libraries that are missing essential functions. Make fails when functions introduced with later versions of libGD are encountered: (i.e. gdImageCreatePaletteFromTrueColor, gdImageGetTrueColorPixel). Tested 5.6
Solved by upgrading to more recent version of libGD. Should autoconf test known dependencies? Logged a ticket to provide Google bait in case other people find themselves on systems with older libGD installs.
Change History (7)
follow-up: 2 comment:1 by , 14 years ago
Cc: | added |
---|---|
Milestone: | → 6.0 release |
Owner: | changed from | to
comment:2 by , 14 years ago
Replying to dmorissette:
Does "Tested 5.6" mean that you tested 5.6 and you confirm that the issue is still present in that version (I would not be surprised if that was the case, but would like to get confirmation before we look into this).
I started testing 5.6.3 for this but was stopped by a detected dependency. I had a look at config.log and it strongly suggests the GD part of the config script hasn't changed:
configure:6081: checking for GD 2.0.16 or higher... configure:6314: checking for gdFontCacheSetup in -lgd configure:6344: gcc -o conftest -g -O2 -fPIC conftest.c -lgd -ljpeg -lfreetype -lpng -lz -lm -lstdc++ >&5 configure:6350: $? = 0 configure:6354: test -z || test ! -s conftest.err configure:6357: $? = 0 configure:6360: test -s conftest configure:6363: $? = 0 configure:6376: result: yes configure:6462: result: using libgd 2.0.16 (or higher) from system libs (-L/usr/lib -lgd -ljpeg -lfreetype -lpng -lz ). configure:7231: checking for gdImageCreate in -lgd configure:7261: gcc -o conftest -g -O2 -fPIC conftest.c -lgd -ljpeg -lfreetype -lpng -lz -lm -lstdc++ >&5 configure:7267: $? = 0 configure:7271: test -z || test ! -s conftest.err configure:7274: $? = 0 configure:7277: test -s conftest configure:7280: $? = 0 configure:7293: result: yes configure:7305: checking for gdImageGif in -lgd configure:7335: gcc -o conftest -g -O2 -fPIC conftest.c -lgd -L/usr/lib -lgd -ljpeg -lfreetype -lpng -lz -lm -lstdc++ >&5 /tmp/ccEqFR77.o(.text+0x18): In function `main': /build/mapserv/mapserver-5.6.3/conftest.c:25: undefined reference to `gdImageGif' collect2: ld returned 1 exit status configure:7341: $? = 1 ... configure:7931: result: using GD ( -DUSE_GD_PNG -DUSE_GD_JPEG -DUSE_GD_WBMP -DUSE_GD_FT -DGD_HAS_GETBITMAPFONTS) from system libs.
follow-up: 4 comment:3 by , 14 years ago
The fail about gdImageGif is ok, mapserver will just not support that image format if it isn't available. gdImageGetTrueColorPixel is checked in the configure script. I assume your build fails because gdImageCreatePaletteFromTrueColor wasn't available ? I could add a check for that method.
comment:4 by , 14 years ago
Replying to aboudreault:
Yes that would work. The bulld of 4.10 failed because gdImageCreatePaletteFromTrueColor was absent. The 5.6.3 build couldn't be done as there's a bunch of other obsolete libraries. Ignorant question: Why not use 'gdlib-config --version'?
comment:5 by , 14 years ago
Not sure why... it could have been use but I guess they kept the way they begin with. So, with the use ofgdImageCreatePaletteFromTrueColor, the gd dependencies is 2.0.28. I'm going to bump the dependency to that version and add a check using gdlib-config --version.
comment:6 by , 14 years ago
gdlib-config has not always been available. Not sure when it was added, but if we start relying on it we should make sure all versions of GD that we accept come with gdlib-config. Please also update the README.CONFIGURE accordingly
comment:7 by , 14 years ago
Resolution: | → fixed |
---|---|
Status: | new → closed |
Since the users are used to pass the gd installation path to the configure and that I could easily modify the script to detect gd version 2.0.28, I've not used gdlib-config.
Fixed and committed in r10241.
Does "Tested 5.6" mean that you tested 5.6 and you confirm that the issue is still present in that version (I would not be surprised if that was the case, but would like to get confirmation before we look into this).