DBD::informix with esqlc 3.00 (x864_64)
Posted in 2007
Topics: Installation, Setup & Upgrades, Connectivity: ESQL/C, 4GL & Embedded SQL, Data Types & Schema Design, Platform-Specific Issues
Hi, I've been using dbd::informix with no problem, I just upgraded to IDS 11 and CSDK 3.0 and can;t install DBD::INFORMIX. (O.S. Centos 4.4 Kernel 2.6.9-42.ELsmp) <copy&paste> [root@vieja DBD-Informix-2007.0226]# perl Makefile.PL *** ExtUtils::AutoInstall version 0.63 *** Checking for dependencies... [Core Features] - DBI ...loaded. (1.58 >= 1.38) [High Resolution Timing] - Time::HiRes ...loaded. (1.55) [POD Format Testing] - Test::Pod ...missing. ==> Auto-install the 1 optional module(s) from CPAN? [y] n *** ExtUtils::AutoInstall configuration finished. Subroutine main::WriteMakefile redefined at /usr/lib/perl5/site_perl/ 5.8.5/ExtUt ils/AutoInstall.pm line 491, <STDIN> line 1. Configuring IBM Informix Database Driver for Perl DBI Version 2007.0226 (2007-02-25) (aka DBD::Informix) You are using DBI version 1.58 and Perl version 5.008005 Remember to actually read the README file! Perl: perl v5.008005 x86_64-linux-thread-multi dl_dlopen.xs System: linux mehak.karan.org 2.6.9-34.0.2.el #1 fri jul 7 17:58:49 cdt 2006 x 86_64 x86_64 x86_64 gnulinux *** Ideally, you should upgrade to Perl version 5.008008 or later. Using INFORMIXDIR=/opt/informix and ESQL/C compiler esql Using IBM Informix CSDK Version 3.00, IBM Informix-ESQL Version 3.00.FC2 from /o pt/informix 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 esqlvrsn.h written OK esqlinfo.h written OK Testing whether your Informix test environment will work... esqltest.o(.text+0x6bb): In function `main': : undefined reference to `dbd_ix_opendatabase' esqltest.o(.text+0x728): In function `main': : undefined reference to `dbd_ix_opendatabase' collect2: ld returned 1 exit status Failed to link test program esqltest </quote> If I hack Makefile.PL to force my $vercode = "esqlc_v5"; Than the process go thru make, make install with no problems until something is executed [root@vieja perl]# perl demo.pl perl: symbol lookup error: /usr/lib64/perl5/site_perl/5.8.5/x86_64- linux-thread- multi/auto/DBD/Informix/Informix.so: undefined symbol: dbd_ix_connect Thanks for your help.
On Aug 13, 10:34 am, Fernando Ortiz <fernando.or...@gmail.com> wrote: > Hi, > > I've been using dbd::informix with no problem, I just upgraded to IDS > 11 and CSDK 3.0 and can;t install DBD::INFORMIX. > > (O.S. Centos 4.4 Kernel 2.6.9-42.ELsmp) > > <copy&paste> > [root@vieja DBD-Informix-2007.0226]# perl Makefile.PL > *** ExtUtils::AutoInstall version 0.63 > *** Checking for dependencies... > [Core Features] > - DBI ...loaded. (1.58 >= 1.38) > [High Resolution Timing] > - Time::HiRes ...loaded. (1.55) > [POD Format Testing] > - Test::Pod ...missing. > ==> Auto-install the 1 optional module(s) from CPAN? [y] n > *** ExtUtils::AutoInstall configuration finished. > Subroutine main::WriteMakefile redefined at /usr/lib/perl5/site_perl/ > 5.8.5/ExtUt > ils/AutoInstall.pm line 491, <STDIN> line 1. > > Configuring IBM Informix Database Driver for Perl DBI Version > 2007.0226 (2007-02-25) (aka DBD::Informix) > You are using DBI version 1.58 and Perl version 5.008005 > Remember to actually read the README file! > > Perl: perl v5.008005 x86_64-linux-thread-multi dl_dlopen.xs > System: linux mehak.karan.org 2.6.9-34.0.2.el #1 fri jul 7 17:58:49 > cdt 2006 x > 86_64 x86_64 x86_64 gnulinux > *** Ideally, you should upgrade to Perl version 5.008008 or later. > > Using INFORMIXDIR=/opt/informix and ESQL/C compiler esql > Using IBM Informix CSDK Version 3.00, IBM Informix-ESQL Version > 3.00.FC2 from /o > pt/informix > > 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 > esqlvrsn.h written OK > esqlinfo.h written OK > > Testing whether your Informix test environment will work... > esqltest.o(.text+0x6bb): In function `main': > : undefined reference to `dbd_ix_opendatabase' > esqltest.o(.text+0x728): In function `main': > : undefined reference to `dbd_ix_opendatabase' > collect2: ld returned 1 exit status > Failed to link test program esqltest > </quote> > > If I hack Makefile.PL to force > my $vercode = "esqlc_v5"; > > Than the process go thru make, make install with no problems until > something is executed > > [root@vieja perl]# perl demo.pl > perl: symbol lookup error: /usr/lib64/perl5/site_perl/5.8.5/x86_64- > linux-thread- > multi/auto/DBD/Informix/Informix.so: undefined symbol: dbd_ix_connect > > Thanks for your help. You should be using esqlc_v6.ec, as you are undoubtedly aware. It smacks of a bug in the test code. I've been trying (occasionally) to get a new release out to fix up some issues in this area, but have run into some problems in another area. I may have to back out the changes in the other area and get a patch version out. If you're reasonably confident you can build and run esqlbasic from esqlbasic.ec for example, because you tried it), then revert to esqlc_v6.ec, suppress the test (DBD_INFORMIX_NO_ESQLTEST, IIRC), and try the build. If there are testing (or build) problems, get back to me.
On Aug 14, 9:46 am, Jonathan Leffler > <SNIP> > If you're reasonably confident you can build and run esqlbasic from > esqlbasic.ec for example, because you tried it), then revert to > esqlc_v6.ec, suppress the test (DBD_INFORMIX_NO_ESQLTEST, IIRC), and > try the build. If there are testing (or build) problems, get back to > me. I set DBD_INFORMIX_NO_ESQLTEST=YES and then the 'perl Makefile.PL' finish OK with this ... <Notice> Because DBD_INFORMIX_NO_ESQLTEST is set in your environment, you have chosen not to run the test which verifies that your ESQL/C setup will allow DBD::Informix to compile and the tests to run. </Notice> Then make, make install and everything seems fine Thanks Jonathan, PS. If you need a volunteer to test a new DBD::Informix CSDK3-aware you can count on me.