RE: DBI installation failure on AIX 5.2, all failure info attached



Larry,

It seems to me you don't have perl installed with the -Duse64bitall
flag.

I attached my installation process for dbi and dbd:oracle on ibm aix5.2.
Hope it helps you.

Kind regards
Bjorn


-----Original Message-----
From: Larry Li [mailto:larry.li@xxxxxxxxxxx]
Sent: donderdag 30 juni 2005 15:46
To: dbi-users@xxxxxxxx
Subject: DBI installation failure on AIX 5.2, all failure info attached
Importance: High




Thanks for your help.



This is Larry Li from Toronto. I am trying to install DBI on AIX 5.2. I
am facing the following failure.



Step 1: seems it succeeded.

root[torts51]/lpp_fs/perl/DBI-1.48: perl Makefile.PL



*** You are using a perl configured with threading enabled.

*** You should be aware that using multiple threads is

*** not recommended for production environments.



*** 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://search.cpan.org/

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 DBI::PurePerl test variant: t/zvpp_01basics.t

Creating DBI::PurePerl test variant: t/zvpp_02dbidrv.t

Creating DBI::PurePerl test variant: t/zvpp_03handle.t

Creating DBI::PurePerl test variant: t/zvpp_04mods.t

Creating DBI::PurePerl test variant: t/zvpp_05thrclone.t (use
threads)

Creating DBI::PurePerl test variant: t/zvpp_06attrs.t

Creating DBI::PurePerl test variant: t/zvpp_07kids.t

Creating DBI::PurePerl test variant: t/zvpp_08keeperr.t

Creating DBI::PurePerl test variant: t/zvpp_09trace.t

Creating DBI::PurePerl test variant: t/zvpp_10examp.t

Creating DBI::PurePerl test variant: t/zvpp_11fetch.t

Creating DBI::PurePerl test variant: t/zvpp_14utf8.t

Creating DBI::PurePerl test variant: t/zvpp_15array.t

Creating DBI::PurePerl test variant: t/zvpp_20meta.t

Creating DBI::PurePerl test variant: t/zvpp_30subclass.t

Creating DBI::PurePerl test variant: t/zvpp_40profile.t

Creating DBI::PurePerl test variant: t/zvpp_41prof_dump.t

Creating DBI::PurePerl test variant: t/zvpp_42prof_data.t

Creating DBI::PurePerl test variant: t/zvpp_50dbm.t

Creating DBI::PurePerl test variant: t/zvpp_60preparse.t

Creating DBI::PurePerl test variant: t/zvpp_80proxy.t



I see you're using perl 5.008 on aix-thread-multi, okay.

Remember to actually *read* the README file!

Use 'make' to build the software (dmake or nmake on Windows).

Then 'make test' to execute self tests.

Then 'make install' to install the DBI and then delete this working

directory before unpacking and building any DBD::* drivers.



Writing Makefile for DBI

root[torts51]/lpp_fs/perl/DBI-1.48:



Step 2: it failed.

root[torts51]/lpp_fs/perl/DBI-1.48: make

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.48\"
-DXS_VERSION=\"1.48\"
"-I/usr/opt/perl5/lib/5.8.0/aix-thread-multi/CORE" Perl.c

cc_r: unrecognized option `-qmaxmem=16384'

cc_r: unrecognized option `-qnoansialias'

cc_r: unrecognized option `-q32'

cc_r: unrecognized option `-qlonglong'

In file included from
/usr/opt/perl5/lib/5.8.0/aix-thread-multi/CORE/perl.h:648,

from DBIXS.h:19,

from Perl.xs:5:

/usr/include/time.h:239: warning: `struct sigevent' declared inside
parameter list

/usr/include/time.h:239: warning: its scope is only this definition or
declaration, which is probably not what you want.

In file included from
/usr/opt/perl5/lib/5.8.0/aix-thread-multi/CORE/perl.h:1969,

from DBIXS.h:19,

from Perl.xs:5:

/usr/include/pthread.h:556: parse error before `*'

/usr/include/pthread.h:559: parse error before `*'

/usr/include/pthread.h:563: parse error before `*'

/usr/include/pthread.h:566: parse error before `*'

/usr/include/pthread.h:569: parse error before `*'

/usr/include/pthread.h:572: parse error before `*'

/usr/include/pthread.h:575: parse error before `*'

/usr/include/pthread.h:578: parse error before `*'

/usr/include/pthread.h:581: parse error before `*'

/usr/include/pthread.h:585: parse error before `*'

/usr/include/pthread.h:588: parse error before `*'

In file included from
/usr/opt/perl5/lib/5.8.0/aix-thread-multi/CORE/op.h:480,

from
/usr/opt/perl5/lib/5.8.0/aix-thread-multi/CORE/perl.h:2209,

from DBIXS.h:19,

from Perl.xs:5:

/usr/opt/perl5/lib/5.8.0/aix-thread-multi/CORE/reentr.h:610: field
`_drand48_struct' has incomplete type

/usr/opt/perl5/lib/5.8.0/aix-thread-multi/CORE/reentr.h:717: field
`_random_struct' has incomplete type

make: 1254-004 The error code from the last command is 1.





Stop.

root[torts51]/lpp_fs/perl/DBI-1.48:



BTW, I don't have cc_r installed on my server. I use "cc" instead.
Actually, "cc_r" is a link to "cc" in my environment.





root[torts51]/lpp_fs/perl/DBI-1.48: 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

@INC:

/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

.

root[torts51]/lpp_fs/perl/DBI-1.48:





I really appreciate your help.



Best regards,





Larry Li



Unix and Storage Specialist

The Travel Corporation

33 Kern Road

Toronto, ON M3B 1S9

larry.li@xxxxxxxxxxx

Tel: 416-849-7102

Fax: 416-849-7150



--- Begin Message ---
Hi, 
 
I finally succeeded in installing a 64bit build of Perl and its modules
for Oracle 64-bit. We were running in 32bit but integrating Proc and
cobols in our perl scripts only worked when we changed environments to
64bit causing problems for the oracle connections in perl. It's nothing
special, no editing of makefiles ... I can't believe I lost so much time
on this one ;) ( Now that I look back to my problems, they were probably
caused by using a wrong perl build for compiling the modules, Aix has
its default perl now under /bin.. stupid me ) 
 
perl 5.8.6 64bit
----------------
../Configure -de -Dcc=gcc -Duse64bitall 
make
make test
make install
 
DBI 1.46
--------
!!Make sure you are using the newly installed perl!!
 check with perl -v it should show : 
 This is perl, v5.8.6 built for aix-64all
perl Makefile.PL
make
make test
make install 
 
DBD-Oracle 1.16
---------------
!!Use correct perl like above mentioned!! 
export ORACLE_HOME=<path to oraclehome> 
export LIBPATH=$ORACLE_HOME/lib
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
 
perl Makefile.PL 
make
make test ( some test may still fail, I had 85% success on tests ) 
make install 
 
Test
---- 
 
test with : 
 use DBI;
 $dbh=DBI->connect("dbi:Oracle:<SID>","system","manager")|| die
$DBI::errstr;
 $stmt=$dbh->prepare("select * from tab");
 $rc=$stmt->execute()  || die $DBI::errstr;
 while (my($record)=$stmt->fetchrow())
 {
  print $record;
 }
 
Happy 64-bit perling ;) 

--- End Message ---


Relevant Pages

  • Problem of DBI build
    ... I installed Oracle Application Server 4.0.8.2 included perl module. ... I need to installe DBI and DBD::Oracle module. ... You can install them any time after installing the DBI. ... line 318: error 1705: Function prototypes are an ANSI feature. ...
    (perl.dbi.users)
  • Problem of DBI build
    ... I installed Oracle Application Server 4.0.8.2 included perl module. ... I need to installe DBI and DBD::Oracle module. ... You can install them any time after installing the DBI. ... line 318: error 1705: Function prototypes are an ANSI feature. ...
    (perl.dbi.users)
  • Installing DBI and DBD::TSM
    ... I am having trouble installing DBI. ... This is perl, v5.8.0 built for aix-thread-multi ... blib/lib/DB ... You can install them any time after installing the DBI. ...
    (perl.dbi.users)
  • Problem of installing DBI packages
    ... my curent configuration of HP Unix system is as below: ... When i do>>perl makefile.PL, ... You can install them any time after installing the DBI. ...
    (perl.dbi.users)
  • Re: DBI Installation Problems
    ... In case if anyone else has this ELFCLASS problem in the future when building DBI & DBD::Oracle on Solaris 10 using a 32-bit Perl installation, here is what worked for me. ... Next you can install DBI as it is normally setup... ... wrong ELF class: ELFCLASS64 at ...
    (perl.dbi.users)