Perl 5.8/DBI 1.38 on AIX 5.1 -> make test fails with symbol resolution errors (IO.so)

From: Ed Borden (eborden_at_na.ko.com)
Date: 10/23/03


To: dbi-users@perl.org
Date: Thu, 23 Oct 2003 15:01:33 -0400

I am trying to install DBI 1.38 with Perl 5.8 on AIX 5.1. When I run make
test, I receive the following errors:

DBI test application $Revision: 11.6 $
Switch: DBI 1.38 by Tim Bunce, 1.38
Available Drivers: ExampleP, Proxy, Sponge
dbi:ExampleP:: testing 5 sets of 20 connections:
Can't load '/usr/opt/perl5/lib/5.8.0/aix-thread-multi/auto/IO/IO.so' for
module IO: 0509-130 Symbol resolution failed for
/usr/opt/perl5/lib/5.8.0/aix-thread-multi/auto/IO/IO.so because:
      0509-136 Symbol sockatmark (number 5) is not exported from
dependent module /usr/lib/libc.a(shr.o).
      0509-192 Examine .loader section symbols with the
             'dump -Tv' command. at
/usr/opt/perl5/lib/5.8.0/aix-thread-multi/XSLoader.pm line 83.
 at /usr/opt/perl5/lib/5.8.0/aix-thread-multi/IO.pm line 9
Compilation failed in require at
/usr/opt/perl5/lib/5.8.0/aix-thread-multi/IO/Handle.pm line 256.
BEGIN failed--compilation aborted at
/usr/opt/perl5/lib/5.8.0/aix-thread-multi/IO/Handle.pm line 256.
Compilation failed in require at
/usr/opt/perl5/lib/5.8.0/aix-thread-multi/IO/Seekable.pm line 101.
BEGIN failed--compilation aborted at
/usr/opt/perl5/lib/5.8.0/aix-thread-multi/IO/Seekable.pm line 101.
Compilation failed in require at
/usr/opt/perl5/lib/5.8.0/aix-thread-multi/IO/File.pm line 112.
BEGIN failed--compilation aborted at
/usr/opt/perl5/lib/5.8.0/aix-thread-multi/IO/File.pm line 112.
Compilation failed in require at /usr/opt/perl5/lib/5.8.0/FileHandle.pm
line 9.
Compilation failed in require at /opt/oracle/perl/DBI-1.38/blib/lib/DBI.pm
line 1000.
make: 1254-004 The error code from the last command is 255.

I have tried a number of different options, done numerous google searches,
but have not been able to get past this error. Any assistance (please
reply to eborden@na.ko.com), would be greatly appreciated:

Here is the output from the other steps.
<oracle><ORA817>$ perl Makefile.PL PREFIX=$DBA_HOME/perl/bin/DBI-Oracle

*** Note:
    The optional PlRPC-modules (RPC::PlServer etc) are not installed.
    If you want to use the DBD::Proxy driver and DBI::ProxyServer
    modules, then you'll need to install the RPC::PlServer, RPC::PlClient,
    Storable and Net::Daemon modules. The CPAN Bundle::DBI may help you.
    You can install them any time after installing the DBI.
    You do *not* need these modules for typical DBI usage.

Optional modules are available from any CPAN mirror, in particular
    http://www.perl.com/CPAN/modules/by-module
    http://www.perl.org/CPAN/modules/by-module
    ftp://ftp.funet.fi/pub/languages/perl/CPAN/modules/by-module

Creating extra DBI::PurePerl test: t/zz_01basics_pp.t
Creating extra DBI::PurePerl test: t/zz_02dbidrv_pp.t
Creating extra DBI::PurePerl test: t/zz_03handle_pp.t
Creating extra DBI::PurePerl test: t/zz_04mods_pp.t
Creating extra DBI::PurePerl test: t/zz_05thrclone_pp.t (use threads)
Creating extra DBI::PurePerl test: t/zz_06attrs_pp.t
Creating extra DBI::PurePerl test: t/zz_07kids_pp.t
Creating extra DBI::PurePerl test: t/zz_08keeperr_pp.t
Creating extra DBI::PurePerl test: t/zz_10examp_pp.t
Creating extra DBI::PurePerl test: t/zz_15array_pp.t
Creating extra DBI::PurePerl test: t/zz_20meta_pp.t
Creating extra DBI::PurePerl test: t/zz_30subclass_pp.t
Creating extra DBI::PurePerl test: t/zz_40profile_pp.t
Creating extra DBI::PurePerl test: t/zz_41prof_dump_pp.t
Creating extra DBI::PurePerl test: t/zz_42prof_data_pp.t
Creating extra DBI::PurePerl test: t/zz_60preparse_pp.t
Creating extra DBI::PurePerl test: t/zz_80proxy_pp.t
Writing Makefile for DBI

Here is the output from the make command:
<oracle><ORA817>$ make
      /usr/bin/perl -p -e "s/~DRIVER~/Perl/g" blib/arch/auto/DBI/Driver.xst
> Perl.xsi
      /usr/bin/perl /usr/opt/perl5/lib/5.8.0/ExtUtils/xsubpp -typemap
/usr/opt/perl5/lib/5.8.0/ExtUtils/typemap -typemap typemap Perl.xs >
Perl.xsc && mv Perl.xsc Perl.c
      cc_r -c -D_ALL_SOURCE -D_ANSI_C_SOURCE -D_POSIX_SOURCE
-qmaxmem=16384 -qnoansialias -DUSE_NATIVE_DLOPEN -DNEED_PTHREAD_INIT -q32
-D_LARGE_FILES -qlonglong -O -DVERSION=\"1.38\" -DXS_VERSION=\"1.38\"
"-I/usr/opt/perl5/lib/5.8.0/aix-thread-multi/CORE" Perl.c
      /usr/bin/perl /usr/opt/perl5/lib/5.8.0/ExtUtils/xsubpp -typemap
/usr/opt/perl5/lib/5.8.0/ExtUtils/typemap -typemap typemap DBI.xs >
DBI.xsc && mv DBI.xsc DBI.c
      cc_r -c -D_ALL_SOURCE -D_ANSI_C_SOURCE -D_POSIX_SOURCE
-qmaxmem=16384 -qnoansialias -DUSE_NATIVE_DLOPEN -DNEED_PTHREAD_INIT -q32
-D_LARGE_FILES -qlonglong -O -DVERSION=\"1.38\" -DXS_VERSION=\"1.38\"
"-I/usr/opt/perl5/lib/5.8.0/aix-thread-multi/CORE" DBI.c
      rm -f blib/arch/auto/DBI/DBI.so
      LD_RUN_PATH="" ld -bhalt:4 -bM:SRE
-bI:/usr/opt/perl5/lib/5.8.0/aix-thread-multi/CORE/perl.exp -bE:DBI.exp
-bnoentry -lpthreads -lc_r DBI.o -o blib/arch/auto/DBI/DBI.so
      chmod 755 blib/arch/auto/DBI/DBI.so
Manifying blib/man3/DBI::FAQ.3
Manifying blib/man1/dbiproxy.1
Manifying blib/man3/DBD::Proxy.3
Manifying blib/man3/DBI::Const::GetInfo::ANSI.3
Manifying blib/man3/DBI::Const::GetInfoReturn.3
Manifying blib/man3/DBI.3
Manifying blib/man1/dbiprof.1
Manifying blib/man3/DBD::Sponge.3
Manifying blib/man3/DBI::Const::GetInfoType.3
Manifying blib/man3/DBI::W32ODBC.3
Manifying blib/man3/DBI::DBD::Metadata.3
Manifying blib/man3/DBI::Const::GetInfo::ODBC.3
Manifying blib/man3/DBI::ProfileDumper::Apache.3
Manifying blib/man3/Bundle::DBI.3
Manifying blib/man3/DBI::Profile.3
Manifying blib/man3/DBI::ProfileDumper.3
Manifying blib/man3/DBI::ProxyServer.3
Manifying blib/man3/DBI::DBD.3
Manifying blib/man3/Win32::DBIODBC.3
Manifying blib/man3/DBI::PurePerl.3
Manifying blib/man3/DBI::ProfileData.3
Target "makemakerdflt" is up to date.

Here is the complete output from the make test command:

      /usr/bin/perl -p -e "s/~DRIVER~/Perl/g" blib/arch/auto/DBI/Driver.xst
> Perl.xsi
      /usr/bin/perl /usr/opt/perl5/lib/5.8.0/ExtUtils/xsubpp -typemap
/usr/opt/perl5/lib/5.8.0/ExtUtils/typemap -typemap typemap Perl.xs >
Perl.xsc && mv Perl.xsc Perl.c
      cc_r -c -D_ALL_SOURCE -D_ANSI_C_SOURCE -D_POSIX_SOURCE
-qmaxmem=16384 -qnoansialias -DUSE_NATIVE_DLOPEN -DNEED_PTHREAD_INIT -q32
-D_LARGE_FILES -qlonglong -O -DVERSION=\"1.38\" -DXS_VERSION=\"1.38\"
"-I/usr/opt/perl5/lib/5.8.0/aix-thread-multi/CORE" Perl.c
      /usr/bin/perl /usr/opt/perl5/lib/5.8.0/ExtUtils/xsubpp -typemap
/usr/opt/perl5/lib/5.8.0/ExtUtils/typemap -typemap typemap DBI.xs >
DBI.xsc && mv DBI.xsc DBI.c
      cc_r -c -D_ALL_SOURCE -D_ANSI_C_SOURCE -D_POSIX_SOURCE
-qmaxmem=16384 -qnoansialias -DUSE_NATIVE_DLOPEN -DNEED_PTHREAD_INIT -q32
-D_LARGE_FILES -qlonglong -O -DVERSION=\"1.38\" -DXS_VERSION=\"1.38\"
"-I/usr/opt/perl5/lib/5.8.0/aix-thread-multi/CORE" DBI.c
      rm -f blib/arch/auto/DBI/DBI.so
      LD_RUN_PATH="" ld -bhalt:4 -bM:SRE
-bI:/usr/opt/perl5/lib/5.8.0/aix-thread-multi/CORE/perl.exp -bE:DBI.exp
-bnoentry -lpthreads -lc_r DBI.o -o blib/arch/auto/DBI/DBI.so
      chmod 755 blib/arch/auto/DBI/DBI.so
      PERL_DL_NONLAZY=1 /usr/bin/perl "-MExtUtils::Command::MM" "-e"
"test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
t/01basics.............ok
t/02dbidrv.............ok
t/03handle.............ok
t/04mods...............ok
t/05thrclone...........ok
t/06attrs..............ok
t/07kids...............ok
t/08keeperr............ok
t/10examp..............ok
t/15array..............ok
t/20meta...............ok
t/30subclass...........ok
t/40profile............ok
t/41prof_dump..........ok
t/42prof_data..........ok
t/60preparse...........ok
t/80proxy..............skipped
        all skipped: modules required for proxy are probably not installed
(e.g., RPC/PlClient.pm)
t/zz_01basics_pp....... Using DBI::PurePerl (DBI_PUREPERL=2)
ok
t/zz_02dbidrv_pp.......ok
t/zz_03handle_pp.......ok
t/zz_04mods_pp.........ok
t/zz_05thrclone_pp.....ok
t/zz_06attrs_pp........ok
t/zz_07kids_pp.........skipped
        all skipped: $h->{Kids} attribute not supported for DBI::PurePerl
t/zz_08keeperr_pp......ok
t/zz_10examp_pp........ Taint mode switching tests skipped
ok
t/zz_15array_pp........ok
t/zz_20meta_pp.........ok
t/zz_30subclass_pp.....ok
t/zz_40profile_pp......skipped
        all skipped: profiling not supported for DBI::PurePerl
t/zz_41prof_dump_pp....skipped
        all skipped: profiling not supported for DBI::PurePerl
t/zz_42prof_data_pp....skipped
        all skipped: profiling not supported for DBI::PurePerl
t/zz_60preparse_pp.....skipped
        all skipped: preparse not supported for DBI::PurePerl
t/zz_80proxy_pp........skipped
        all skipped: modules required for proxy are probably not installed
(e.g., RPC/PlClient.pm)
All tests successful, 7 tests skipped.
Files=34, Tests=1259, 27 wallclock secs (20.87 cusr + 5.27 csys = 26.14
CPU)
      PERL_DL_NONLAZY=1 /usr/bin/perl "-Iblib/lib" "-Iblib/arch" test.pl
test.pl
DBI test application $Revision: 11.6 $
Switch: DBI 1.38 by Tim Bunce, 1.38
Available Drivers: ExampleP, Proxy, Sponge
dbi:ExampleP:: testing 5 sets of 20 connections:
Can't load '/usr/opt/perl5/lib/5.8.0/aix-thread-multi/auto/IO/IO.so' for
module IO: 0509-130 Symbol resolution failed for
/usr/opt/perl5/lib/5.8.0/aix-thread-multi/auto/IO/IO.so because:
      0509-136 Symbol sockatmark (number 5) is not exported from
               dependent module /usr/lib/libc.a(shr.o).
      0509-192 Examine .loader section symbols with the
             'dump -Tv' command. at
/usr/opt/perl5/lib/5.8.0/aix-thread-multi/XSLoader.pm line 83.
 at /usr/opt/perl5/lib/5.8.0/aix-thread-multi/IO.pm line 9
Compilation failed in require at
/usr/opt/perl5/lib/5.8.0/aix-thread-multi/IO/Handle.pm line 256.
BEGIN failed--compilation aborted at
/usr/opt/perl5/lib/5.8.0/aix-thread-multi/IO/Handle.pm line 256.
Compilation failed in require at
/usr/opt/perl5/lib/5.8.0/aix-thread-multi/IO/Seekable.pm line 101.
BEGIN failed--compilation aborted at
/usr/opt/perl5/lib/5.8.0/aix-thread-multi/IO/Seekable.pm line 101.
Compilation failed in require at
/usr/opt/perl5/lib/5.8.0/aix-thread-multi/IO/File.pm line 112.
BEGIN failed--compilation aborted at
/usr/opt/perl5/lib/5.8.0/aix-thread-multi/IO/File.pm line 112.
Compilation failed in require at /usr/opt/perl5/lib/5.8.0/FileHandle.pm
line 9.
Compilation failed in require at /opt/oracle/perl/DBI-1.38/blib/lib/DBI.pm
line 1000.
make: 1254-004 The error code from the last command is 255.

Stop.

Here is the output from 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
    usemymalloc=n, bincompat5005=undef
  Compiler:
    cc='cc_r', ccflags ='-D_ALL_SOURCE -D_ANSI_C_SOURCE -D_POSIX_SOURCE
-qmaxmem=16384 -qnoansialias -DUSE_NATIVE_DLOPEN -DNEED_PTHREAD_INIT -q32
-D_LARGE_FILES -qlonglong',
    optimize='-O',
    cppflags='-D_ALL_SOURCE -D_ANSI_C_SOURCE -D_POSIX_SOURCE -qmaxmem=16384
-qnoansialias -DUSE_NATIVE_DLOPEN -DNEED_PTHREAD_INIT'
    ccversion='', gccversion='', gccosandvers=''
    intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=4321
    d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=8
    ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t',
lseeksize=8
    alignbytes=8, prototype=define
  Linker and Libraries:
    ld='ld', ldflags =' -brtl -b32'
    libpth=/lib /usr/lib /usr/ccs/lib
    libs=-lbind -lnsl -ldbm -ldl -lld -lm -lpthreads -lc_r -lcrypt -lbsd
-lPW
    perllibs=-lbind -lnsl -ldl -lld -lm -lpthreads -lc_r -lcrypt -lbsd -lPW
    libc=/lib/libc.a, 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/lib/5.8.0/aix-thread-multi/CORE/perl.exp'
    cccdlflags=' ', lddlflags='-bhalt:4 -bM:SRE -bI:$(PERL_INC)/perl.exp
-bE:$(BASEEXT).exp -bnoentry -lpthreads -lc_r'

Characteristics of this binary (from libperl):
  Compile-time options: MULTIPLICITY USE_ITHREADS USE_LARGE_FILES
PERL_IMPLICIT_CONTEXT
  Built under aix
  Compiled at Jul 26 2002 13:48:15
  %ENV:
    PERL5LIB="/opt/oracle/scripts"
  @INC:
    /opt/oracle/scripts
    /usr/opt/perl5/lib/5.8.0/aix-thread-multi
    /usr/opt/perl5/lib/5.8.0
    /usr/opt/perl5/lib/site_perl/5.8.0/aix-thread-multi
    /usr/opt/perl5/lib/site_perl/5.8.0
    /usr/opt/perl5/lib/site_perl
    .

____________________________________________________________________________

CONFIDENTIALITY NOTICE
This message (including any attachments) contains information that may be
confidential to The Coca-Cola Company. Unless you are the intended
recipient (or authorized to receive for the intended recipient), you may
not read, print, retain, use, copy, distribute or disclose to anyone the
message or any information contained in the message. If you have received
the message in error, please advise the sender by reply e-mail, and destroy
all copies of the original message (including any attachments).



Relevant Pages