Skip to Content.
Sympa Menu

freetds - Re: [freetds] freeTDS configure works but make doesn't

freetds AT lists.ibiblio.org

Subject: FreeTDS Development Group

List archive

Chronological Thread  
  • From: "Vann, David" <dvann2 AT valleyhealthlink.com>
  • To: FreeTDS Development Group <freetds AT lists.ibiblio.org>
  • Subject: Re: [freetds] freeTDS configure works but make doesn't
  • Date: Tue, 14 May 2013 16:13:04 +0000

Problem solved.

I thought for sure I had configured with LIB path settings, but this is what
was needed. I used both LIBPATH and LD_LIBRARY_PATH. I think AIX uses
LIBPATH

export OBJECT_MODE=64
export CFLAGS=-maix64
export LIBPATH=/usr/local/lib
export LD_LIBRARY_PATH=/usr/local/lib
./configure --prefix=/usr/local --with-unixodbc=/usr/local --with-tdsver=8.0
--enable-msdblib 2>&1 | tee configure.log

After that the make worked.

-----Original Message-----
From: freetds-bounces AT lists.ibiblio.org
[mailto:freetds-bounces AT lists.ibiblio.org] On Behalf Of James K. Lowden
Sent: Sunday, May 12, 2013 4:22 PM
To: freetds AT lists.ibiblio.org
Subject: Re: [freetds] freeTDS configure works but make doesn't

On Thu, 9 May 2013 13:13:40 +0000
"Vann, David" <dvann2 AT valleyhealthlink.com> wrote:

> libtool: link: /usr/local/TDS/freetds-0.91/compile gcc -D_THREAD_SAFE
> -maix64 -W declaration-after-statement -o .libs/fisql fisql.o
> terminal.o edit.o handlers.o interrupt.o -L/usr/local/lib
> -L../../dblib/.libs -lsybdb ../../replacements/.libs/libreplacements.a
> -liconv -lcurses -lreadline -lpthreads
> -Wl,-blibpath:/usr/local/lib:/usr/lib:/lib
>
> ld: 0711-317 ERROR: Undefined symbol: .dbcoltype
> ld: 0711-317 ERROR: Undefined symbol: .dbcollen
> ld: 0711-317 ERROR: Undefined symbol: .dbcolname
> ld: 0711-317 ERROR: Undefined symbol: .dbdead
> ld: 0711-317 ERROR: Undefined symbol: .dbinit
> ld: 0711-317 ERROR: Undefined symbol: .dblogin

fisql uses db-lib, and these are db-lib symbols. You are correctly linking
to libsybdb; that's what "-lsybdb" does. However, the linker is not finding
that library, or (unlikely) the library it does find doesn't export those
symbols.

I would use the AIX equivalent of nm(1) to examine
../../dblib/.libs/libsybdb.a (if that's what it's called) to make sure e.g.
dbinit is defined as a public symbol. Potentially there's a 32-bit version
in /usr/local/lib that's hiding the 64-bit version in your build tree. That
would explain why you can build the 32-bit version.

I'm not sure why -L/usr/local/lib appears first among the -L options.
ISTM it shouldn't be there at all, because fisql should be linked to the
library in the build tree that will be installed when fisql is installed.

HTH.

--jkl
_______________________________________________
FreeTDS mailing list
FreeTDS AT lists.ibiblio.org
http://lists.ibiblio.org/mailman/listinfo/freetds




Archive powered by MHonArc 2.6.24.

Top of Page