This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

iconv support not detected by configure when using gcc-3.3.1-3


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 "gd@boutell.com"
| #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/


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]