[freetds] Trouble With Configure and Make on HP-UX 11.31 ia64

James K. Lowden jklowden at freetds.org
Wed Jun 12 22:59:16 EDT 2013

On Thu, 13 Jun 2013 00:35:34 +0000
Wes Crews <wes.crews at nexlevelit.com> wrote:

> 	ld: Unknown input file type: "../../dblib/.libs/libsybdb.so"
> 	Fatal error.
> The first error I sent was when the CPFLAGS and CFLAGS variables were
> set to "+DD32".  I tried again with them set to "+DD64" and the error
> was as follows:
> 	ld: Mismatched ABI for -lxnet,
>     found /usr/lib/hpux32/libxnet.so 
>     Fatal error.

(I did ask for the command line, not just the error message.  I did
that so we could see your inputs and relate them to the message.) 

I don't know what +DD64 does.  You'll have to look over your system
documentation again to make sure you're linking and compiling for the
same binary format.  

I would guess in the first case you somehow compiled fisql for 32 bit
and libsybdb for 64 bit.  (This could happen if you changed compile/link
options and re-ran make without first running "make clean".)  The linker
doesn't recognize the library as a library of any kind ("Unknown input
file type"), probably because such files didn't exist when the linker
was written.  

In the second case it looks like you compiled for 64 and tried to link
to the 32-bit libraries.  There are two clues: the "hpux32" directory
name, and the "mismatched ABI" error suggests the (newer) 64-bit linker
recognizes, but can't use, the (older) 32-bit library.  

I have found it helpful in such situations to be very judicious setting
CPPFLAGS, CFLAGS, and LDFLAGS, taking care that no option appears in
more than one variable.  To do that requires reading the documentation
carefully, in which process the right questions arise and incorrect
settings are purged.  



More information about the FreeTDS mailing list