Skip to Content.
Sympa Menu

freetds - [freetds] FreeTDS 0.82 Tests on Solaris - libiconv Undefined Symbols

freetds AT lists.ibiblio.org

Subject: FreeTDS Development Group

List archive

Chronological Thread  
  • From: "Richard Head Jr." <hsomob1999 AT yahoo.com>
  • To: freetds AT lists.ibiblio.org
  • Subject: [freetds] FreeTDS 0.82 Tests on Solaris - libiconv Undefined Symbols
  • Date: Mon, 26 Jul 2010 17:43:48 -0700 (PDT)

I saw a similar problem here:
https://lists.ibiblio.org/sympa/arc/freetds/2009q1/024229.html


In my case, libiconv is resolved but config.log shows there are other issues:

configure:11602: checking how to link with libiconv
configure:11604: result: -liconv
configure:11615: checking for iconv declaration
configure:11649: gcc -c -g -O2 -D_FREETDS_LIBRARY_SOURCE conftest.c >&5
conftest.c:32: error: conflicting types for `libiconv'
/usr/local/include/iconv.h:83: error: previous declaration of `libiconv'
configure:11655: $? = 1
configure: failed program was:
| /* confdefs.h. */
|
| #define PACKAGE_NAME "FreeTDS"
| #define PACKAGE_TARNAME "freetds"
| #define PACKAGE_VERSION "0.82"
| #define PACKAGE_STRING "FreeTDS 0.82"
| #define PACKAGE_BUGREPORT ""
| #define PACKAGE "freetds"
| #define VERSION "0.82"
| #define _GNU_SOURCE 1
| #define _FILE_OFFSET_BITS 64
| #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_UNISTD_H 1
| #define HAVE_DLFCN_H 1
| #define HAVE_ICONV 1
| /* end confdefs.h. */
|
| #include <stdlib.h>
| #include <iconv.h>
| extern
| #ifdef __cplusplus
| "C"
| #endif
| #if defined(__STDC__) || defined(__cplusplus)
| size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char *
*outbuf, size_t *outbytesleft);
| #else
| size_t iconv();
| #endif
|
| int
| main ()
| {
|
| ;
| return 0;
| }
configure:11683: result:
extern size_t iconv (iconv_t cd, const char * *inbuf, size_t
*inbytesleft, char * *outbuf, size_t *outbytesleft);


Here's the test output:

Making check in include
make[1]: Entering directory `/mounts/sysadm/mss/usr/src/freetds-0.82/include'
echo '#define FREETDS_SYSCONFDIR "/mounts/sysadm/mss/etc"'
>freetds_sysconfdir.h
make[1]: Leaving directory `/mounts/sysadm/mss/usr/src/freetds-0.82/include'
Making check in src
make[1]: Entering directory `/mounts/sysadm/mss/usr/src/freetds-0.82/src'
Making check in replacements
make[2]: Entering directory
`/mounts/sysadm/mss/usr/src/freetds-0.82/src/replacements'
if /bin/bash ../../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I.
-I. -I../../include -I../../include -D_FREETDS_LIBRARY_SOURCE -D_REENTRANT
-D_THREAD_SAFE -DDEBUG=1 -Wall -Wstrict-prototypes -Wmissing-prototypes
-Wno-long-long -D_REENTRANT -pthreads -g -O2 -MT asprintf.lo -MD -MP -MF
".deps/asprintf.Tpo" -c -o asprintf.lo asprintf.c; \
then mv -f ".deps/asprintf.Tpo" ".deps/asprintf.Plo"; else rm -f
".deps/asprintf.Tpo"; exit 1; fi
gcc -DHAVE_CONFIG_H -I. -I. -I../../include -I../../include
-D_FREETDS_LIBRARY_SOURCE -D_REENTRANT -D_THREAD_SAFE -DDEBUG=1 -Wall
-Wstrict-prototypes -Wmissing-prototypes -Wno-long-long -D_REENTRANT
-pthreads -g -O2 -MT asprintf.lo -MD -MP -MF .deps/asprintf.Tpo -c asprintf.c
-fPIC -DPIC -o .libs/asprintf.o
gcc -DHAVE_CONFIG_H -I. -I. -I../../include -I../../include
-D_FREETDS_LIBRARY_SOURCE -D_REENTRANT -D_THREAD_SAFE -DDEBUG=1 -Wall
-Wstrict-prototypes -Wmissing-prototypes -Wno-long-long -D_REENTRANT
-pthreads -g -O2 -MT asprintf.lo -MD -MP -MF .deps/asprintf.Tpo -c asprintf.c
-o asprintf.o >/dev/null 2>&1
if /bin/bash ../../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I.
-I. -I../../include -I../../include -D_FREETDS_LIBRARY_SOURCE -D_REENTRANT
-D_THREAD_SAFE -DDEBUG=1 -Wall -Wstrict-prototypes -Wmissing-prototypes
-Wno-long-long -D_REENTRANT -pthreads -g -O2 -MT vasprintf.lo -MD -MP -MF
".deps/vasprintf.Tpo" -c -o vasprintf.lo vasprintf.c; \
then mv -f ".deps/vasprintf.Tpo" ".deps/vasprintf.Plo"; else rm -f
".deps/vasprintf.Tpo"; exit 1; fi
gcc -DHAVE_CONFIG_H -I. -I. -I../../include -I../../include
-D_FREETDS_LIBRARY_SOURCE -D_REENTRANT -D_THREAD_SAFE -DDEBUG=1 -Wall
-Wstrict-prototypes -Wmissing-prototypes -Wno-long-long -D_REENTRANT
-pthreads -g -O2 -MT vasprintf.lo -MD -MP -MF .deps/vasprintf.Tpo -c
vasprintf.c -fPIC -DPIC -o .libs/vasprintf.o
gcc -DHAVE_CONFIG_H -I. -I. -I../../include -I../../include
-D_FREETDS_LIBRARY_SOURCE -D_REENTRANT -D_THREAD_SAFE -DDEBUG=1 -Wall
-Wstrict-prototypes -Wmissing-prototypes -Wno-long-long -D_REENTRANT
-pthreads -g -O2 -MT vasprintf.lo -MD -MP -MF .deps/vasprintf.Tpo -c
vasprintf.c -o vasprintf.o >/dev/null 2>&1
/bin/bash ../../libtool --tag=CC --mode=link gcc -D_REENTRANT -pthreads -g
-O2 -o libreplacements.la iconv.lo gettimeofday.lo asprintf.lo
vasprintf.lo readpassphrase.lo
rm -fr .libs/libreplacements.a .libs/libreplacements.la
ar cru .libs/libreplacements.a .libs/iconv.o .libs/gettimeofday.o
.libs/asprintf.o .libs/vasprintf.o .libs/readpassphrase.o
ranlib .libs/libreplacements.a
creating libreplacements.la
(cd .libs && rm -f libreplacements.la && ln -s ../libreplacements.la
libreplacements.la)
make[2]: Leaving directory
`/mounts/sysadm/mss/usr/src/freetds-0.82/src/replacements'
Making check in tds
make[2]: Entering directory `/mounts/sysadm/mss/usr/src/freetds-0.82/src/tds'
make check-recursive
make[3]: Entering directory `/mounts/sysadm/mss/usr/src/freetds-0.82/src/tds'
Making check in unittests
make[4]: Entering directory
`/mounts/sysadm/mss/usr/src/freetds-0.82/src/tds/unittests'
make t0001 t0002 t0003 t0004 t0005 t0006 t0007 t0008 dynamic1 convert
dataread utf8_1 utf8_2 utf8_3 numeric iconv_fread
make[5]: Entering directory
`/mounts/sysadm/mss/usr/src/freetds-0.82/src/tds/unittests'
if gcc -DHAVE_CONFIG_H -I. -I. -I../../../include -I../../../include -I./..
-I../ -D_FREETDS_LIBRARY_SOURCE -D_REENTRANT -D_THREAD_SAFE -DDEBUG=1 -Wall
-Wstrict-prototypes -Wmissing-prototypes -Wno-long-long -D_REENTRANT
-pthreads -g -O2 -MT t0001.o -MD -MP -MF ".deps/t0001.Tpo" -c -o t0001.o
t0001.c; \
then mv -f ".deps/t0001.Tpo" ".deps/t0001.Po"; else rm -f ".deps/t0001.Tpo";
exit 1; fi
In file included from common.h:22,
from t0001.c:19:
../../../include/tds.h:1422: warning: `struct in_addr' declared inside
parameter list
../../../include/tds.h:1422: warning: its scope is only this definition or
declaration, which is probably not what you want
../../../include/tds.h:1422: warning: parameter has incomplete type
if gcc -DHAVE_CONFIG_H -I. -I. -I../../../include -I../../../include -I./..
-I../ -D_FREETDS_LIBRARY_SOURCE -D_REENTRANT -D_THREAD_SAFE -DDEBUG=1 -Wall
-Wstrict-prototypes -Wmissing-prototypes -Wno-long-long -D_REENTRANT
-pthreads -g -O2 -MT common.o -MD -MP -MF ".deps/common.Tpo" -c -o common.o
common.c; \
then mv -f ".deps/common.Tpo" ".deps/common.Po"; else rm -f
".deps/common.Tpo"; exit 1; fi
In file included from common.h:22,
from common.c:1:
../../../include/tds.h:1422: warning: `struct in_addr' declared inside
parameter list
../../../include/tds.h:1422: warning: its scope is only this definition or
declaration, which is probably not what you want
../../../include/tds.h:1422: warning: parameter has incomplete type
/bin/bash ../../../libtool --tag=CC --mode=link gcc -D_REENTRANT -pthreads -g
-O2 -no-install -o t0001 t0001.o common.o ../libtds.la
../../replacements/libreplacements.la -lnsl -lsocket
gcc -D_REENTRANT -pthreads -g -O2 -o t0001 t0001.o common.o
../.libs/libtds.a ../../replacements/.libs/libreplacements.a -lnsl -lsocket
Undefined first referenced
symbol in file
libiconv_close ../.libs/libtds.a(iconv.o)
libiconv_open ../.libs/libtds.a(iconv.o)
libiconv ../.libs/libtds.a(iconv.o)
ld: fatal: Symbol referencing errors. No output written to t0001
collect2: ld returned 1 exit status
make[5]: *** [t0001] Error 1
make[5]: Leaving directory
`/mounts/sysadm/mss/usr/src/freetds-0.82/src/tds/unittests'
make[4]: *** [check-am] Error 2
make[4]: Leaving directory
`/mounts/sysadm/mss/usr/src/freetds-0.82/src/tds/unittests'
make[3]: *** [check-recursive] Error 1
make[3]: Leaving directory `/mounts/sysadm/mss/usr/src/freetds-0.82/src/tds'
make[2]: *** [check] Error 2
make[2]: Leaving directory `/mounts/sysadm/mss/usr/src/freetds-0.82/src/tds'
make[1]: *** [check-recursive] Error 1
make[1]: Leaving directory `/mounts/sysadm/mss/usr/src/freetds-0.82/src'
make: *** [check-recursive] Error 1








Archive powered by MHonArc 2.6.24.

Top of Page