Re: DBD::Informix -- Failure with make test
[email protected] (Julie Bouillon)
| Newsgroups | perl.dbi.users |
|---|---|
| Message-ID | <[email protected]> |
Hello Jonathan, Thanks for taking some of your time to answer me. I really appreciate that. On 07/21/2010 04:21 PM, Jonathan Leffler wrote: > Sorry for the slow response... > > On Tue, Jul 20, 2010 at 3:28 AM, Julie Bouillon <[email protected] > <mailto:[email protected]>> wrote: > > > > Hello all, > > > > I'm trying to build DBD::Informix on AIX but when I'm executing a > make test, it fails at every test with an unresolved symbol error > (ifx_checkAPI). > > This comes from checkapi.o - or should do. > > What's puzzling is that the 'library' list correctly includes the > object file. > > ... We are going to use the library list: > -lifsql -lifasf -lifgen -lifos -lifgls -ltli -lc_r -lmsaa -lbsd -ldl > -lm_r /opt/informix/11.50/lib/esql/checkapi.o -lifglx At least this is the list returned by esql: [julie@luchda06] /home/julie/reperl/DBD-Informix-2008.0513> esql -libs -lifsql -lifasf -lifgen -lifos -lifgls -ltli -lc_r -lmsaa -lbsd -ldl -lm_r /opt/informix/11.50/lib/esql/checkapi.o -lifglx [julie@luchda06] /home/julie/reperl/DBD-Informix-2008.0513> > > And the library build command includes the object file: > > ld -b64 -bhalt:4 -G > -bI:/usr/opt/perl5_64/lib/5.12.0/aix-thread-multi-64all/CORE/perl.exp > -bE:Informix.exp -bnoentry -lpthreads -lc -lm Informix.o dbdimp.o > dbdattr.o sqltoken.o sqltype.o ixblob.o odbctype.o kludge.o link.o > esqlcver.o esqlc_v6.o -L/opt/informix/11.50/lib > -L/opt/informix/11.50/lib/esql -lifsql -lifasf -lifgen -lifos -lifgls > -ltli -lc_r -lmsaa -lbsd -ldl -lm_r > /opt/informix/11.50/lib/esql/checkapi.o -lifglx -o > blib/arch/auto/DBD/Informix/Informix.so > > It can't readily be something weird like 'the checkapi.o file does not > contain ifx_checkAPI' because the test program compiled and ran. checkapi.o seems to be correct: [julie@luchda06] /home/julie/reperl/DBD-Informix-2008.0513> nm -X64 /opt/informix/11.50/lib/esql/checkapi.o t 0 120 .ifx_checkAPI T 0 TOC d 120 checkapi.c f - ifx_checkAPI D 128 24 ifx_checkAPI d 120 8 [julie@luchda06] /home/julie/reperl/DBD-Informix-2008.0513> > > I would take a look at the output of: > > file dbdimp.o /opt/informix/11.50/lib/esql/checkapi.o Here it is: [julie@luchda06] /home/julie/reperl/DBD-Informix-2008.0513> file dbdimp.o /opt/informix/11.50/lib/esql/checkapi.o dbdimp.o: 64-bit XCOFF executable or object module not stripped /opt/informix/11.50/lib/esql/checkapi.o: 64-bit XCOFF executable or object module not stripped [julie@luchda06] /home/julie/reperl/DBD-Informix-2008.0513> > > If the types quoted are not the same, that may account for some of the > problem. > > Thank you for the thorough and detailed report - it does help cut down > the possible problems. > > For example, I can see that your Perl was built with the latest XLC > compiler - I can confidently assert that the CSDK you are using was > not. There is seldom a problem because of that - not least because we > know the test program worked. The first time I encountered this problem, I had XLC at level 6 something. After checking inside checkapi.o, I was able to determine that the compiler used was XLC version 7.0.0.8, as you can see: [julie@luchda06] /home/julie/reperl/DBD-Informix-2008.0513> od -c /opt/informix/11.50/lib/esql/checkapi.o 0000000 001 367 \0 003 K ' u 177 \0 \0 \0 \0 \0 \0 002 212 0000020 \0 \0 \0 \0 \0 \0 \0 016 . t e x t \0 \0 \0 ------8<------ 0001640 9 : 4 3 2 0 0 9 \0 I B M X 0001660 L C E n t e r p r i s e E 0001700 d i t i o n f o r A I X , 0001720 V e r s i o n 7 . 0 . 0 . 8 ------>8------ I then upgraded XLC to the same exact level but still had the problem and finally upgraded to the latest version of XLC. With each upgrade of the compiler I recompiled everything from scratch (Perl, and others module). > > So, why isn't the ifx_checkAPI() function found in the library when it > is in the object file linked into the library? That is puzzling! After reading the complete man page of ld, I checked the content of Informix.so and the ifx_checkAPI is indeed not there: [julie@luchda06] /home/julie/reperl/DBD-Informix-2008.0513> nm -X64 ./blib/arch/auto/DBD/Informix/Informix.so | grep API [julie@luchda06] /home/julie/reperl/DBD-Informix-2008.0513> nm -X64 ./blib/arch/auto/DBD/Informix/Informix.so | grep -i check .Perl_Iunitcheckav_ptr T 83208 .Perl_Iunitcheckav_ptr t 83208 40 .dbd_ix_db_check_for_autocommit t 54816 Perl_Iunitcheckav_ptr U - Perl_Iunitcheckav_ptr d 23592 8 [julie@luchda06] /home/julie/reperl/DBD-Informix-2008.0513> Since the man page of ld talked about "garbage collection" (but not being sure what that means exactly), I tried the following: [julie@luchda06] /home/julie/reperl/DBD-Informix-2008.0513> ld -bkeepfile:/opt/informix/11.50/lib/esql/checkapi.o -b64 -bhalt:4 -G -bI:/usr/opt/perl5_64/lib/5.12.0/aix-thread-multi-64all/CORE/perl.exp -bE:Informix.exp -bnoentry -lpthreads -lc -lm Informix.o dbdimp.o dbdattr.o sqltoken.o sqltype.o ixblob.o odbctype.o kludge.o link.o esqlcver.o esqlc_v6.o -L/opt/informix/11.50/lib -L/opt/informix/11.50/lib/esql -lifsql -lifasf -lifgen -lifos -lifgls -ltli -lc_r -lmsaa -lbsd -ldl -lm_r /opt/informix/11.50/lib/esql/checkapi.o -lifglx -o blib/arch/auto/DBD/Informix/Informix.so [julie@luchda06] /home/julie/reperl/DBD-Informix-2008.0513> And now I can find the ifx_checkAPI inside Informix.so: [julie@luchda06] /home/julie/reperl/DBD-Informix-2008.0513> nm -X64 ./blib/arch/auto/DBD/Informix/Informix.so | grep API .ifx_checkAPI T 98928 ifx_checkAPI D 22456 24 [julie@luchda06] /home/julie/reperl/DBD-Informix-2008.0513> Unfortunatelly, I still have the symbol not found error: [julie@luchda06] /home/julie/reperl/DBD-Informix-2008.0513> nm -X64 ./blib/arch/auto/DBD/Informix/Informix.so | grep API .ifx_checkAPI T 98928 ifx_checkAPI D 22456 24 [julie@luchda06] /home/julie/reperl/DBD-Informix-2008.0513> make test PERL_DL_NONLAZY=1 /usr/opt/perl5_64/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib/lib', 'blib/arch')" t/t00basic.t t/t01stproc.t t/t02ixtype.t t/t05dbase.t t/t07dblist.t t/t08fork.t t/t09date.t t/t10sqlca.t t/t12bindval.t t/t13bindref.t t/t14bindcol.t t/t15bindtyp.t t/t20error.t t/t21mconn.t t/t22mconn.t t/t23mconn.t t/t24mcurs.t t/t25dratt.t t/t28dtlit.t t/t29update.t t/t30update.t t/t31nulls.t t/t32nulls.t t/t33holdcurs.t t/t35cursor.t t/t40rows.t t/t41txacoff.t t/t42txacon.t t/t43trans.t t/t44txansi.t t/t46chpblk.t t/t50update.t t/t51getinfo.t t/t53types.t t/t54native.t t/t55mdata.t t/t56tabinfo.t t/t57tables.t t/t58typeinfoall.t t/t60unlog.t t/t61varchar.t t/t65updcur.t t/t66insert.t t/t72blob.t t/t73blobupd.t t/t74blob.t t/t75blob.t t/t76blob.t t/t77varchar.t t/t78varchar.t t/t90ius.t t/t91udts.t t/t92rows.t t/t93lvarchar.t t/t94bool.t t/t95int8.t t/t98pod.t t/t99clean.t t/t00basic.t ........ install_driver(Informix) failed: Can't load '/home/julie/reperl/DBD-Informix-2008.0513/blib/arch/auto/DBD/Informix/Informix.so' for module DBD::Informix: rtld: 0712-001 Symbol ifx_checkAPI was referenced from module /opt/informix/11.50/lib/esql/libifsql.so(), but a runtime definition of the symbol was not found. rtld: 0712-001 Symbol ifx_checkAPI was referenced from module /opt/informix/11.50/lib/esql/libifgen.so(), but a runtime definition of the symbol was not found. rtld: 0712-001 Symbol ifx_checkAPI was referenced ------8<------ That is even more puzzling! Looks like a ld problem, so I checked the ld version used: [julie@luchda06] /home/julie/reperl/DBD-Informix-2008.0513> lslpp -l bos.rte.bind_cmds Fileset Level State Description ---------------------------------------------------------------------------- Path: /usr/lib/objrepos bos.rte.bind_cmds 5.3.12.0 COMMITTED Binder and Loader Commands [julie@luchda06] /home/julie/reperl/DBD-Informix-2008.0513> /usr/ccs/bin/ld -V /usr/ccs/bin/ld: LD 1.65.2.6 (2/24/09) [julie@luchda06] /home/julie/reperl/DBD-Informix-2008.0513> Until now, I haven't found something similar problem on Google but I'm still searching. If you have any clue on this, be my guest ;-) Once again, thanks for your time. Julie > > > Any help on that would be greatly appreciated, I'm banging my head > on the wall with this problem... > > > > The details are below. > > > > Thanks in advance. > > > > > > Julie > > > > > > *** Informix / ESQL Version *** > > > > [julie@luchda06] /home/julie/reperl/DBD-Informix-2008.0513> esql -V > > IBM Informix CSDK Version 3.50, IBM Informix-ESQL Version 3.50.FC6 > Software Serial Number AAA#B000000 > > [julie@luchda06] /home/julie/reperl/DBD-Informix-2008.0513> > > > > [informix-11.50-luchda07] /export/informix $ dbaccess -V > > DB-Access Version 11.50.FC6WE Software Serial Number AAA#B000000 > > [informix-11.50-luchda07] /export/informix $ > > > > [informix-11.50-luchda07] /export/informix $ onstat -V > > IBM Informix Dynamic Server Version 11.50.FC6WE Software Serial > Number AAA#B000000 > > [informix-11.50-luchda07] /export/informix $ > > > > > > > > *** Content of the sqlhosts file *** > > > > inf1 olsoctcp luchda07.xxx.xxx sqlturbo > > inf1_shm olipcshm luchda07.xxx.xxx srv_agent > > > > > > *** Perl version *** > > > > [julie@luchda06] /home/julie/reperl/DBD-Informix-2008.0513> perl -V > > Summary of my perl5 (revision 5 version 12 subversion 0) configuration: > > > > Platform: > > osname=aix, osvers=5.3.0.0, archname=aix-thread-multi-64all > > uname='aix luchda06 3 5 000a97d8d600 ' > > config_args='-d -Dcc=cc_r -Duseshrplib -Dusethreads -Duse64bitall > -Dprefix=/usr/opt/perl5_64' > > hint=recommended, useposix=true, d_sigaction=define > > useithreads=define, usemultiplicity=define > > useperlio=define, d_sfio=undef, uselargefiles=define, usesocks=undef > > use64bitint=define, use64bitall=define, uselongdouble=undef > > usemymalloc=n, bincompat5005=undef > > Compiler: > > cc='cc_r -q64', ccflags ='-D_ALL_SOURCE -D_ANSI_C_SOURCE > -D_POSIX_SOURCE -qmaxmem=-1 -qnoansialias -DUSE_NATIVE_DLOPEN > -DNEED_PTHREAD_INIT -q64 -DUSE_64_BIT_ALL -q64', > > optimize='-O', > > cppflags='-D_ALL_SOURCE -D_ANSI_C_SOURCE -D_POSIX_SOURCE > -qmaxmem=-1 -qnoansialias -DUSE_NATIVE_DLOPEN -DNEED_PTHREAD_INIT' > > ccversion='11.1.0.0', gccversion='', gccosandvers='' > > intsize=4, longsize=8, ptrsize=8, doublesize=8, byteorder=87654321 > > d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=8 > > ivtype='long', ivsize=8, nvtype='double', nvsize=8, > Off_t='off_t', lseeksize=8 > > alignbytes=8, prototype=define > > Linker and Libraries: > > ld='ld', ldflags ='-brtl -bdynamic -b64' > > libpth=/lib /usr/lib /usr/ccs/lib > > libs=-lbind -lnsl -ldbm -ldl -lld -lm -lcrypt -lpthreads -lc > > perllibs=-lbind -lnsl -ldl -lld -lm -lcrypt -lpthreads -lc > > libc=, so=a, useshrplib=true, libperl=libperl.a > > gnulibc_version='' > > Dynamic Linking: > > dlsrc=dl_aix.xs, dlext=so, d_dlsymun=undef, ccdlflags=' > -bE:/usr/opt/perl5_64/lib/5.12.0/aix-thread-multi-64all/CORE/perl.exp' > > cccdlflags=' ', lddlflags='-b64 -bhalt:4 -G > -bI:$(PERL_INC)/perl.exp -bE:$(BASEEXT).exp -bnoentry -lpthreads -lc -lm' > > > > > > Characteristics of this binary (from libperl): > > Compile-time options: MULTIPLICITY PERL_DONT_CREATE_GVSV > > PERL_IMPLICIT_CONTEXT PERL_MALLOC_WRAP > USE_64_BIT_ALL > > USE_64_BIT_INT USE_ITHREADS USE_LARGE_FILES > > USE_PERLIO USE_PERL_ATOF USE_REENTRANT_API > > Built under aix > > Compiled at Jul 19 2010 15:29:08 > > @INC: > > /usr/opt/perl5_64/lib/site_perl/5.12.0/aix-thread-multi-64all > > /usr/opt/perl5_64/lib/site_perl/5.12.0 > > /usr/opt/perl5_64/lib/5.12.0/aix-thread-multi-64all > > /usr/opt/perl5_64/lib/5.12.0 > > . > > [julie@luchda06] /home/julie/reperl/DBD-Informix-2008.0513> > > > > > > *** Complete sorted dump of the environment *** > > > > [julie@luchda06] /home/julie/reperl/DBD-Informix-2008.0513> env | sort > > AUTHSTATE=files > > A__z=! LOGNAME > > HOME=/home/julie > > INFORMIXDIR=/opt/informix/11.50 > > INFORMIXSERVER=inf1 > > INFORMIXSQLHOSTS=/opt/informix/11.50/etc/sqlhosts.inf1 > > LANG=C > > LC__FASTMSG=true > > LOCPATH=/usr/lib/nls/loc > > LOGIN=julie > > LOGNAME=julie > > MAIL=/usr/spool/mail/julie > > MAILMSG=[YOU HAVE NEW MAIL] > > NLSPATH=/usr/lib/nls/msg/%L/%N:/usr/lib/nls/msg/%L/%N.cat > > ODMDIR=/etc/objrepos > > > PATH=/opt/informix/11.50/bin:/usr/opt/perl5_64/bin:/usr/vac/bin:/usr/bin:/etc:/usr/sbin:/usr/ucb:/home/julie/bin:/usr/bin/X11:/sbin:. > > PS1=[julie@luchda06] $PWD> > > PWD=/home/julie/reperl/DBD-Informix-2008.0513 > > SHELL=/usr/bin/ksh > > TERM=vt100 > > THREADLIB=DCE > > TZ=NFT-1DFT,M3.5.0,M10.5.0 > > USER=julie > > _=/usr/bin/env > > [julie@luchda06] /home/julie/reperl/DBD-Informix-2008.0513> > > > > > > *** Log of the complete build *** > > > > [julie@luchda06] /home/julie/reperl> rm -rf DBD-Informix-2008.0513 > > [julie@luchda06] /home/julie/reperl> gzip -cd > DBD-Informix-2008.0513.tar.gz | tar xf - > > [julie@luchda06] /home/julie/reperl> cd DBD-Informix-2008.0513 > > [julie@luchda06] /home/julie/reperl/DBD-Informix-2008.0513> perl > Makefile.PL > > *** ExtUtils::AutoInstall version 0.63 > > *** Checking for dependencies... > > [Core Features] > > - DBI ...loaded. (1.611>= 1.38) > > [High Resolution Timing] > > - Time::HiRes ...loaded. (1.9719) > > [POD Format Testing] > > - Test::Pod ...loaded. (1.44) > > *** ExtUtils::AutoInstall configuration finished. > > > > Configuring IBM Informix Database Driver for Perl DBI Version > 2008.0513 (2008-05-13) (aka DBD::Informix) > > You are using DBI version 1.611 and Perl version 5.012000 > > Remember to actually read the README file! > > > > Perl: perl v5.012000 aix-thread-multi-64all dl_aix.xs > > System: aix luchda06 3 5 000a97d8d600 > > Using INFORMIXDIR=/opt/informix/11.50 and ESQL/C compiler esql > > Using IBM Informix CSDK Version 3.50, IBM Informix-ESQL Version > 3.50.FC6 from /opt/informix/11.50 > > > > Beware: DBD::Informix is not yet aware of all the new IUS data types. > > > > Assert macro will be disabled! > > > > lib/DBD/Informix/Defaults.pm written OK > > esqlinfo.h written OK > > > > Classically, on AIX (only) it has been necessary to define > > -D__H_LOCALEDEF on the command line to avoid the problem with > > loc_t being defined in both ESQL/C header locator.h and the AIX > > system header localedef31.h. Some newer versions of CSDK may > > require this define to be absent. The configuration has just > > added the define, so if you get compilation errors related to > > loc_t, reconfigure with $DBD_INFORMIX_AIX_NO_LOCALEDEF set to 1 > > in your environment. This should suppress the -D__H_LOCALEDEF > > and allow things to work OK. If you use this, and especially > > if neither mechanism works, please let the maintenance team > > know all the details, especially the version of CSDK. > > Testing whether your Informix test environment will work... > > ESQLTEST Program Running: > > @(#)$Id: esqltest.ec <http://esqltest.ec>,v 2008.1 2008/05/13 > 23:13:10 jleffler Exp $ > > $INFORMIXDIR is set to '/opt/informix/11.50'. > > $INFORMIXSERVER is set to 'inf1'. > > $DBI_DBNAME unset - defaulting to 'stores'. > > $DBD_INFORMIX_DATABASE unset - defaulting to 'stores'. > > $DBD_INFORMIX_DATABASE2 unset - defaulting to 'stores'. > > $DBD_INFORMIX_USERNAME is unset. > > $DBD_INFORMIX_USERNAME2 is unset. > > $DBD_INFORMIX_PASSWORD is unset. > > $DBD_INFORMIX_PASSWORD2 is unset. > > Testing connection to stores > > CONNECT TO 'stores' - no user info > > Testing concurrent connection to stores > > CONNECT TO 'stores' - no user info > > Your Informix environment is (probably) OK > > > > Fortunately, you are using a new version of ESQL/C. We could > > use 'esql -libs' to tell us which libraries to use, except that > > some versions of the esql script are very Clintonian and do not > > tell us the whole truth. So we have to do a fiddly workaround, > > editing the esql script on the fly and feeding the edited > > version to the shell and ... Oh, you really don't want to know > > what we do; it's horrid but it works, usually! > > ... We are going to use the library list: > > -lifsql -lifasf -lifgen -lifos -lifgls -ltli -lc_r -lmsaa -lbsd -ldl > -lm_r /opt/informix/11.50/lib/esql/checkapi.o -lifglx > > > > Checking if your kit is complete... > > Looks good > > Using DBI 1.611 (for perl 5.012000 on aix-thread-multi-64all) > installed in > /usr/opt/perl5_64/lib/site_perl/5.12.0/aix-thread-multi-64all/auto/DBI/ > > Writing Makefile for DBD::Informix > > [julie@luchda06] /home/julie/reperl/DBD-Informix-2008.0513> make > > cp lib/DBD/Informix/Summary.pm blib/lib/DBD/Informix/Summary.pm > > cp lib/DBD/Informix/TechSupport.pm blib/lib/DBD/Informix/TechSupport.pm > > cp lib/DBD/Informix/GetInfo.pm blib/lib/DBD/Informix/GetInfo.pm > > cp lib/Bundle/DBD/Informix.pm blib/lib/Bundle/DBD/Informix.pm > > cp lib/DBD/Informix/Configure.pm blib/lib/DBD/Informix/Configure.pm > > cp Informix.pm blib/lib/DBD/Informix.pm > > cp lib/DBD/Informix/TestHarness.pm blib/lib/DBD/Informix/TestHarness.pm > > cp lib/DBD/Informix/TypeInfo.pm blib/lib/DBD/Informix/TypeInfo.pm > > cp lib/DBD/Informix/Defaults.pm blib/lib/DBD/Informix/Defaults.pm > > cp lib/DBD/Informix/Metadata.pm blib/lib/DBD/Informix/Metadata.pm > > /usr/opt/perl5_64/bin/perl -e 'use ExtUtils::Mksymlists; > Mksymlists("NAME" => "DBD::Informix", "DL_FUNCS" => { }, > "FUNCLIST" => [], "DL_VARS" => []);' > > /usr/opt/perl5_64/bin/perl -p -e "s/~DRIVER~/Informix/g" > /usr/opt/perl5_64/lib/site_perl/5.12.0/aix-thread-multi-64all/auto/DBI/Driver.xst> > Informix.xsi > > /usr/opt/perl5_64/bin/perl > /usr/opt/perl5_64/lib/5.12.0/ExtUtils/xsubpp -typemap > /usr/opt/perl5_64/lib/5.12.0/ExtUtils/typemap Informix.xs> > Informix.xsc&& mv Informix.xsc Informix.c > > cc_r -q64 -c -I/opt/informix/11.50/incl/esql > -I/usr/opt/perl5_64/lib/5.12.0/aix-thread-multi-64all/auto/DBI > -I/usr/opt/perl5_64/lib/site_perl/5.12.0/aix-thread-multi-64all/auto/DBI > -I/auto/DBI > -I/usr/opt/perl5_64/lib/site_perl/5.12.0/aix-thread-multi-64all/auto/DBI > -D_ALL_SOURCE -D_ANSI_C_SOURCE -D_POSIX_SOURCE -qmaxmem=-1 > -qnoansialias -DUSE_NATIVE_DLOPEN -DNEED_PTHREAD_INIT -q64 > -DUSE_64_BIT_ALL -q64 -O -DVERSION=\"2008.0513\" > -DXS_VERSION=\"2008.0513\" > "-I/usr/opt/perl5_64/lib/5.12.0/aix-thread-multi-64all/CORE" > -DESQLC_VERSION=350 -DNDEBUG -DDO_NOT_USE_STDERR_H -DESQLC_IFX_LOC_T > -D__H_LOCALEDEF Informix.c > > INFORMIXC="/usr/opt/perl5_64/bin/perl esqlcc" ESQLCC="cc_r > -q64" esql -c -shared -I/opt/informix/11.50/incl/esql > -I/usr/opt/perl5_64/lib/5.12.0/aix-thread-multi-64all/auto/DBI > -I/usr/opt/perl5_64/lib/site_perl/5.12.0/aix-thread-multi-64all/auto/DBI > -I/auto/DBI > -I/usr/opt/perl5_64/lib/site_perl/5.12.0/aix-thread-multi-64all/auto/DBI > -D_ALL_SOURCE -D_ANSI_C_SOURCE -D_POSIX_SOURCE -qmaxmem=-1 > -qnoansialias -DUSE_NATIVE_DLOPEN -DNEED_PTHREAD_INIT -q64 > -DUSE_64_BIT_ALL -q64 -O -DVERSION=\"2008.0513\" > -DXS_VERSION=\"2008.0513\" > -I/usr/opt/perl5_64/lib/5.12.0/aix-thread-multi-64all/CORE > -DESQLC_VERSION=350 -DNDEBUG -DDO_NOT_USE_STDERR_H -DESQLC_IFX_LOC_T > -D__H_LOCALEDEF dbdimp.ec <http://dbdimp.ec> > > rm -f dbdimp.c > > INFORMIXC="/usr/opt/perl5_64/bin/perl esqlcc" ESQLCC="cc_r > -q64" esql -c -shared -I/opt/informix/11.50/incl/esql > -I/usr/opt/perl5_64/lib/5.12.0/aix-thread-multi-64all/auto/DBI > -I/usr/opt/perl5_64/lib/site_perl/5.12.0/aix-thread-multi-64all/auto/DBI > -I/auto/DBI > -I/usr/opt/perl5_64/lib/site_perl/5.12.0/aix-thread-multi-64all/auto/DBI > -D_ALL_SOURCE -D_ANSI_C_SOURCE -D_POSIX_SOURCE -qmaxmem=-1 > -qnoansialias -DUSE_NATIVE_DLOPEN -DNEED_PTHREAD_INIT -q64 > -DUSE_64_BIT_ALL -q64 -O -DVERSION=\"2008.0513\" > -DXS_VERSION=\"2008.0513\" > -I/usr/opt/perl5_64/lib/5.12.0/aix-thread-multi-64all/CORE > -DESQLC_VERSION=350 -DNDEBUG -DDO_NOT_USE_STDERR_H -DESQLC_IFX_LOC_T > -D__H_LOCALEDEF dbdattr.ec <http://dbdattr.ec> > > rm -f dbdattr.c > > cc_r -q64 -c -I/opt/informix/11.50/incl/esql > -I/usr/opt/perl5_64/lib/5.12.0/aix-thread-multi-64all/auto/DBI > -I/usr/opt/perl5_64/lib/site_perl/5.12.0/aix-thread-multi-64all/auto/DBI > -I/auto/DBI > -I/usr/opt/perl5_64/lib/site_perl/5.12.0/aix-thread-multi-64all/auto/DBI > -D_ALL_SOURCE -D_ANSI_C_SOURCE -D_POSIX_SOURCE -qmaxmem=-1 > -qnoansialias -DUSE_NATIVE_DLOPEN -DNEED_PTHREAD_INIT -q64 > -DUSE_64_BIT_ALL -q64 -O -DVERSION=\"2008.0513\" > -DXS_VERSION=\"2008.0513\" > "-I/usr/opt/perl5_64/lib/5.12.0/aix-thread-multi-64all/CORE" > -DESQLC_VERSION=350 -DNDEBUG -DDO_NOT_USE_STDERR_H -DESQLC_IFX_LOC_T > -D__H_LOCALEDEF sqltoken.c > > INFORMIXC="/usr/opt/perl5_64/bin/perl esqlcc" ESQLCC="cc_r > -q64" esql -c -shared -I/opt/informix/11.50/incl/esql > -I/usr/opt/perl5_64/lib/5.12.0/aix-thread-multi-64all/auto/DBI > -I/usr/opt/perl5_64/lib/site_perl/5.12.0/aix-thread-multi-64all/auto/DBI > -I/auto/DBI > -I/usr/opt/perl5_64/lib/site_perl/5.12.0/aix-thread-multi-64all/auto/DBI > -D_ALL_SOURCE -D_ANSI_C_SOURCE -D_POSIX_SOURCE -qmaxmem=-1 > -qnoansialias -DUSE_NATIVE_DLOPEN -DNEED_PTHREAD_INIT -q64 > -DUSE_64_BIT_ALL -q64 -O -DVERSION=\"2008.0513\" > -DXS_VERSION=\"2008.0513\" > -I/usr/opt/perl5_64/lib/5.12.0/aix-thread-multi-64all/CORE > -DESQLC_VERSION=350 -DNDEBUG -DDO_NOT_USE_STDERR_H -DESQLC_IFX_LOC_T > -D__H_LOCALEDEF sqltype.ec <http://sqltype.ec> > > rm -f sqltype.c > > INFORMIXC="/usr/opt/perl5_64/bin/perl esqlcc" ESQLCC="cc_r > -q64" esql -c -shared -I/opt/informix/11.50/incl/esql > -I/usr/opt/perl5_64/lib/5.12.0/aix-thread-multi-64all/auto/DBI > -I/usr/opt/perl5_64/lib/site_perl/5.12.0/aix-thread-multi-64all/auto/DBI > -I/auto/DBI > -I/usr/opt/perl5_64/lib/site_perl/5.12.0/aix-thread-multi-64all/auto/DBI > -D_ALL_SOURCE -D_ANSI_C_SOURCE -D_POSIX_SOURCE -qmaxmem=-1 > -qnoansialias -DUSE_NATIVE_DLOPEN -DNEED_PTHREAD_INIT -q64 > -DUSE_64_BIT_ALL -q64 -O -DVERSION=\"2008.0513\" > -DXS_VERSION=\"2008.0513\" > -I/usr/opt/perl5_64/lib/5.12.0/aix-thread-multi-64all/CORE > -DESQLC_VERSION=350 -DNDEBUG -DDO_NOT_USE_STDERR_H -DESQLC_IFX_LOC_T > -D__H_LOCALEDEF ixblob.ec <http://ixblob.ec> > > rm -f ixblob.c > > cc_r -q64 -c -I/opt/informix/11.50/incl/esql > -I/usr/opt/perl5_64/lib/5.12.0/aix-thread-multi-64all/auto/DBI > -I/usr/opt/perl5_64/lib/site_perl/5.12.0/aix-thread-multi-64all/auto/DBI > -I/auto/DBI > -I/usr/opt/perl5_64/lib/site_perl/5.12.0/aix-thread-multi-64all/auto/DBI > -D_ALL_SOURCE -D_ANSI_C_SOURCE -D_POSIX_SOURCE -qmaxmem=-1 > -qnoansialias -DUSE_NATIVE_DLOPEN -DNEED_PTHREAD_INIT -q64 > -DUSE_64_BIT_ALL -q64 -O -DVERSION=\"2008.0513\" > -DXS_VERSION=\"2008.0513\" > "-I/usr/opt/perl5_64/lib/5.12.0/aix-thread-multi-64all/CORE" > -DESQLC_VERSION=350 -DNDEBUG -DDO_NOT_USE_STDERR_H -DESQLC_IFX_LOC_T > -D__H_LOCALEDEF odbctype.c > > cc_r -q64 -c -I/opt/informix/11.50/incl/esql > -I/usr/opt/perl5_64/lib/5.12.0/aix-thread-multi-64all/auto/DBI > -I/usr/opt/perl5_64/lib/site_perl/5.12.0/aix-thread-multi-64all/auto/DBI > -I/auto/DBI > -I/usr/opt/perl5_64/lib/site_perl/5.12.0/aix-thread-multi-64all/auto/DBI > -D_ALL_SOURCE -D_ANSI_C_SOURCE -D_POSIX_SOURCE -qmaxmem=-1 > -qnoansialias -DUSE_NATIVE_DLOPEN -DNEED_PTHREAD_INIT -q64 > -DUSE_64_BIT_ALL -q64 -O -DVERSION=\"2008.0513\" > -DXS_VERSION=\"2008.0513\" > "-I/usr/opt/perl5_64/lib/5.12.0/aix-thread-multi-64all/CORE" > -DESQLC_VERSION=350 -DNDEBUG -DDO_NOT_USE_STDERR_H -DESQLC_IFX_LOC_T > -D__H_LOCALEDEF kludge.c > > cc_r -q64 -c -I/opt/informix/11.50/incl/esql > -I/usr/opt/perl5_64/lib/5.12.0/aix-thread-multi-64all/auto/DBI > -I/usr/opt/perl5_64/lib/site_perl/5.12.0/aix-thread-multi-64all/auto/DBI > -I/auto/DBI > -I/usr/opt/perl5_64/lib/site_perl/5.12.0/aix-thread-multi-64all/auto/DBI > -D_ALL_SOURCE -D_ANSI_C_SOURCE -D_POSIX_SOURCE -qmaxmem=-1 > -qnoansialias -DUSE_NATIVE_DLOPEN -DNEED_PTHREAD_INIT -q64 > -DUSE_64_BIT_ALL -q64 -O -DVERSION=\"2008.0513\" > -DXS_VERSION=\"2008.0513\" > "-I/usr/opt/perl5_64/lib/5.12.0/aix-thread-multi-64all/CORE" > -DESQLC_VERSION=350 -DNDEBUG -DDO_NOT_USE_STDERR_H -DESQLC_IFX_LOC_T > -D__H_LOCALEDEF link.c > > INFORMIXC="/usr/opt/perl5_64/bin/perl esqlcc" ESQLCC="cc_r > -q64" esql -c -shared -I/opt/informix/11.50/incl/esql > -I/usr/opt/perl5_64/lib/5.12.0/aix-thread-multi-64all/auto/DBI > -I/usr/opt/perl5_64/lib/site_perl/5.12.0/aix-thread-multi-64all/auto/DBI > -I/auto/DBI > -I/usr/opt/perl5_64/lib/site_perl/5.12.0/aix-thread-multi-64all/auto/DBI > -D_ALL_SOURCE -D_ANSI_C_SOURCE -D_POSIX_SOURCE -qmaxmem=-1 > -qnoansialias -DUSE_NATIVE_DLOPEN -DNEED_PTHREAD_INIT -q64 > -DUSE_64_BIT_ALL -q64 -O -DVERSION=\"2008.0513\" > -DXS_VERSION=\"2008.0513\" > -I/usr/opt/perl5_64/lib/5.12.0/aix-thread-multi-64all/CORE > -DESQLC_VERSION=350 -DNDEBUG -DDO_NOT_USE_STDERR_H -DESQLC_IFX_LOC_T > -D__H_LOCALEDEF esqlcver.ec <http://esqlcver.ec> > > rm -f esqlcver.c > > INFORMIXC="/usr/opt/perl5_64/bin/perl esqlcc" ESQLCC="cc_r > -q64" esql -c -shared -I/opt/informix/11.50/incl/esql > -I/usr/opt/perl5_64/lib/5.12.0/aix-thread-multi-64all/auto/DBI > -I/usr/opt/perl5_64/lib/site_perl/5.12.0/aix-thread-multi-64all/auto/DBI > -I/auto/DBI > -I/usr/opt/perl5_64/lib/site_perl/5.12.0/aix-thread-multi-64all/auto/DBI > -D_ALL_SOURCE -D_ANSI_C_SOURCE -D_POSIX_SOURCE -qmaxmem=-1 > -qnoansialias -DUSE_NATIVE_DLOPEN -DNEED_PTHREAD_INIT -q64 > -DUSE_64_BIT_ALL -q64 -O -DVERSION=\"2008.0513\" > -DXS_VERSION=\"2008.0513\" > -I/usr/opt/perl5_64/lib/5.12.0/aix-thread-multi-64all/CORE > -DESQLC_VERSION=350 -DNDEBUG -DDO_NOT_USE_STDERR_H -DESQLC_IFX_LOC_T > -D__H_LOCALEDEF esqlc_v6.ec <http://esqlc_v6.ec> > > rm -f esqlc_v6.c > > Running Mkbootstrap for DBD::Informix () > > chmod 644 Informix.bs > > rm -f blib/arch/auto/DBD/Informix/Informix.so > > ld -b64 -bhalt:4 -G > -bI:/usr/opt/perl5_64/lib/5.12.0/aix-thread-multi-64all/CORE/perl.exp > -bE:Informix.exp -bnoentry -lpthreads -lc -lm Informix.o dbdimp.o > dbdattr.o sqltoken.o sqltype.o ixblob.o odbctype.o kludge.o link.o > esqlcver.o esqlc_v6.o -L/opt/informix/11.50/lib > -L/opt/informix/11.50/lib/esql -lifsql -lifasf -lifgen -lifos -lifgls > -ltli -lc_r -lmsaa -lbsd -ldl -lm_r > /opt/informix/11.50/lib/esql/checkapi.o -lifglx -o > blib/arch/auto/DBD/Informix/Informix.so > > chmod 755 blib/arch/auto/DBD/Informix/Informix.so > > cp Informix.bs blib/arch/auto/DBD/Informix/Informix.bs > > chmod 644 blib/arch/auto/DBD/Informix/Informix.bs > > cp InformixTechSupport blib/script/InformixTechSupport > > /usr/opt/perl5_64/bin/perl -MExtUtils::MY -e > 'MY->fixin(shift)' -- blib/script/InformixTechSupport > > Manifying blib/man1/InformixTechSupport.1 > > Manifying blib/man3/DBD::Informix::TechSupport.3 > > Manifying blib/man3/DBD::Informix::Summary.3 > > Manifying blib/man3/DBD::Informix::Configure.3 > > Manifying blib/man3/DBD::Informix::TypeInfo.3 > > Manifying blib/man3/DBD::Informix::TestHarness.3 > > Manifying blib/man3/DBD::Informix::GetInfo.3 > > Manifying blib/man3/Bundle::DBD::Informix.3 > > Manifying blib/man3/DBD::Informix.3 > > Manifying blib/man3/DBD::Informix::Defaults.3 > > Manifying blib/man3/DBD::Informix::Metadata.3 > > [julie@luchda06] /home/julie/reperl/DBD-Informix-2008.0513> > > > > > > *** Fist 30 lines of the make test *** > > > > [julie@luchda06] /home/julie/reperl/DBD-Informix-2008.0513> make test > > PERL_DL_NONLAZY=1 /usr/opt/perl5_64/bin/perl > "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib/lib', > 'blib/arch')" t/t00basic.t t/t01stproc.t t/t02ixtype.t t/t05dbase.t > t/t07dblist.t t/t08fork.t t/t09date.t t/t10sqlca.t t/t12bindval.t > t/t13bindref.t t/t14bindcol.t t/t15bindtyp.t t/t20error.t t/t21mconn.t > t/t22mconn.t t/t23mconn.t t/t24mcurs.t t/t25dratt.t t/t28dtlit.t > t/t29update.t t/t30update.t t/t31nulls.t t/t32nulls.t t/t33holdcurs.t > t/t35cursor.t t/t40rows.t t/t41txacoff.t t/t42txacon.t t/t43trans.t > t/t44txansi.t t/t46chpblk.t t/t50update.t t/t51getinfo.t t/t53types.t > t/t54native.t t/t55mdata.t t/t56tabinfo.t t/t57tables.t > t/t58typeinfoall.t t/t60unlog.t t/t61varchar.t t/t65updcur.t > t/t66insert.t t/t72blob.t t/t73blobupd.t t/t74blob.t t/t75blob.t > t/t76blob.t t/t77varchar.t t/t78varchar.t t/t90ius.t t/t91udts.t > t/t92rows.t t/t93lvarchar.t t/t94bool.t t/t95int8.t t/t98pod.t > t/t99clean.t > > t/t00basic.t ........ install_driver(Informix) failed: Can't load > '/home/julie/reperl/DBD-Informix-2008.0513/blib/arch/auto/DBD/Informix/Informix.so' > for module DBD::Informix: rtld: 0712-001 Symbol ifx_checkAPI was > referenced > > from module /opt/informix/11.50/lib/esql/libifsql.so(), but a > runtime definition > > of the symbol was not found. > > rtld: 0712-001 Symbol ifx_checkAPI was referenced > > from module /opt/informix/11.50/lib/esql/libifgen.so(), but a > runtime definition > > of the symbol was not found. > > rtld: 0712-001 Symbol ifx_checkAPI was referenced > > from module /opt/informix/11.50/lib/esql/libifos.so(), but a > runtime definition > > of the symbol was not found. > > rtld: 0712-002 fatal error: exiting. at > /usr/opt/perl5_64/lib/5.12.0/aix-thread-multi-64all/DynaLoader.pm line > 200. > > at (eval 3) line 3 > > Compilation failed in require at (eval 3) line 3. > > Perhaps a required shared library or dll isn't installed where expected > > at > /home/julie/reperl/DBD-Informix-2008.0513/blib/lib/DBD/Informix/TestHarness.pm > line 188 > > t/t00basic.t ........ Dubious, test returned 8 (wstat 2048, 0x800) > > Failed 41/41 subtests > > t/t01stproc.t ....... install_driver(Informix) failed: Can't load > '/home/julie/reperl/DBD-Informix-2008.0513/blib/arch/auto/DBD/Informix/Informix.so' > for module DBD::Informix: rtld: 0712-001 Symbol ifx_checkAPI was > referenced > > from module /opt/informix/11.50/lib/esql/libifsql.so(), but a > runtime definition > > of the symbol was not found. > > rtld: 0712-001 Symbol ifx_checkAPI was referenced > > from module /opt/informix/11.50/lib/esql/libifgen.so(), but a > runtime definition > > of the symbol was not found. > > rtld: 0712-001 Symbol ifx_checkAPI was referenced > > from module /opt/informix/11.50/lib/esql/libifos.so(), but a > runtime definition > > of the symbol was not found. > > rtld: 0712-002 fatal error: exiting. at > /usr/opt/perl5_64/lib/5.12.0/aix-thread-multi-64all/DynaLoader.pm line > 200. > > at (eval 3) line 3 > > Compilation failed in require at (eval 3) line 3. > > ------8<------ > > > > > > *** Additional informations *** > > > > Don't know if it's important but I'm not using the AIX Perl but a > version compiled from source. I have the same problem either with Perl > 5.8 or 5.12. The command line used to compile Perl is the following: > > > > export OBJECT_MODE=64 > > ./Configure -d -Dcc=cc_r -Duseshrplib -Dusethreads -Duse64bitall > -Dprefix=/usr/opt/perl5_64 > > > > > > The compiler used is: > > > > [root@luchda06] /root> lslpp -l vacpp.* > > Fileset Level State Description > > > ---------------------------------------------------------------------------- > > Path: /usr/lib/objrepos > > vacpp.cmp.aix50.lib > > 99.99.9999.9999 COMMITTED Supersede entry, not > installed > > vacpp.cmp.aix52.lib > > 99.99.9999.9999 COMMITTED Supersede entry, not > installed > > vacpp.cmp.aix53.lib 11.1.0.0 COMMITTED IBM XL C/C++ > Libraries for AIX > > 5.3 > > vacpp.cmp.core 11.1.0.0 COMMITTED IBM XL C/C++ Compiler > > vacpp.cmp.lib 11.1.0.0 COMMITTED IBM XL C/C++ Libraries > > vacpp.cmp.rte 11.1.0.0 COMMITTED IBM XL C/C++ Compiler > > Application Runtime > > vacpp.cmp.tools 11.1.0.0 COMMITTED IBM XL C/C++ Tools > > vacpp.lic 11.1.0.0 COMMITTED IBM XL C/C++ Licence > Files > > vacpp.licAgreement 11.1.0.0 COMMITTED IBM XL C++ > Electronic License > > Agreement Files > > > > Path: /etc/objrepos > > vacpp.cmp.core 11.1.0.0 COMMITTED IBM XL C/C++ Compiler > > [root@luchda06] /root> > > > > AIX version used: > > > > [julie@luchda06] /home/julie/reperl/DBD-Informix-2008.0513> oslevel -s > > 5300-12-01-1016 > > [julie@luchda06] /home/julie/reperl/DBD-Informix-2008.0513> > > > > > > > > > > -- > Jonathan Leffler <[email protected] > <mailto:[email protected]>> #include <disclaimer.h> > Guardian of DBD::Informix - v2008.0513 - http://dbi.perl.org > "Blessed are we who can laugh at ourselves, for we shall never cease > to be amused."