Operating System - HP-UX
1752564 Members
4469 Online
108788 Solutions
New Discussion юеВ

Re: DBD install - ld: Mismatched ABI for -lclntsh

 
SOLVED
Go to solution
Bry_1
New Member

DBD install - ld: Mismatched ABI for -lclntsh

Hi guys,

Sorry for the trouble. I am having difficulty getting DBD install on server. Server is HP-UX 11.31. running Oracle client 11. Got the following error below. Hope you guys can give me some direction. Very much thanks

cc -c -I/u01/dbclient/oracle/product/11.1.0/client_1/rdbms/public -I/u01/dbclient/oracle/product/11.1.0/client_1/rdbms/demo -I/u01/dbclient/oracle/product/11.1.0/client_1/rdbms/public -I/u01/dbclient/oracle/product/11.1.0/client_1/plsql/public -I/u01/dbclient/oracle/product/11.1.0/client_1/network/public -I/opt/perl_32/lib/site_perl/5.8.8/IA64.ARCHREV_0-thread-multi/auto/DBI -D_POSIX_C_SOURCE=199506L -D_REENTRANT -Ae -D_HPUX_SOURCE -Wl,+vnocompatwarnings +DSitanium2 +Z -DUSE_SITECUSTOMIZE -DNO_HASH_SEED -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -fast +Ofltacc=strict -DVERSION=\"1.23\" -DXS_VERSION=\"1.23\" +Z "-I/opt/perl_32/lib/5.8.8/IA64.ARCHREV_0-thread-multi/CORE" -DUTF8_SUPPORT -DNEW_OCI_INIT -DORA_OCI_VERSION=\"11.1.0.6\" oci8.c

"oci8.c", line 396: warning #2236-D: controlling expression is constant
&& OCIErrorGet_log_stat(errhp, recno, (text*)NULL, &eg_errcode, errbuf,
^

Running Mkbootstrap for DBD::Oracle ()
chmod 644 Oracle.bs
rm -f blib/arch/auto/DBD/Oracle/Oracle.so
LD_RUN_PATH="/u01/dbclient/oracle/product/11.1.0/client_1/lib:/usr/lib/hpux32" /usr/bin/ld -b +vnocompatwarnings -L/usr/lib/hpux32 Oracle.o dbdimp.o oci8.o -o blib/arch/auto/DBD/Oracle/Oracle.so \
-L/u01/dbclient/oracle/product/11.1.0/client_1/lib/ -lclntsh -ldl -lm -lpthread -lnsl -lunwind -ldl -lm -lpthread -lrt -lpthread \

ld: Mismatched ABI for -lclntsh, found /u01/dbclient/oracle/product/11.1.0/client_1/lib//libclntsh.so
Fatal error.
*** Error exit code 1

Stop.
7 REPLIES 7
Dennis Handly
Acclaimed Contributor

Re: DBD install - ld: Mismatched ABI for -lclntsh

You have a 32 bit oci8.o. Have you checked the other objects with file(1)?
Is /u01/dbclient/oracle/product/11.1.0/client_1/lib//libclntsh.so 32 bit or 64 bit?
Bry_1
New Member

Re: DBD install - ld: Mismatched ABI for -lclntsh

Hi Dennis,

Thanks for reply. Oracle client is 64 bit.

oci8.o is in DBD install dir. Should it matter?
James R. Ferguson
Acclaimed Contributor

Re: DBD install - ld: Mismatched ABI for -lclntsh

Hi:

If you Oracle client is a 64-bit one, then you need to use a 64-bit Perl too.

As for the linker error, this is telling you that you are trying mix 32-bit and 64-bit objects at link time. This is illegal.

Regards!

...JRF...
Dennis Handly
Acclaimed Contributor

Re: DBD install - ld: Mismatched ABI for -lclntsh

>Oracle client is 64 bit. oci8.o is in DBD install dir. Should it matter?

Then you need to build your application with +DD64. Your oci8.o was not compiled with that option.
Bry_1
New Member

Re: DBD install - ld: Mismatched ABI for -lclntsh

Hi Guys,

How can I change perl to 64bit?

I assume oci8.c in DBD install directory is 32 bit.

Sorry for noob question.
James R. Ferguson
Acclaimed Contributor
Solution

Re: DBD install - ld: Mismatched ABI for -lclntsh

Hi (again) Bry:

> How can I change perl to 64bit?

# rm /opt/perl
# ln -s /opt/perl_64 /opt/perl

I assume that your '/usr/bin/perl' is a symbolic link to '/opt/perl/bin/perl'. This is the usual setup when installing Perl from HP. In that case, the above commands will establish the 64-bit Perl as the default.

Regards!

...JRF...
Bry_1
New Member

Re: DBD install - ld: Mismatched ABI for -lclntsh

cool. It works now. Thanks for this guys