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."
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.