Hi all In preparation for the new gd-2.0.21 release I routinely tried a *rebuild* of the current gd-2.0.15 release with my current environment (everything updated to the latest releases). I noticed a difference between the original build and the new one in that iconv support is not recognized anymore.
See below for a diff between the two configure runs: --- gd-2.0.15-1-CONFIGURE.LOG 2003-11-11 20:04:35.949428800 +0100 +++ F:\gnu\src\gd-2.0.15-1-CONFIGURE.LOG 2004-02-04 13:10:42.047576000 +0100 @@ -4,7 +4,7 @@ checking for gawk... gawk checking whether make sets $(MAKE)... yes checking for gcc... gcc -checking for C compiler default output... a.exe +checking for C compiler default output file name... a.exe checking whether the C compiler works... yes checking whether we are cross compiling... no checking for suffix of executables... .exe @@ -14,7 +14,11 @@ checking for gcc option to accept ANSI C... none needed checking for style of include used by make... GNU checking dependency style of gcc... gcc3 -checking for gcc option to accept ANSI C... none needed +checking for gcc... (cached) gcc +checking whether we are using the GNU C compiler... (cached) yes +checking whether gcc accepts -g... (cached) yes +checking for gcc option to accept ANSI C... (cached) none needed +checking dependency style of gcc... (cached) gcc3 checking for a BSD-compatible install... /usr/bin/install -c checking build system type... i686-pc-cygwin checking host system type... i686-pc-cygwin @@ -106,10 +110,7 @@ checking for ld used by GCC... /usr/bin/ld checking if the linker (/usr/bin/ld) is GNU ld... yes checking for shared library run path origin... done -checking for iconv... yes -checking how to link with libiconv... -liconv -checking for iconv declaration... - extern size_t iconv (iconv_t cd, const char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft); +checking for iconv... no, consider installing GNU libiconv checking iconv.h usability... yes checking iconv.h presence... yes checking for iconv.h... yes Here the excerpt from the configure log why it's failing to recognize iconv support: configure:21055: gcc -o conftest.exe -g -O2 -I/usr/X11R6/include -L/usr/local/lib -L/usr/X11R6/lib conftest.c -liconv >&5 /tmp/ccorfm4k.o(.text+0x38): In function `main': /usr/local/src/gd-2.0.15/.build/conftest.c:37: undefined reference to `_iconv_open' /tmp/ccorfm4k.o(.text+0x62):/usr/local/src/gd-2.0.15/.build/conftest.c:38: undefined reference to `_iconv' /tmp/ccorfm4k.o(.text+0x6a):/usr/local/src/gd-2.0.15/.build/conftest.c:39: undefined reference to `_iconv_close' collect2: ld returned 1 exit status configure:21061: $? = 1 configure: failed program was: | /* confdefs.h. */ | | #define PACKAGE_NAME "GD" | #define PACKAGE_TARNAME "gd" | #define PACKAGE_VERSION "2.0.15" | #define PACKAGE_STRING "GD 2.0.15" | #define PACKAGE_BUGREPORT "[EMAIL PROTECTED]" | #define PACKAGE "gd" | #define VERSION "2.0.15" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_DLFCN_H 1 | #ifdef __cplusplus | extern "C" void std::exit (int) throw (); using std::exit; | #endif | #define STDC_HEADERS 1 | #define HAVE_ERRNO_H 1 | #define HAVE_LIMITS_H 1 | #define HAVE_STDDEF_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_UNISTD_H 1 | /* end confdefs.h. */ | #include <stdlib.h> | #include <iconv.h> | int | main () | { | iconv_t cd = iconv_open("",""); | iconv(cd,NULL,NULL,NULL,NULL); | iconv_close(cd); | ; | return 0; | } configure:21089: result: no, consider installing GNU libiconv Grepping for the above mentioned symbols in /usr/lib/libiconv.dll.a gives: nm --demangle --defined-only libiconv.dll.a | grep iconv 00000000 I cygiconv_2_dll_iname 00000000 I _head_cygiconv_2_dll 00000000 I _imp__libiconvlist 00000000 T libiconvlist 00000000 I _imp__libiconvctl 00000000 T libiconvctl 00000000 I _imp__libiconv_set_relocation_prefix 00000000 T libiconv_set_relocation_prefix 00000000 I _imp__libiconv_relocate 00000000 T libiconv_relocate 00000000 I _imp__libiconv_open 00000000 T libiconv_open 00000000 I _imp__libiconv_close 00000000 T libiconv_close 00000000 I _imp__libiconv 00000000 T libiconv 00000000 I _imp___libiconv_version 00000000 I _nm___libiconv_version Now I'm wondering how the iconv support in the original build could *EVER* be detected ? because these symbols do not seem to be defined in the library. By the way the same problem exists when trying to build TeXmacs (see the discussion on cygwin-apps). The discussion there reminds me that I used gcc-3.2-3 for my original build whereas now I have gcc-3.3.1-3 Is this a know issue ? Does anybody has any clue what's going on here. Ciao Volker -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/