Checking Perl version & bit version & error in AIX

Problem
When using the DB2® Perl driver on DB2 Universal Database™ (DB2 UDB) Version 8 64-bit for AIX 5.2, you get the following error message: '/usr/opt/perl5/lib/site_perl/5.8.0/aix-thread-multi/auto/DBD/DB2/DB2.so' for module DBD::DB2: 0509-022 Cannot load module /usr/opt/db2_08_01/lib/libdb2.a(shr.o).
You are using a 32-bit Perl or you are not sure whether your Perl is 32-bit or 64-bit.

Cause
Using 32-bit Perl to load 64-bit DB2 Client libraries is not supported.

Solution
You must use 64-bit Perl in order to use the 64-bit DB2 Client libraries on a 64-bit instance.

To verify which Perl version you have, you can run the "perl -V" command as shown here:

# perl -V

Summary of my perl5 (revision 5.0 version 8 subversion 0) configuration:
Platform:
   osname=aix, osvers=5.2.0.0, archname=aix-thread-multi
   uname='aix rocky 2 5 000ad7df4c00 '
   config_args=''
   hint=recommended, useposix=true, d_sigaction=define
   usethreads=define use5005threads=undef useithreads=define usemultiplicity=define
   useperlio=define d_sfio=undef uselargefiles=define usesocks=undef
   use64bitint=undef use64bitall=undef uselongdouble=undef
   ...

Notice that use64bitint and use64bitall are both set to undef. This indicates that the version of Perl you are using wasn't compiled in 64-bit.


Switch Perl V5 between 32 and 64 bit
  • To switch from 32-bit to 64-bit Perl, enter the following as root user:
/usr/opt/perl5/link_perl_64
  • To switch from 64-bit to 32-bit Perl, enter the following as root user:
/usr/opt/perl5/link_perl_32

Post a Comment

Previous Post Next Post