Re: freeTDS configure works but make doesn't
"Vann, David" <[email protected]>
| Newsgroups | gmane.comp.db.tds.freetds |
|---|---|
| Message-ID | <9F5004AC76612B4AB26CA57F4A4C48083B5401BA@ExchMail4.ds.valleyhealthlink.com> |
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: [email protected] [mailto:[email protected]] On Behalf Of James K. Lowden Sent: Sunday, May 12, 2013 4:22 PM To: [email protected] Subject: Re: [freetds] freeTDS configure works but make doesn't On Thu, 9 May 2013 13:13:40 +0000 "Vann, David" <[email protected]> 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 [email protected] http://lists.ibiblio.org/mailman/listinfo/freetds