ID: 47812 Comment by: oeriksson at mandriva dot com Reported By: oeriksson at mandriva dot com Status: Assigned Bug Type: GD related Operating System: Mandriva Linux PHP Version: 5.3.0RC1 Assigned To: pajoye New Comment:
The PHP devs should try harder to not bundle common libraries and instead push private changes upstream (IMHO). Previous Comments: ------------------------------------------------------------------------ [2009-03-27 19:49:27] paj...@php.net You should really not use the system libgd, especially not on the following systems: - debian - RHEL - Centos The problem still has to be fixed tho' :) ------------------------------------------------------------------------ [2009-03-27 19:45:31] oeriksson at mandriva dot com I described it in "Description:" :-) Here's a proposed fix: --- ext/gd/gd.c 2009-01-31 16:27:52.000000000 +0100 +++ ext/gd/gd.c.oden 2009-03-27 20:27:14.000000000 +0100 @@ -55,6 +55,15 @@ #if HAVE_LIBGD +#ifdef HAVE_GD_PNG +/* needs to be first */ +# include <png.h> +#endif + +#ifdef HAVE_GD_JPG +# include <jpeglib.h> +#endif + static int le_gd, le_gd_font; #if HAVE_LIBT1 #include <t1lib.h> @@ -1293,8 +1302,13 @@ PHP_MINFO_FUNCTION(gd) #endif #ifdef HAVE_GD_JPG { +#if HAVE_GD_BUNDLED char tmp[12]; snprintf(tmp, sizeof(tmp), "%d", gdJpegGetVersionInt()); +#else + char tmp[256]; + snprintf(tmp, sizeof(tmp), "%d", JPEG_LIB_VERSION); +#endif php_info_print_table_row(2, "JPG Support", "enabled"); php_info_print_table_row(2, "libJPEG Version", tmp); } @@ -1302,7 +1316,11 @@ PHP_MINFO_FUNCTION(gd) #ifdef HAVE_GD_PNG php_info_print_table_row(2, "PNG Support", "enabled"); +#if HAVE_GD_BUNDLED php_info_print_table_row(2, "libPNG Version", gdPngGetVersionString()); +#else + php_info_print_table_row(2, "libPNG Version", PNG_LIBPNG_VER_STRING); +#endif #endif #ifdef HAVE_GD_WBMP php_info_print_table_row(2, "WBMP Support", "enabled"); ------------------------------------------------------------------------ [2009-03-27 19:36:56] der...@php.net Are you using the bundled libgd, or an external one? ------------------------------------------------------------------------ [2009-03-27 19:16:37] oeriksson at mandriva dot com Description: ------------ I get an unresolved symbol when linking against system libgd. Reproduce code: --------------- Just running php-cli Expected result: ---------------- Should work. Actual result: -------------- PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib64/php/extensions/gd.so' - /usr/lib64/php/extensions/gd.so: undefined symbol: gdJpegGetVersionInt in Unknown on line 0 ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=47812&edit=1