3 Replies Latest reply: Dec 6, 2012 8:07 AM by Kgronau-Oracle RSS

    make on freetds fails

    880492
      I run the below:

      CC=cc
      export CC
      CFLAGS="-m64 -xchip=ultra3 -xO3 -Xa -xstrconst -dalign -xF"
      LDFLAGS="-m64"
      ac_cv_sizeof_long=8
      export LDFLAGS CFLAGS ac_cv_sizeof_long


      ./configure prefix=/usr/local/freetds with-tdsver=8.0 --with-unixodbc=/usr/local/

      but on make it fails

      Undefined first referenced
      symbol in file
      libiconv_close ../tds/.libs/libtds.a(iconv.o)
      libiconv_open ../tds/.libs/libtds.a(iconv.o)
      libiconv ../tds/.libs/libtds.a(iconv.o)
      ld: warning: Symbol referencing errors
      libtool: link: rm -f .libs/libtdsodbc.so.0.0.0.exp
      libtool: link: (cd ".libs" && rm -f "libtdsodbc.so.0" && ln -s "libtdsodbc.so.0.0.0" "libtdsodbc.so.0")
      libtool: link: (cd ".libs" && rm -f "libtdsodbc.so" && ln -s "libtdsodbc.so.0.0.0" "libtdsodbc.so")
      libtool: link: (cd .libs/libtdsodbc.lax/libtds.a && ar x "/export/home/applmgr/ODBC/TDS/freetds-0.91/src/odbc/../tds/.libs/libtds.a")
      libtool: link: (cd .libs/libtdsodbc.lax/libreplacements.a && ar x "/export/home/applmgr/ODBC/TDS/freetds-0.91/src/odbc/../replacements/.libs/libreplacements.a")
      copying selected object files to avoid basename conflicts...
      libtool: link: ln .libs/libtdsodbc.lax/libreplacements.a/iconv.o .libs/libtdsodbc.lax/lt1-iconv.o || cp .libs/libtdsodbc.lax/libreplacements.a/iconv.o .libs/libtdsodbc.lax/lt1-iconv.o
      libtool: link: ar cru .libs/libtdsodbc.a odbc.o connectparams.o convert_tds2sql.o descriptor.o prepare_query.o odbc_util.o native.o sql2tds.o error.o odbc_checks.o sqlwchar.o .libs/libtdsodbc.lax/libtds.a/read.o .libs/libtdsodbc.lax/libtds.a/login.o .libs/libtdsodbc.lax/libtds.a/convert.o .libs/libtdsodbc.lax/libtds.a/win_mutex.o .libs/libtdsodbc.lax/libtds.a/token.o .libs/libtdsodbc.lax/libtds.a/iconv.o .libs/libtdsodbc.lax/libtds.a/net.o .libs/libtdsodbc.lax/libtds.a/query.o .libs/libtdsodbc.lax/libtds.a/gssapi.o .libs/libtdsodbc.lax/libtds.a/hmac_md5.o .libs/libtdsodbc.lax/libtds.a/getmac.o .libs/libtdsodbc.lax/libtds.a/mem.o .libs/libtdsodbc.lax/libtds.a/vstrbuild.o .libs/libtdsodbc.lax/libtds.a/des.o .libs/libtdsodbc.lax/libtds.a/numeric.o .libs/libtdsodbc.lax/libtds.a/challenge.o .libs/libtdsodbc.lax/libtds.a/write.o .libs/libtdsodbc.lax/libtds.a/threadsafe.o .libs/libtdsodbc.lax/libtds.a/md5.o .libs/libtdsodbc.lax/libtds.a/data.o .libs/libtdsodbc.lax/libtds.a/bulk.o .libs/libtdsodbc.lax/libtds.a/tds_checks.o .libs/libtdsodbc.lax/libtds.a/locale.o .libs/libtdsodbc.lax/libtds.a/md4.o .libs/libtdsodbc.lax/libtds.a/log.o .libs/libtdsodbc.lax/libtds.a/config.o .libs/libtdsodbc.lax/libtds.a/util.o .libs/libtdsodbc.lax/libtds.a/tdsstring.o .libs/libtdsodbc.lax/libreplacements.a/readpassphrase.o .libs/libtdsodbc.lax/libreplacements.a/gettimeofday.o .libs/libtdsodbc.lax/libreplacements.a/asprintf.o .libs/libtdsodbc.lax/lt1-iconv.o .libs/libtdsodbc.lax/libreplacements.a/fakepoll.o .libs/libtdsodbc.lax/libreplacements.a/vasprintf.o
      libtool: link: ranlib .libs/libtdsodbc.a
      libtool: link: rm -fr .libs/libtdsodbc.lax .libs/libtdsodbc.lax
      libtool: link: ( cd ".libs" && rm -f "libtdsodbc.la" && ln -s "../libtdsodbc.la" "libtdsodbc.la" )
      Making all in apps
      Making all in fisql
      source='fisql.c' object='fisql.o' libtool=no \
      DEPDIR=.deps depmode=none /bin/bash ../../../depcomp \
      cc -DHAVE_CONFIG_H -I. -I../../../include -I../../../include -DSIZEOF_LONG_INT=8 -D_FREETDS_LIBRARY_SOURCE -DUNIXODBC -DHAVE_UNISTD_H -DHAVE_PWD_H -DHAVE_SYS_TYPES_H -DHAVE_LONG_LONG -DSIZEOF_LONG_INT=8 -I/usr/local/include -D_REENTRANT -D_THREAD_SAFE -DDEBUG=1 -D_REENTRANT -m64 -xchip=ultra3 -xO3 -Xa -xstrconst -dalign -xF -c fisql.c
      "fisql.c", line 667: warning: argument #2 is incompatible with prototype:
      prototype: pointer to function(pointer to void) returning int : "../../../include/sybdb.h", line 778
      argument : pointer to void
      "fisql.c", line 667: warning: argument #3 is incompatible with prototype:
      prototype: pointer to function(pointer to void) returning int : "../../../include/sybdb.h", line 778
      argument : pointer to void
      "fisql.c", line 807: warning: statement not reached
      source='terminal.c' object='terminal.o' libtool=no \
      DEPDIR=.deps depmode=none /bin/bash ../../../depcomp \
      cc -DHAVE_CONFIG_H -I. -I../../../include -I../../../include -DSIZEOF_LONG_INT=8 -D_FREETDS_LIBRARY_SOURCE -DUNIXODBC -DHAVE_UNISTD_H -DHAVE_PWD_H -DHAVE_SYS_TYPES_H -DHAVE_LONG_LONG -DSIZEOF_LONG_INT=8 -I/usr/local/include -D_REENTRANT -D_THREAD_SAFE -DDEBUG=1 -D_REENTRANT -m64 -xchip=ultra3 -xO3 -Xa -xstrconst -dalign -xF -c terminal.c
      source='edit.c' object='edit.o' libtool=no \
      DEPDIR=.deps depmode=none /bin/bash ../../../depcomp \
      cc -DHAVE_CONFIG_H -I. -I../../../include -I../../../include -DSIZEOF_LONG_INT=8 -D_FREETDS_LIBRARY_SOURCE -DUNIXODBC -DHAVE_UNISTD_H -DHAVE_PWD_H -DHAVE_SYS_TYPES_H -DHAVE_LONG_LONG -DSIZEOF_LONG_INT=8 -I/usr/local/include -D_REENTRANT -D_THREAD_SAFE -DDEBUG=1 -D_REENTRANT -m64 -xchip=ultra3 -xO3 -Xa -xstrconst -dalign -xF -c edit.c
      source='handlers.c' object='handlers.o' libtool=no \
      DEPDIR=.deps depmode=none /bin/bash ../../../depcomp \
      cc -DHAVE_CONFIG_H -I. -I../../../include -I../../../include -DSIZEOF_LONG_INT=8 -D_FREETDS_LIBRARY_SOURCE -DUNIXODBC -DHAVE_UNISTD_H -DHAVE_PWD_H -DHAVE_SYS_TYPES_H -DHAVE_LONG_LONG -DSIZEOF_LONG_INT=8 -I/usr/local/include -D_REENTRANT -D_THREAD_SAFE -DDEBUG=1 -D_REENTRANT -m64 -xchip=ultra3 -xO3 -Xa -xstrconst -dalign -xF -c handlers.c
      source='interrupt.c' object='interrupt.o' libtool=no \
      DEPDIR=.deps depmode=none /bin/bash ../../../depcomp \
      cc -DHAVE_CONFIG_H -I. -I../../../include -I../../../include -DSIZEOF_LONG_INT=8 -D_FREETDS_LIBRARY_SOURCE -DUNIXODBC -DHAVE_UNISTD_H -DHAVE_PWD_H -DHAVE_SYS_TYPES_H -DHAVE_LONG_LONG -DSIZEOF_LONG_INT=8 -I/usr/local/include -D_REENTRANT -D_THREAD_SAFE -DDEBUG=1 -D_REENTRANT -m64 -xchip=ultra3 -xO3 -Xa -xstrconst -dalign -xF -c interrupt.c
      /bin/bash ../../../libtool tag=CC    mode=link cc -D_REENTRANT -m64 -xchip=ultra3 -xO3 -Xa -xstrconst -dalign -xF -m64 -L/usr/local/lib -o fisql fisql.o terminal.o edit.o handlers.o interrupt.o ../../dblib/libsybdb.la ../../replacements/libreplacements.la -lnsl -lsocket -lpthread
      libtool: link: cc -D_REENTRANT -m64 -xchip=ultra3 -xO3 -Xa -xstrconst -dalign -xF -m64 -o .libs/fisql fisql.o terminal.o edit.o handlers.o interrupt.o -L/usr/local/lib ../../dblib/.libs/libsybdb.so ../../replacements/.libs/libreplacements.a -lnsl -lsocket -lpthread -R/usr/local/freetds/lib
      Undefined first referenced
      symbol in file
      libiconv_close ../../dblib/.libs/libsybdb.so
      libiconv_open ../../dblib/.libs/libsybdb.so
      libiconv ../../dblib/.libs/libsybdb.so
      ld: fatal: Symbol referencing errors. No output written to .libs/fisql
      *** Error code 2
      make: Fatal error: Command failed for target `fisql'
      Current working directory /export/home/applmgr/ODBC/TDS/freetds-0.91/src/apps/fisql
      *** Error code 1
      The following command caused the error:
      fail= failcom='exit 1'; \
      for f in x $MAKEFLAGS; do \
      case $f in \
      *=* | --[!k]*);; \
      k) failcom='fail=yes';; \
      esac; \
      done; \
      dot_seen=no; \
      target=`echo all-recursive | sed s/-recursive//`; \
      list='fisql'; for subdir in $list; do \
      echo "Making $target in $subdir"; \
      if test "$subdir" = "."; then \
      dot_seen=yes; \
      local_target="$target-am"; \
      else \
      local_target="$target"; \
      fi; \
      (CDPATH="${ZSH_VERSION+.}:" && cd $subdir && make $local_target) \
      || eval $failcom; \
      done; \
      if test "$dot_seen" = "no"; then \
      make "$target-am" || exit 1; \
      fi; test -z "$fail"
      make: Fatal error: Command failed for target `all-recursive'
      Current working directory /export/home/applmgr/ODBC/TDS/freetds-0.91/src/apps
      *** Error code 1
      The following command caused the error:
      fail= failcom='exit 1'; \
      for f in x $MAKEFLAGS; do \
      case $f in \
      *=* | --[!k]*);; \
      k) failcom='fail=yes';; \
      esac; \
      done; \
      dot_seen=no; \
      target=`echo all-recursive | sed s/-recursive//`; \
      list='replacements tds ctlib dblib odbc apps server pool'; for subdir in $list; do \
      echo "Making $target in $subdir"; \
      if test "$subdir" = "."; then \
      dot_seen=yes; \
      local_target="$target-am"; \
      else \
      local_target="$target"; \
      fi; \
      (CDPATH="${ZSH_VERSION+.}:" && cd $subdir && make $local_target) \
      || eval $failcom; \
      done; \
      if test "$dot_seen" = "no"; then \
      make "$target-am" || exit 1; \
      fi; test -z "$fail"
      make: Fatal error: Command failed for target `all-recursive'
      Current working directory /export/home/applmgr/ODBC/TDS/freetds-0.91/src
      *** Error code 1
      The following command caused the error:
      fail= failcom='exit 1'; \
      for f in x $MAKEFLAGS; do \
      case $f in \
      *=* | --[!k]*);; \
      k) failcom='fail=yes';; \
      esac; \
      done; \
      dot_seen=no; \
      target=`echo all-recursive | sed s/-recursive//`; \
      list='include src doc samples win32 vms'; for subdir in $list; do \
      echo "Making $target in $subdir"; \
      if test "$subdir" = "."; then \
      dot_seen=yes; \
      local_target="$target-am"; \
      else \
      local_target="$target"; \
      fi; \
      (CDPATH="${ZSH_VERSION+.}:" && cd $subdir && make $local_target) \
      || eval $failcom; \
      done; \
      if test "$dot_seen" = "no"; then \
      make "$target-am" || exit 1; \
      fi; test -z "$fail"
      make: Fatal error: Command failed for target `all-recursive'
      root@adnerpdb #
        • 1. Re: make on freetds fails
          Kgronau-Oracle
          this Forum aissts you with configuration of working ODBC connections from Oracle to foreign databases. When you have an issue building the foreign ODBC driver we could try to assist you when you provide more details which FreeTDS version you're going to compile on which platform, but it is always a better idea to check out the vendor's forums to get faster and better assistance.
          • 2. Re: make on freetds fails
            880492
            hi kgronau.

            The free tds is version freetds-0.91. compiling it in solaries 10, 64 bit
            • 3. Re: make on freetds fails
              Kgronau-Oracle
              When I try to compile the FreeTDS ODBC driver on a Solaris machine I first make sure that unixODBC is also installed, then I use these commands:
              CPPFLAGS="-DSIZEOF_LONG_INT=8"
              export CPPFLAGS
              CFLAGS="-DBUILD_REAL_64_BIT_MODE"
              export CFLAGS

              ./configure prefix=/u01/odbc64/product/FreeTDS/0.91 with-unixodbc=/u01/odbc64/product/unixODBC/ enable-msdblib with-tdsver=8.0

              make
              sudo make install

              => and it works on my Solaris box.