Delaporte, Olivier wrote:
Here is the set-up:
DBD-Informix-2003.04
INFORMIX-ESQL Version 9.30.HC1 or ClientSDK 2.40
HP-UX 11.11 64 bit
Gcc 3.3.3
Perl -V: Compiler:
cc='gcc', ccflags ='-D_POSIX_C_SOURCE=199506L -D_REENTRANT
-D_HPUX_SOURCE -fPIC -mpa-risc-1-1 -fno-strict-aliasing -D_LARGEFILE_SOURCE
-D_FILE_OFFSET_BITS=64',
optimize='-O',
cppflags='-D_HPUX_SOURCE -D_POSIX_C_SOURCE=199506L -D_REENTRANT
-D_HPUX_SOURCE -fPIC -mpa-risc-1-1 -fno-strict-aliasing'
I get a failure during the make step:
LD_RUN_PATH="" INFORMIXC='/opt/perl/bin/perl esqlld' ESQLLD='gcc
-shared -static-libgcc -fPIC' esql -shared -static-libgcc -fPIC Informix.o
dbdimp.o dbdattr.o sqltoken.o sqltype.o ixblob.o decsci.o odbctype.o link.o
esqlcver.o esqlc_v6.o -o blib/arch/auto/DBD/Informix/Informix.sl
/usr/ccs/bin/ld: Invalid loader fixup in text space needed in output file
for symbol "$0000006A" in input file:
"/apps11/informix/lib/esql/libifgen.a(rmsg.o)". Make sure it was compiled
with +z/+Z.
collect2: ld returned 1 exit status
*** Error exit code 1

[..immediate reaction...]


IIRC, the +z option is related to shared libraries, which in turn is related to position-independent code - PIC. The GCC option is probably -fPIC or -fpic.

[...looks at the message...there's lots of evidence of -fPIC...]

Hmmm; why is that picking up libifgen.a (a static, non-shared library). You may need to go dinking with:

DBD_INFORMIX_ESQLC_LINKAGE=-shared

in the environment. Information about environment variables is in DBD-Informix-2003.04/Notes/environment.variables. If that doesn't cure it, then you are going to need to look hard at the esql script, and probably at esqlld via DBD_INFORMIX_DEBUG_ESQLLD. CSDK 2.40 is quite old. I seem to remember that some versions of ESQL/C on HP-UX do static linking by default, even though every other platform does shared linking. I think the linkage environment should fix that up; but you need to be sure that the libraries being linked into the DBD::Informix shared object are themselves shared libraries - .sl - and not static.


--
Jonathan Leffler ([EMAIL PROTECTED], [EMAIL PROTECTED]) #include <disclaimer.h>
Guardian of DBD::Informix v2003.04 -- http://dbi.perl.org/


Reply via email to