bugmldonkey, a multi-networks file-sharing client - Bugs: bug #13480, GD libraries not found on FreeBSD

 
 

You are not allowed to post comments on this tracker with your current authentication level.

bug #13480: GD libraries not found on FreeBSD

Submitter:  None
Submitted:  Mon 20 Jun 2005 12:57:57 PM UTC
   
 
Category:  None Severity:  3 - Normal
Item Group:  Compilation problem Status:  Fixed
Assigned to:  None Open/Closed:  Closed
Release:  2.5.30.16 Release: 
Operating System:  FreeBSD Binaries Origin:  None
CPU type:  Intel x86

Jump to the original submission

Fri 24 Jun 2005 05:20:25 PM UTC, comment #17: 
spiralvoice <spiralvoice>
Group administrator
Fri 24 Jun 2005 01:08:03 PM UTC, comment #16: 

Might another check in configure.in be the source? If you look at:
---
# testing for gd support
LIBPNG=no
AC_CHECK_LIB(png, png_create_read_struct , [LIBPNG=yes])

LIBJPEG=no
AC_CHECK_LIB(jpeg, jpeg_CreateCompress, [LIBJPEG=yes])

LIBGD_GIF=no
AC_CHECK_LIB(gd, gdImageGif,[LIBGD_GIF=yes])

LIBGD_PNG=no
AC_CHECK_LIB(gd, gdImagePng, [LIBGD_PNG=yes])

LIBGD_JPG=no
AC_CHECK_LIB(gd, gdImageJpeg, [LIBGD_JPG=yes])
---
The first check for PNG check PNG read ability it seems (png_create_read_struct), and it sets the variable LIBPNG. Is that variable actually used anywhere? And if it is, without the GD PNG libraries, PNG reading will still succeed. So it probably will try to read a file it cannot write. Hence an error...
So LIBPNG can only be true when LIBGD_PNG is true, and LIBJPEG can only be true when LIBGD_JPG is true.

White_FrosT
Fri 24 Jun 2005 12:13:38 PM UTC, comment #15: 

Anyone has clues what/where I should be looking for to fix this?

White_FrosT
Fri 24 Jun 2005 12:11:26 PM UTC, comment #14: 

I was too quick to judge. Running the .jpg version now: doesn't work.

No .jpg files are created, and also the webinterface (others? don't use them myself) looks for the wrong files, still png:
<table class=bw_stats cellpadding=0 cellspacing=0 align=center><tr><td><img src="bw_updown.png"></td></tr></table><br><table class=bw_stats cellpadding=0 cellspacing=0 align=center><tr><td><img src="bw_h_updown.png"></td></tr></table>

White_FrosT
Fri 24 Jun 2005 12:09:31 AM UTC, comment #13: 

That last line is more clear in a seperate post:

I have added the compile time checks to gdstubs.c, compiles perfectly now. See add_png_check.patch. Didn't have time to check the binairy yet, but I don't expect problems.

White_FrosT
Fri 24 Jun 2005 12:07:33 AM UTC, comment #12: 
  • My config/configure.in now states:

LIBGD_GIF=no
AC_CHECK_LIB(gd, gdImageGif,[LIBGD_GIF=yes])

LIBGD_PNG=no
AC_CHECK_LIB(gd, gdImagePng, [LIBGD_PNG=yes])

LIBGD_JPG=no
AC_CHECK_LIB(gd, gdImageJpeg, [LIBGD_JPG=yes])

  • I have installed libgd with no png support. I guess configure sences it correctly:


checking for png_create_read_struct  in -lpng... yes
checking for jpeg_CreateCompress in -ljpeg... yes
checking for gdImageGif in -lgd... yes
checking for gdImagePng in -lgd... no
checking for gdImageJpeg in -lgd... yes
checking compile with gd... yes

  • But gdstubs still want to link against the png lib (so it seems)


ocamlopt.opt -inline 10 -linkall  -o mlnet       unix.cmxa str.cmxa -ccopt "-L/usr/local/lib -I/usr/local/include" -cclib "-lcharset  /usr/local/lib/libiconv.so -Wl,-rpath -Wl,/usr/local/lib" -cclib -lz -cclib -lgd -cclib -lpng -cclib -ljpeg -cclib -lfreetype -cclib -lm -ccopt -DHAVE_JPEG -ccopt -W -ccopt -Wall -ccopt -Wno-unused -ccopt "-D_THREAD_SAFE -pthread"   -I build    build/cdk.cmxa    build/common.cmxa    build/client.cmxa    build/core.cmxa    build/driver.cmxa    src/daemon/common/commonMain.cmx
src/utils/cdk/gdstubs.o(.text+0x29c): In function `ml_image_open_png':
src/utils/cdk/gdstubs.c:151: undefined reference to `gdImageCreateFromPng'
src/utils/cdk/gdstubs.o(.text+0xa0b): In function `ml_save_png':
src/utils/cdk/gdstubs.c:341: undefined reference to `gdImagePng'
src/utils/cdk/gdstubs.o(.text+0xa9b): In function `ml_dump_png':
src/utils/cdk/gdstubs.c:371: undefined reference to `gdImagePngPtr'
Error during linking
gmake: * [mlnet] Error 2

  • By the way, gif isn't used in gdstubs only png and jpeg. If it isn't used anywhere in the code, then why check for it in configure? I have added the compile time checks to gdstubs.c, compiles perfectly now. See add_png_check.patch. Didn't have time to check the binairy yet, but I don't expect problems.


White_FrosT
Thu 23 Jun 2005 11:45:23 PM UTC, comment #11: 
  • My config/configure.in now states:

LIBGD_GIF=no
AC_CHECK_LIB(gd, gdImageGif,[LIBGD_GIF=yes])

LIBGD_PNG=no
AC_CHECK_LIB(gd, gdImagePng, [LIBGD_PNG=yes])

LIBGD_JPG=no
AC_CHECK_LIB(gd, gdImageJpeg, [LIBGD_JPG=yes])

  • I have installed libgd with no png support. I guess configure sences it correctly:


checking for png_create_read_struct  in -lpng... yes
checking for jpeg_CreateCompress in -ljpeg... yes
checking for gdImageGif in -lgd... yes
checking for gdImagePng in -lgd... no
checking for gdImageJpeg in -lgd... yes
checking compile with gd... yes

  • But gdstubs still want to link against the png lib (so it seems)


ocamlopt.opt -inline 10 -linkall  -o mlnet       unix.cmxa str.cmxa -ccopt "-L/usr/local/lib -I/usr/local/include" -cclib "-lcharset  /usr/local/lib/libiconv.so -Wl,-rpath -Wl,/usr/local/lib" -cclib -lz -cclib -lgd -cclib -lpng -cclib -ljpeg -cclib -lfreetype -cclib -lm -ccopt -DHAVE_JPEG -ccopt -W -ccopt -Wall -ccopt -Wno-unused -ccopt "-D_THREAD_SAFE -pthread"   -I build    build/cdk.cmxa    build/common.cmxa    build/client.cmxa    build/core.cmxa    build/driver.cmxa    src/daemon/common/commonMain.cmx
src/utils/cdk/gdstubs.o(.text+0x29c): In function `ml_image_open_png':
src/utils/cdk/gdstubs.c:151: undefined reference to `gdImageCreateFromPng'
src/utils/cdk/gdstubs.o(.text+0xa0b): In function `ml_save_png':
src/utils/cdk/gdstubs.c:341: undefined reference to `gdImagePng'
src/utils/cdk/gdstubs.o(.text+0xa9b): In function `ml_dump_png':
src/utils/cdk/gdstubs.c:371: undefined reference to `gdImagePngPtr'
Error during linking
gmake: * [mlnet] Error 2


White_FrosT
Thu 23 Jun 2005 04:08:14 PM UTC, comment #10: 

Good one. But of course I now have a libgd with libpng. I will give it a try to revert to the old situation and give it a test.

White_FrosT
Thu 23 Jun 2005 03:55:56 PM UTC, comment #9: 

I committed your patch, yes of course it has to be changed.
Stupid bug though, can you now use MLDonkeys graphs with a
libgd which is compiled without libpng?

spiralvoice <spiralvoice>
Group administrator
Thu 23 Jun 2005 03:20:19 PM UTC, comment #8: 

This has nothing to do with all gd libs not being found when the LDFLAGS variable isn't used... but should this patch be applied?

--- configure.in        Mon Jun 20 20:52:57 2005
+++ ../../mldonkey_old/config/configure.in      Thu Jun 23 17:11:29 2005
@@ -1033,7 +1033,7 @@
 AC_CHECK_LIB(gd, gdImageGif,[LIBGD_GIF=yes])

 LIBGD_PNG=no
-AC_CHECK_LIB(gd, gdImagePng, [LIBGD_JPG=yes])
+AC_CHECK_LIB(gd, gdImagePng, [LIBGD_PNG=yes])

 LIBGD_JPG=no
 AC_CHECK_LIB(gd, gdImageJpeg, [LIBGD_JPG=yes])



Somehow that seems more natural, but I have too little experience with it to know that it is correct.

White_FrosT
Thu 23 Jun 2005 09:07:58 AM UTC, comment #7: 

Nevermind that last post. The problem was in gd afterall. There was no png support compiled in. I updated my ports, reinstalled gd and now it works.

The only extra line I have to add to configure to make it work is:
LDFLAGS="-L/usr/local/lib"

I guess autoconf (AC_CHECK_LIB(gd, gdImagePng, [LIBGD_JPG=yes])) isn't doing it's job properly.

White_FrosT
Thu 23 Jun 2005 07:31:19 AM UTC, comment #6: 

Maybe not yet. It seems the Gd libs are found when using this configure line:
./configure --enable-ocamlver=3 --with-libiconv-prefix=/usr/local/include LDFLAGS="-L/usr/local/lib" CPPFLAGS="-I/usr/local/include"

However, somehow PNG support is not working. The configure script says:
checking for png_create_read_struct  in -lpng... yes
checking for jpeg_CreateCompress in -ljpeg... yes
checking for gdImageGif in -lgd... yes
checking for gdImagePng in -lgd... no
checking for gdImageJpeg in -lgd... yes
checking compile with gd... yes

But appearently, that png support is crucial, because linking fails:
src/utils/cdk/gdstubs.o(.text+0x29c): In function `ml_image_open_png':
src/utils/cdk/gdstubs.c:151: undefined reference to `gdImageCreateFromPng'
src/utils/cdk/gdstubs.o(.text+0xa0b): In function `ml_save_png':
src/utils/cdk/gdstubs.c:341: undefined reference to `gdImagePng'
src/utils/cdk/gdstubs.o(.text+0xa9b): In function `ml_dump_png':
src/utils/cdk/gdstubs.c:371: undefined reference to `gdImagePngPtr'

I traced it down to be a Gd error though. Relevant parts of the Gd configure:
checking for libpng12-config... /usr/local/bin/libpng12-config
checking for libpng-config... /usr/local/bin/libpng-config
checking png.h usability... yes
checking png.h presence... yes
checking for png.h... yes
checking for png_create_read_struct in -lpng12... no
configure: WARNING: libpng is required - see http://www.libpng.org/pub/png/

** Configuration summary for gd 2.0.33:

   Support for PNG library:
   Support for JPEG library:         yes
   Support for Freetype 2.x library: yes
   Support for Fontconfig library:   yes
   Support for Xpm library:          yes
   Support for pthreads:             yes

Maybe it is an idea to use GIF instead of PNG anyway? At least when its found that PNG is not available.

White_FrosT
Mon 20 Jun 2005 07:04:18 PM UTC, comment #5: 

So I can close this bug, yes?

spiralvoice <spiralvoice>
Group administrator
Mon 20 Jun 2005 07:03:52 PM UTC, comment #4: 

I think this makes the difference, from Makefile:

CONFIGURE_ENV+= \
CPPFLAGS="${CPPFLAGS} -I${LOCALBASE}/include" \
LDFLAGS="${LDFLAGS} -L${LOCALBASE}/lib" \
PTHREAD_CFLAGS="${PTHREAD_CFLAGS}" \
PTHREAD_LIBS="${PTHREAD_LIBS}"

spiralvoice <spiralvoice>
Group administrator
Mon 20 Jun 2005 05:46:36 PM UTC, comment #3: 

Very interesting Spiralvoice, didn't know the port was that active.
Tried to figure out where the differences are, but I can't see. I think these are the ./configure options they use:
--disable-gd --with-libiconv-prefix=/usr/local --disable-gui --prefix=/usr/local i386-portbld-freebsd5.4 --enable-ocamlver=3

If I try a configure with these options it doesn't work. Hell, maybe I should forget the static builds and use this port.

Anonymous
Mon 20 Jun 2005 05:06:31 PM UTC, comment #2: 

Try FreeBSD ports version: http://www.freebsd.org/cgi/cvsweb.cgi/ports/net/mldonkey-devel/

There are some settings to include libs in /usr/local which are
not found by default by ./configure

spiralvoice <spiralvoice>
Group administrator
Mon 20 Jun 2005 12:59:38 PM UTC, comment #1: 


> libpng-config --version

1.2.8

> libpng-config --prefix

/usr/local

Anonymous
Mon 20 Jun 2005 12:57:57 PM UTC, original submission:  

I try to compile the 2.5.30.16 CVS on FreeBSD, but the GD libraries aren't found by configure. Here's the output:
checking for png_create_read_struct  in -lpng... no
checking for jpeg_CreateCompress in -ljpeg... no
checking for gdImageGif in -lgd... no
checking for gdImagePng in -lgd... no
checking for gdImageJpeg in -lgd... no
checking compile with gd... you need to install libpng
no

I just installed gd with png support too.

Anonymous

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attached Files
file #3120:  add_png_check.patch added by White_FrosT (1KiB - application/octet-stream - Add compile time check for PNG lib availability)

 

Depends on the following items: None found

Items that depend on this one: None found

 

CC list is empty

 

There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.

 

Follow 5 latest changes.

Date Changed by Updated Field Previous Value => Replaced by
2005-06-24 spiralvoice StatusReady For Test Fixed
    Open/ClosedOpen Closed
2005-06-24 spiralvoice StatusWont Fix Ready For Test
2005-06-24 White_FrosT Attached File- Added add_png_check.patch, #2628
2005-06-20 spiralvoice StatusNone Wont Fix

Back to the top

Powered by Savane 3.13-02a9.
Corresponding source code