Operating System - Linux
1748195 Members
2670 Online
108759 Solutions
New Discussion юеВ

Re: DBD:Informix installed error for Perl

 
SOLVED
Go to solution
Steven_181
Advisor

DBD:Informix installed error for Perl

I have the following successfully installed:

-HP-UX 11.23 ia64 (itanium machine)
-4GL 7.32 FC3
-IDS 9.40 FC7
-SDK 2.81 FC3 with ESQL/C 9x
-Perl 5.8.3 default on /opt/perl
-Apache 1.3.31
-DBI 1.50
-HP C/ANSI compiler
-GCC 4.10 compiler

We need to connect to Informix from Perl.

During the installation of DBD-Informix for 2003.04. I encounter the following error:

LD_RUN_PATH="" /usr/bin/ld -b +vnocompatwarnings -L/usr/lib/hpux32 Informix.o dbdimp.o dbdattr.o sqltoken.o sqltype.o ixblob.o decsci.o odbctype.o link.o esqlcver.o esqlc_v6.o -L/apps/informix94/lib -L/apps/informix94/lib/esql -lifsql -lifasf -lifgen -lifos -lifgls -ldl -lm -lsec -lelf /apps/informix94/lib/esql/checkapi.o -lifglx -o blib/arch/auto/DBD/Informix/Informix.so ld: Can't find library or mismatched ABI for -lifsql Fatal error.

*** Error exit code 1

Kindly advice.

Steven
21 REPLIES 21
Arunvijai_4
Honored Contributor

Re: DBD:Informix installed error for Perl

Hi Steven,

You need to make sure you compile for 32 bit or 64 bit and use corresponding libraries to link.

-Arun
"A ship in the harbor is safe, but that is not what ships are built for"
Ralph Grothe
Honored Contributor

Re: DBD:Informix installed error for Perl

Yes, if libifsql is in your LD_LIBRARY_PATH it sound as if you are trying to link 32bit and 64bit objects, I would assume.
Madness, thy name is system administration
Steven_181
Advisor

Re: DBD:Informix installed error for Perl

I am new to this. Could you advice what should I do.

What are the steps to overcome the errors?

Thanks
Arunvijai_4
Honored Contributor

Re: DBD:Informix installed error for Perl

Hi,

Edit your LF_RUN_PATH to add full to 32 or 64 bit lifsl. I am not sure which bit you are compiling. Find out full path using find command, # find . -name "libifsql"

-Arun
"A ship in the harbor is safe, but that is not what ships are built for"
H.Merijn Brand (procura
Honored Contributor

Re: DBD:Informix installed error for Perl

Small typo in that post :)
LF_RUN_PATH => LD_RUN_PATH

but that aside.

Check 1: is your informix 32bit or 64bit?

I bet it is 64bit, as the error from DBD::Informix hints me towards the fact that you are using a 32bit perl:
LD_RUN_PATH="" /usr/bin/ld -b +vnocompatwarnings -L/usr/lib/hpux32 Informix.o db

Check 2: As I now assume that you have a 64bit Informix, you will *need* a 64bit perl to go with it. 32bit and 64bit don't mix
So you have to check your install and see if you have both perl/32 and perl/64, and where you have them available
If you only have perl/32, you will have to install perl/64. If you also have perl64, you only have to change your $PATH, and restart the DBD::Informix stuff (assuming that perl/64 already includes DBI

Enjoy, Have FUN! H.Merijn
Enjoy, Have FUN! H.Merijn
Steve Lewis
Honored Contributor

Re: DBD:Informix installed error for Perl

Yes it is definitely 64 bit informix, thats what the FCx sub-version denotes.
Steven_181
Advisor

Re: DBD:Informix installed error for Perl

Thanks.

Yes. The informix is 64bits. And there are 2 perl (32+64) installed in the HP 11.23 by default. This is very confusing.

I have make my PATH to point to /opt/perl_64 and also ln -s /opt/perl_64/bin/perl perl in /usr/bin.

Now the perl is 64 bits.

This have solved the DBI and DBD problem.

Now I recompile my Apache mod_perl again
due to changing to 64 bits perl.

It was successful compile with the libperl.so create.

But when I start the Apache, it give me an error as follows. Did I miss something?

/usr/lib/hpux32/dld.so: Unsatisfied code symbol '__divsi3' in load module '/apps/apache/libexec/libproxy.so'.
Syntax error on line 230 of /apps/apache/conf/httpd.conf:
Cannot load /apps/apache/libexec/libproxy.so into server: Unresolved external
./apachectl start: httpd could not be started

Any help is greatly appreciated.
Arunvijai_4
Honored Contributor

Re: DBD:Informix installed error for Perl

Hi Steven,


/usr/lib/hpux32/dld.so: Unsatisfied code symbol '__divsi3' in load module '/apps/apache/libexec/libproxy.so'.
Syntax error on line 230 of /apps/apache/conf/httpd.conf:
Cannot load /apps/apache/libexec/libproxy.so into server: Unresolved external
./apachectl start: httpd could not be started

You should have Apache 64 bit since you built mod_perl in 64. A note of caution: Executables and Binaries should always have mode matching (32 or 64).

Also, try to assign points.

-Arun
"A ship in the harbor is safe, but that is not what ships are built for"
H.Merijn Brand (procura
Honored Contributor

Re: DBD:Informix installed error for Perl

> /usr/lib/hpux32/dld.so: Unsatisfied code symbol '__divsi3' in load module '/apps/apache/libexec/libproxy.so'.

All those mod3, div3, ***3 calls can be found in libgcc

Make Apachy and/or mod_perl force link with libgcc.a and the problem will most likely disappear

Enjoy, Have FUN! H.Merijn
Enjoy, Have FUN! H.Merijn