Hello everybody.

I'm trying to get the DBD::Oracle 1.19 Perl module working fine under SuSE
Linux Enterprise Server 10 (IBM Power 64bit).

The version of SLES is 10.0 (no SP1 applied yet) and the version of Perl I'm
using is:

=== cut here == 8< ==

Summary of my perl5 (revision 5 version 8 subversion 8) configuration:
  Platform:
    osname=linux, osvers=2.6.16, archname=ppc-linux-thread-multi-64int
    uname='linux pear 2.6.16 #1 smp mon may 22 14:37:02 utc 2006 ppc ppc ppc
gnulinux '
    config_args='-ds -e -Dprefix=/usr -Dvendorprefix=/usr -Dinstallusrbinperl
-Dusethreads -Di_db -Di_dbm -Di_ndbm -Di_gdbm -Duseshrplib=true -Doptimize=-O2
-fmessage-length=0 -Wall -D_FORTIFY_SOURCE=2 -g -Wall -pipe -Duse64bitint'
    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=define use64bitall=undef uselongdouble=undef
    usemymalloc=n, bincompat5005=undef
  Compiler:
    cc='cc', ccflags ='-D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS
-DDEBUGGING -fno-strict-aliasing -pipe -Wdeclaration-after-statement
-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64',
    optimize='-O2 -fmessage-length=0 -Wall -D_FORTIFY_SOURCE=2 -g -Wall -pipe',
    cppflags='-D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS -DDEBUGGING
-fno-strict-aliasing -pipe -Wdeclaration-after-statement'
    ccversion='', gccversion='4.1.0 (SUSE Linux)', gccosandvers=''
    intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=87654321
    d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16
    ivtype='long long', ivsize=8, nvtype='double', nvsize=8, Off_t='off_t',
lseeksize=8
    alignbytes=8, prototype=define
  Linker and Libraries:
    ld='cc', ldflags =''
    libpth=/lib /usr/lib /lib64 /usr/lib64 /usr/local/lib
    libs=-lnsl -ldl -lm -lcrypt -lutil -lpthread -lc
    perllibs=-lnsl -ldl -lm -lcrypt -lutil -lpthread -lc
    libc=/lib/libc-2.4.so, so=so, useshrplib=true, libperl=libperl.so
    gnulibc_version='2.4'
  Dynamic Linking:
    dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Wl,-E
-Wl,-rpath,/usr/lib/perl5/5.8.8/ppc-linux-thread-multi-64int/CORE'
    cccdlflags='-fPIC', lddlflags='-shared'


Characteristics of this binary (from libperl):
  Compile-time options: DEBUGGING MULTIPLICITY PERL_IMPLICIT_CONTEXT
                        PERL_MALLOC_WRAP THREADS_HAVE_PIDS USE_64_BIT_INT
                        USE_ITHREADS USE_LARGE_FILES USE_PERLIO
                        USE_REENTRANT_API
  Built under linux
  Compiled at Jun 16 2006 12:27:43
  @INC:
    /usr/lib/perl5/5.8.8/ppc-linux-thread-multi-64int
    /usr/lib/perl5/5.8.8
    /usr/lib/perl5/site_perl/5.8.8/ppc-linux-thread-multi-64int
    /usr/lib/perl5/site_perl/5.8.8
    /usr/lib/perl5/site_perl
    /usr/lib/perl5/vendor_perl/5.8.8/ppc-linux-thread-multi-64int
    /usr/lib/perl5/vendor_perl/5.8.8
    /usr/lib/perl5/vendor_perl

=== cut here == 8< ==

GCC is version 4.1.0 (SUSE Linux).

I installed version 10.2.0.2 of the InstanClient Oracle Client for Linux
(Power) both 32bit and 64bit.

When trying to compile with the 32bit module, I have a "Segmentation Fault"
when using a Perl test script (during the DBI->connect phase) where when using
the 64bit version the linker "skips" over the Oracle provided
libclntsh.so.10.1 (it's incompatible but to me it seems fine).

Anyway, here's what I did:

####################
## 32 bit version ##
####################

. Downloaded:

instantclient-basic-linuxppc32-10.2.0.2-20060327.zip
instantclient-sqlplus-linuxppc32-10.2.0.2-20060327.zip
instantclient-sdk-linuxppc32-10.2.0.2-20060327.zip

. Checked their checksums against the ones reported on Oracle's website (and
they do match)

. Used the sqlplus to connect to an existing Oracle database (and it
  works fine). Eg:

=== cut here == 8< ==

ORACLE_HOME=/opt/product/instantclient_10_2
LD_LIBRARY_PATH=/opt/product/instantclient_10_2

export ORACLE_HOME LD_LIBRARY_PATH

cd $LD_LIBRARY_PATH
./sqlplus bdn_test@'(DESCRIPTION = (ADDRESS_LIST =(ADDRESS = (PROTOCOL =
TCP)(HOST = 192.168.230.102)(PORT = 1521)))(CONNECT_DATA =(SERVICE_NAME =
BDNDR)))'

=== cut here == 8< ==

I'm prompted with the bdn_test password which, once given, get me to the prompt.

. Expanded the above files under /opt/product/instantclient_10_2

. Downloaded the DBD-Oracle-1.19 package

. The version of the DBI package is perl-DBI-1.50-13.2

. Extracted the DBD-Oracle-1.19 package

. export ORACLE_HOME=/opt/product/instantclient_10_2
. export LD_LIBRARY_PATH=/opt/product/instantclient_10_2

. perl Makefile.PL reports the following:

=== cut here == 8< ==

Multiple copies of Driver.xst found in:
/usr/lib/perl5/site_perl/5.8.8/ppc-linux-thread-multi-64int/auto/DBI/
/usr/lib/perl5/vendor_perl/5.8.8/ppc-linux-thread-multi-64int/auto/DBI/ at
Makefile.PL line 35
Using DBI 1.50 (for perl 5.008008 on ppc-linux-thread-multi-64int) installed
in /usr/lib/perl5/site_perl/5.8.8/ppc-linux-thread-multi-64int/auto/DBI/

Configuring DBD::Oracle for perl 5.008008 on linux 
(ppc-linux-thread-multi-64int)

Remember to actually *READ* the README file! Especially if you have any 
problems.

Using Oracle in /opt/product/instantclient_10_2
DEFINE _SQLPLUS_RELEASE = "1002000200" (CHAR)
Oracle version 10.2.0.2 (10.2)
Looks like an Instant Client installation, okay
Your LD_LIBRARY_PATH env var is set to '/opt/product/instantclient_10_2'
Oracle sysliblist:
Found header files in /opt/product/instantclient_10_2/sdk/include.

Checking for functioning wait.ph
Constant subroutine __USE_POSIX undefined at
/usr/lib/perl5/vendor_perl/5.8.8/ppc-linux-thread-multi-64int/features.ph line 
8.
Constant subroutine __USE_POSIX2 undefined at
/usr/lib/perl5/vendor_perl/5.8.8/ppc-linux-thread-multi-64int/features.ph line 
9.
Constant subroutine __USE_POSIX199309 undefined at
/usr/lib/perl5/vendor_perl/5.8.8/ppc-linux-thread-multi-64int/features.ph line 
10.
Constant subroutine __USE_POSIX199506 undefined at
/usr/lib/perl5/vendor_perl/5.8.8/ppc-linux-thread-multi-64int/features.ph line 
11.
Constant subroutine __USE_XOPEN undefined at
/usr/lib/perl5/vendor_perl/5.8.8/ppc-linux-thread-multi-64int/features.ph line 
12.
Constant subroutine __USE_XOPEN_EXTENDED undefined at
/usr/lib/perl5/vendor_perl/5.8.8/ppc-linux-thread-multi-64int/features.ph line 
13.
Constant subroutine __USE_UNIX98 undefined at
/usr/lib/perl5/vendor_perl/5.8.8/ppc-linux-thread-multi-64int/features.ph line 
14.
Constant subroutine __USE_LARGEFILE undefined at
/usr/lib/perl5/vendor_perl/5.8.8/ppc-linux-thread-multi-64int/features.ph line 
16.
Constant subroutine __USE_LARGEFILE64 undefined at
/usr/lib/perl5/vendor_perl/5.8.8/ppc-linux-thread-multi-64int/features.ph line 
17.
Constant subroutine __USE_FILE_OFFSET64 undefined at
/usr/lib/perl5/vendor_perl/5.8.8/ppc-linux-thread-multi-64int/features.ph line 
18.
Constant subroutine __USE_BSD undefined at
/usr/lib/perl5/vendor_perl/5.8.8/ppc-linux-thread-multi-64int/features.ph line 
19.
Constant subroutine __USE_SVID undefined at
/usr/lib/perl5/vendor_perl/5.8.8/ppc-linux-thread-multi-64int/features.ph line 
20.
Constant subroutine __USE_MISC undefined at
/usr/lib/perl5/vendor_perl/5.8.8/ppc-linux-thread-multi-64int/features.ph line 
21.
Constant subroutine __USE_GNU undefined at
/usr/lib/perl5/vendor_perl/5.8.8/ppc-linux-thread-multi-64int/features.ph line 
23.
Constant subroutine __USE_REENTRANT undefined at
/usr/lib/perl5/vendor_perl/5.8.8/ppc-linux-thread-multi-64int/features.ph line 
24.
Constant subroutine _POSIX_SOURCE undefined at
/usr/lib/perl5/vendor_perl/5.8.8/ppc-linux-thread-multi-64int/features.ph line 
49.
Constant subroutine _POSIX_C_SOURCE undefined at
/usr/lib/perl5/vendor_perl/5.8.8/ppc-linux-thread-multi-64int/features.ph line 
51.
Constant subroutine _XOPEN_SOURCE undefined at
/usr/lib/perl5/vendor_perl/5.8.8/ppc-linux-thread-multi-64int/features.ph line 
53.
Constant subroutine _XOPEN_SOURCE_EXTENDED undefined at
/usr/lib/perl5/vendor_perl/5.8.8/ppc-linux-thread-multi-64int/features.ph line 
55.
Constant subroutine _LARGEFILE64_SOURCE undefined at
/usr/lib/perl5/vendor_perl/5.8.8/ppc-linux-thread-multi-64int/features.ph line 
57.
Constant subroutine _LARGEFILE_SOURCE undefined at
/usr/lib/perl5/vendor_perl/5.8.8/ppc-linux-thread-multi-64int/features.ph line
104.
Constant subroutine __GNU_LIBRARY__ undefined at
/usr/lib/perl5/vendor_perl/5.8.8/ppc-linux-thread-multi-64int/features.ph line
156.


System: perl5.008008 linux pear 2.6.16 #1 smp mon may 22 14:37:02 utc 2006 ppc
ppc ppc gnulinux
Compiler:   cc -O2 -fmessage-length=0 -Wall -D_FORTIFY_SOURCE=2 -g -Wall -pipe
-D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS -DDEBUGGING
-fno-strict-aliasing -pipe -Wdeclaration-after-statement -D_LARGEFILE_SOURCE
-D_FILE_OFFSET_BITS=64
Linker:     /usr/bin/ld
Sysliblist:
Linking with -lclntsh.

Checking if your kit is complete...
Looks good
LD_RUN_PATH=/opt/product/instantclient_10_2
Using DBD::Oracle 1.19.
Using DBD::Oracle 1.19.
Multiple copies of Driver.xst found in:
/usr/lib/perl5/site_perl/5.8.8/ppc-linux-thread-multi-64int/auto/DBI/
/usr/lib/perl5/vendor_perl/5.8.8/ppc-linux-thread-multi-64int/auto/DBI/ at
Makefile.PL line 1635
Using DBI 1.50 (for perl 5.008008 on ppc-linux-thread-multi-64int) installed
in /usr/lib/perl5/site_perl/5.8.8/ppc-linux-thread-multi-64int/auto/DBI/
Writing Makefile for DBD::Oracle

***  If you have problems...
     read all the log printed above, and the README and README.help.txt files.
     (Of course, you have read README by now anyway, haven't you?)

=== cut here == 8< ==

As you can see, there are some undefined but the Makefile gets completed.

. make

=== cut here == 8< ==

cp Oracle.pm blib/lib/DBD/Oracle.pm
cp mkta.pl blib/lib/DBD/mkta.pl
cp oraperl.ph blib/lib/oraperl.ph
cp dbdimp.h blib/arch/auto/DBD/Oracle/dbdimp.h
cp ocitrace.h blib/arch/auto/DBD/Oracle/ocitrace.h
cp Oraperl.pm blib/lib/Oraperl.pm
cp Oracle.h blib/arch/auto/DBD/Oracle/Oracle.h
cp mk.pm blib/arch/auto/DBD/Oracle/mk.pm
cp lib/DBD/Oracle/GetInfo.pm blib/lib/DBD/Oracle/GetInfo.pm
/usr/bin/perl -p -e "s/~DRIVER~/Oracle/g"
/usr/lib/perl5/site_perl/5.8.8/ppc-linux-thread-multi-64int/auto/DBI//Driver.xst
> Oracle.xsi
/usr/bin/perl /usr/lib/perl5/5.8.8/ExtUtils/xsubpp  -typemap
/usr/lib/perl5/5.8.8/ExtUtils/typemap -typemap typemap  Oracle.xs > Oracle.xsc
&& mv Oracle.xsc Oracle.c
cc -c  -I/opt/product/instantclient_10_2/sdk/include
-I/usr/lib/perl5/site_perl/5.8.8/ppc-linux-thread-multi-64int/auto/DBI/
-D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS -DDEBUGGING
-fno-strict-aliasing -pipe -Wdeclaration-after-statement -D_LARGEFILE_SOURCE
-D_FILE_OFFSET_BITS=64 -O2 -fmessage-length=0 -Wall -D_FORTIFY_SOURCE=2 -g
-Wall -pipe   -DVERSION=\"1.19\" -DXS_VERSION=\"1.19\" -fPIC
"-I/usr/lib/perl5/5.8.8/ppc-linux-thread-multi-64int/CORE"  -Wall -Wno-comment
-DUTF8_SUPPORT -DNEW_OCI_INIT -DORA_OCI_VERSION=\"10.2.0.2\" Oracle.c
In file included from
/usr/lib/perl5/site_perl/5.8.8/ppc-linux-thread-multi-64int/auto/DBI/DBIXS.h:31,
                 from Oracle.h:13,
                 from Oracle.xs:1:
/usr/lib/perl5/site_perl/5.8.8/ppc-linux-thread-multi-64int/auto/DBI/dbipport.h:227:1:
warning: "PERL_UNUSED_DECL" redefined
In file included from
/usr/lib/perl5/site_perl/5.8.8/ppc-linux-thread-multi-64int/auto/DBI/DBIXS.h:19,
                 from Oracle.h:13,
                 from Oracle.xs:1:
/usr/lib/perl5/5.8.8/ppc-linux-thread-multi-64int/CORE/perl.h:163:1: warning:
this is the location of the previous definition
cc -c  -I/opt/product/instantclient_10_2/sdk/include
-I/usr/lib/perl5/site_perl/5.8.8/ppc-linux-thread-multi-64int/auto/DBI/
-D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS -DDEBUGGING
-fno-strict-aliasing -pipe -Wdeclaration-after-statement -D_LARGEFILE_SOURCE
-D_FILE_OFFSET_BITS=64 -O2 -fmessage-length=0 -Wall -D_FORTIFY_SOURCE=2 -g
-Wall -pipe   -DVERSION=\"1.19\" -DXS_VERSION=\"1.19\" -fPIC
"-I/usr/lib/perl5/5.8.8/ppc-linux-thread-multi-64int/CORE"  -Wall -Wno-comment
-DUTF8_SUPPORT -DNEW_OCI_INIT -DORA_OCI_VERSION=\"10.2.0.2\" dbdimp.c
In file included from
/usr/lib/perl5/site_perl/5.8.8/ppc-linux-thread-multi-64int/auto/DBI/DBIXS.h:31,
                 from Oracle.h:13,
                 from dbdimp.c:20:
/usr/lib/perl5/site_perl/5.8.8/ppc-linux-thread-multi-64int/auto/DBI/dbipport.h:227:1:
warning: "PERL_UNUSED_DECL" redefined
In file included from
/usr/lib/perl5/site_perl/5.8.8/ppc-linux-thread-multi-64int/auto/DBI/DBIXS.h:19,
                 from Oracle.h:13,
                 from dbdimp.c:20:
/usr/lib/perl5/5.8.8/ppc-linux-thread-multi-64int/CORE/perl.h:163:1: warning:
this is the location of the previous definition
dbdimp.c: In function ‘dbd_discon_all’:
dbdimp.c:190: warning: unused variable ‘Perl___notused’
dbdimp.c: In function ‘ora_db_login6’:
dbdimp.c:385: warning: cast to pointer from integer of different size
dbdimp.c:399: warning: cast to pointer from integer of different size
dbdimp.c:409: warning: cast to pointer from integer of different size
dbdimp.c:413: warning: cast to pointer from integer of different size
dbdimp.c:700: warning: value computed is not used
dbdimp.c:312: warning: unused variable ‘Perl___notused’
dbdimp.c: In function ‘ora_db_disconnect’:
dbdimp.c:760: warning: unused variable ‘Perl___notused’
dbdimp.c: In function ‘ora_db_destroy’:
dbdimp.c:797: warning: unused variable ‘my_perl’
dbdimp.c: In function ‘dbd_rebind_ph_char’:
dbdimp.c:1110: warning: value computed is not used
dbdimp.c:1169: warning: cast from pointer to integer of different size
dbdimp.c: In function ‘pp_exec_rset’:
dbdimp.c:1254: warning: unused variable ‘my_perl’
dbdimp.c:1269: warning: unused variable ‘my_perl’
dbdimp.c:1276: warning: unused variable ‘Perl___notused’
dbdimp.c: In function ‘ora_st_execute’:
dbdimp.c:1655: warning: unused variable ‘Perl___notused’
dbdimp.c: In function ‘ora_st_execute_array’:
dbdimp.c:1985: warning: value computed is not used
dbdimp.c:1859: warning: unused variable ‘Perl___notused’
dbdimp.c: In function ‘ora_st_finish’:
dbdimp.c:2144: warning: unused variable ‘Perl___notused’
dbdimp.c: In function ‘ora_st_destroy’:
dbdimp.c:2237: warning: unused variable ‘my_perl’
cc -c  -I/opt/product/instantclient_10_2/sdk/include
-I/usr/lib/perl5/site_perl/5.8.8/ppc-linux-thread-multi-64int/auto/DBI/
-D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS -DDEBUGGING
-fno-strict-aliasing -pipe -Wdeclaration-after-statement -D_LARGEFILE_SOURCE
-D_FILE_OFFSET_BITS=64 -O2 -fmessage-length=0 -Wall -D_FORTIFY_SOURCE=2 -g
-Wall -pipe   -DVERSION=\"1.19\" -DXS_VERSION=\"1.19\" -fPIC
"-I/usr/lib/perl5/5.8.8/ppc-linux-thread-multi-64int/CORE"  -Wall -Wno-comment
-DUTF8_SUPPORT -DNEW_OCI_INIT -DORA_OCI_VERSION=\"10.2.0.2\" oci8.c
In file included from
/usr/lib/perl5/site_perl/5.8.8/ppc-linux-thread-multi-64int/auto/DBI/DBIXS.h:31,
                 from Oracle.h:13,
                 from oci8.c:11:
/usr/lib/perl5/site_perl/5.8.8/ppc-linux-thread-multi-64int/auto/DBI/dbipport.h:227:1:
warning: "PERL_UNUSED_DECL" redefined
In file included from
/usr/lib/perl5/site_perl/5.8.8/ppc-linux-thread-multi-64int/auto/DBI/DBIXS.h:19,
                 from Oracle.h:13,
                 from oci8.c:11:
/usr/lib/perl5/5.8.8/ppc-linux-thread-multi-64int/CORE/perl.h:163:1: warning:
this is the location of the previous definition
oci8.c: In function ‘fetch_cleanup_rset’:
oci8.c:608: warning: unused variable ‘Perl___notused’
oci8.c: In function ‘fetch_func_rset’:
oci8.c:644: warning: unused variable ‘my_perl’
oci8.c:652: warning: value computed is not used
oci8.c:655: warning: unused variable ‘my_perl’
oci8.c:632: warning: unused variable ‘Perl___notused’
oci8.c: In function ‘dbd_rebind_ph_lob’:
oci8.c:748: warning: value computed is not used
oci8.c:779: warning: value computed is not used
oci8.c: In function ‘ora_st_fetch’:
oci8.c:1673: warning: unused variable ‘Perl___notused’
oci8.c:1680: warning: unused variable ‘Perl___notused’
oci8.c: In function ‘post_execute_lobs’:
oci8.c:2246: warning: value computed is not used
Running Mkbootstrap for DBD::Oracle ()
chmod 644 Oracle.bs
rm -f blib/arch/auto/DBD/Oracle/Oracle.so
LD_RUN_PATH="/opt/product/instantclient_10_2" cc  -shared Oracle.o dbdimp.o
oci8.o  -o blib/arch/auto/DBD/Oracle/Oracle.so      \
   -L/opt/product/instantclient_10_2 -lclntsh   \

chmod 755 blib/arch/auto/DBD/Oracle/Oracle.so
cp Oracle.bs blib/arch/auto/DBD/Oracle/Oracle.bs
chmod 644 blib/arch/auto/DBD/Oracle/Oracle.bs
/usr/bin/perl "-Iblib/arch" "-Iblib/lib" ora_explain.PL ora_explain
Extracted ora_explain from ora_explain.PL with variable substitutions.
cp ora_explain blib/script/ora_explain
/usr/bin/perl "-MExtUtils::MY" -e "MY->fixin(shift)" blib/script/ora_explain
Manifying blib/man1/ora_explain.1
Manifying blib/man3/DBD::Oracle.3pm
Manifying blib/man3/DBD::Oraperl.3pm

=== cut here == 8< ==

Lots of warnings but the files get compiled

. make install

=== cut here == 8< ==

Installing
/usr/lib/perl5/site_perl/5.8.8/ppc-linux-thread-multi-64int/auto/DBD/Oracle/dbdimp.h
Installing
/usr/lib/perl5/site_perl/5.8.8/ppc-linux-thread-multi-64int/auto/DBD/Oracle/mk.pm
Installing
/usr/lib/perl5/site_perl/5.8.8/ppc-linux-thread-multi-64int/auto/DBD/Oracle/Oracle.h
Installing
/usr/lib/perl5/site_perl/5.8.8/ppc-linux-thread-multi-64int/auto/DBD/Oracle/Oracle.bs
Installing
/usr/lib/perl5/site_perl/5.8.8/ppc-linux-thread-multi-64int/auto/DBD/Oracle/Oracle.so
Installing
/usr/lib/perl5/site_perl/5.8.8/ppc-linux-thread-multi-64int/auto/DBD/Oracle/ocitrace.h
Files found in blib/arch: installing files in blib/lib into architecture
dependent library tree
Installing 
/usr/lib/perl5/site_perl/5.8.8/ppc-linux-thread-multi-64int/Oraperl.pm
Installing 
/usr/lib/perl5/site_perl/5.8.8/ppc-linux-thread-multi-64int/oraperl.ph
Installing 
/usr/lib/perl5/site_perl/5.8.8/ppc-linux-thread-multi-64int/DBD/mkta.pl
Installing
/usr/lib/perl5/site_perl/5.8.8/ppc-linux-thread-multi-64int/DBD/Oracle.pm
Installing
/usr/lib/perl5/site_perl/5.8.8/ppc-linux-thread-multi-64int/DBD/Oracle/GetInfo.pm
Installing /usr/share/man/man1/ora_explain.1
Installing /usr/share/man/man3/DBD::Oraperl.3pm
Installing /usr/share/man/man3/DBD::Oracle.3pm
Installing /usr/bin/ora_explain
Writing
/usr/lib/perl5/site_perl/5.8.8/ppc-linux-thread-multi-64int/auto/DBD/Oracle/.packlist
Appending installation info to
/usr/lib/perl5/5.8.8/ppc-linux-thread-multi-64int/perllocal.po

=== cut here == 8< ==

. Tried to execute that simple script:

=== cut here == 8< ==

#!/usr/bin/perl
use DBI;
use DBD::Oracle qw(:ora_types);
use CGI qw/:standard/;

$dbi_stringa_connessione = 'dbi:Oracle:(DESCRIPTION = (ADDRESS_LIST =(ADDRESS
(PROTOCOL = TCP)(HOST = 192.168.230.102)(PORT =
1521)))(CONNECT_DATA=(SERVICE_NAME = BDNDR)))';

$dbi_username = 'bdn_test'; $dbi_password = 'bdn_test';

print "Before connect\n";
$dbh = DBI->connect($dbi_stringa_connessione,$dbi_username,$dbi_password);
print "After connect\n";

=== cut here == 8< ==

. The script bombs out with a "Segmentation fault"

I tried by removing the DBD::Oracle module with a manual unlinking of the
required files and compiling again both with the "-p" and "-nob" option but
things did not change.

I also tried by using version 10.2.0.1 of required Oracle packages but
unsuccessfully.

I also specified the "-m32" option of GCC as to force 32 binaries but again no
dice.

####################
## 64 bit version ##
####################

. Downloaded the required file from Oracle's website:

instantclient-basic-linuxppc-10.2.0.2-20060327.zip
instantclient-sqlplus-linuxppc-10.2.0.2-20060327.zip
instantclient-sdk-linuxppc-10.2.0.2-20060327.zip

. Checked the "sqlplus" package with the very same script reported above
  (and the connection does work)

. export LD_LIBRARY_PATH=/opt/product/oraclient64/instantclient_10_2
. export ORACLE_HOME=/opt/product/oraclient64/instantclient_10_2

. Remove the DBD::Oracle package

. make realclean

. perl Makefile.PL

=== cut here == 8< ==

Multiple copies of Driver.xst found in:
/usr/lib/perl5/site_perl/5.8.8/ppc-linux-thread-multi-64int/auto/DBI/
/usr/lib/perl5/vendor_perl/5.8.8/ppc-linux-thread-multi-64int/auto/DBI/ at
Makefile.PL line 35
Using DBI 1.50 (for perl 5.008008 on ppc-linux-thread-multi-64int) installed
in /usr/lib/perl5/site_perl/5.8.8/ppc-linux-thread-multi-64int/auto/DBI/

Configuring DBD::Oracle for perl 5.008008 on linux 
(ppc-linux-thread-multi-64int)

Remember to actually *READ* the README file! Especially if you have any 
problems.

Using Oracle in /opt/product/oraclient64/instantclient_10_2
DEFINE _SQLPLUS_RELEASE = "1002000200" (CHAR)
Oracle version 10.2.0.2 (10.2)
Looks like an Instant Client installation, okay
Your LD_LIBRARY_PATH env var is set to
'/opt/product/oraclient64/instantclient_10_2'
Oracle sysliblist:
Found header files in /opt/product/oraclient64/instantclient_10_2/sdk/include.

Checking for functioning wait.ph
Constant subroutine __USE_POSIX undefined at
/usr/lib/perl5/vendor_perl/5.8.8/ppc-linux-thread-multi-64int/features.ph line 
8.
Constant subroutine __USE_POSIX2 undefined at
/usr/lib/perl5/vendor_perl/5.8.8/ppc-linux-thread-multi-64int/features.ph line 
9.
Constant subroutine __USE_POSIX199309 undefined at
/usr/lib/perl5/vendor_perl/5.8.8/ppc-linux-thread-multi-64int/features.ph line 
10.
Constant subroutine __USE_POSIX199506 undefined at
/usr/lib/perl5/vendor_perl/5.8.8/ppc-linux-thread-multi-64int/features.ph line 
11.
Constant subroutine __USE_XOPEN undefined at
/usr/lib/perl5/vendor_perl/5.8.8/ppc-linux-thread-multi-64int/features.ph line 
12.
Constant subroutine __USE_XOPEN_EXTENDED undefined at
/usr/lib/perl5/vendor_perl/5.8.8/ppc-linux-thread-multi-64int/features.ph line 
13.
Constant subroutine __USE_UNIX98 undefined at
/usr/lib/perl5/vendor_perl/5.8.8/ppc-linux-thread-multi-64int/features.ph line 
14.
Constant subroutine __USE_LARGEFILE undefined at
/usr/lib/perl5/vendor_perl/5.8.8/ppc-linux-thread-multi-64int/features.ph line 
16.
Constant subroutine __USE_LARGEFILE64 undefined at
/usr/lib/perl5/vendor_perl/5.8.8/ppc-linux-thread-multi-64int/features.ph line 
17.
Constant subroutine __USE_FILE_OFFSET64 undefined at
/usr/lib/perl5/vendor_perl/5.8.8/ppc-linux-thread-multi-64int/features.ph line 
18.
Constant subroutine __USE_BSD undefined at
/usr/lib/perl5/vendor_perl/5.8.8/ppc-linux-thread-multi-64int/features.ph line 
19.
Constant subroutine __USE_SVID undefined at
/usr/lib/perl5/vendor_perl/5.8.8/ppc-linux-thread-multi-64int/features.ph line 
20.
Constant subroutine __USE_MISC undefined at
/usr/lib/perl5/vendor_perl/5.8.8/ppc-linux-thread-multi-64int/features.ph line 
21.
Constant subroutine __USE_GNU undefined at
/usr/lib/perl5/vendor_perl/5.8.8/ppc-linux-thread-multi-64int/features.ph line 
23.
Constant subroutine __USE_REENTRANT undefined at
/usr/lib/perl5/vendor_perl/5.8.8/ppc-linux-thread-multi-64int/features.ph line 
24.
Constant subroutine _POSIX_SOURCE undefined at
/usr/lib/perl5/vendor_perl/5.8.8/ppc-linux-thread-multi-64int/features.ph line 
49.
Constant subroutine _POSIX_C_SOURCE undefined at
/usr/lib/perl5/vendor_perl/5.8.8/ppc-linux-thread-multi-64int/features.ph line 
51.
Constant subroutine _XOPEN_SOURCE undefined at
/usr/lib/perl5/vendor_perl/5.8.8/ppc-linux-thread-multi-64int/features.ph line 
53.
Constant subroutine _XOPEN_SOURCE_EXTENDED undefined at
/usr/lib/perl5/vendor_perl/5.8.8/ppc-linux-thread-multi-64int/features.ph line 
55.
Constant subroutine _LARGEFILE64_SOURCE undefined at
/usr/lib/perl5/vendor_perl/5.8.8/ppc-linux-thread-multi-64int/features.ph line 
57.
Constant subroutine _LARGEFILE_SOURCE undefined at
/usr/lib/perl5/vendor_perl/5.8.8/ppc-linux-thread-multi-64int/features.ph line
104.
Constant subroutine __GNU_LIBRARY__ undefined at
/usr/lib/perl5/vendor_perl/5.8.8/ppc-linux-thread-multi-64int/features.ph line
156.


System: perl5.008008 linux pear 2.6.16 #1 smp mon may 22 14:37:02 utc 2006 ppc
ppc ppc gnulinux
Compiler:   cc -O2 -fmessage-length=0 -Wall -D_FORTIFY_SOURCE=2 -g -Wall -pipe
-D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS -DDEBUGGING
-fno-strict-aliasing -pipe -Wdeclaration-after-statement -D_LARGEFILE_SOURCE
-D_FILE_OFFSET_BITS=64
Linker:     /usr/bin/ld
Sysliblist:
Linking with -lclntsh.

LD_RUN_PATH=/opt/product/oraclient64/instantclient_10_2
Using DBD::Oracle 1.19.
Using DBD::Oracle 1.19.
Multiple copies of Driver.xst found in:
/usr/lib/perl5/site_perl/5.8.8/ppc-linux-thread-multi-64int/auto/DBI/
/usr/lib/perl5/vendor_perl/5.8.8/ppc-linux-thread-multi-64int/auto/DBI/ at
Makefile.PL line 1635
Using DBI 1.50 (for perl 5.008008 on ppc-linux-thread-multi-64int) installed
in /usr/lib/perl5/site_perl/5.8.8/ppc-linux-thread-multi-64int/auto/DBI/
Writing Makefile for DBD::Oracle

=== cut here == 8< ==

. make

=== cut here == 8< ==

Skip blib/lib/DBD/Oracle.pm (unchanged)
Skip blib/lib/DBD/mkta.pl (unchanged)
Skip blib/lib/oraperl.ph (unchanged)
Skip blib/arch/auto/DBD/Oracle/dbdimp.h (unchanged)
Skip blib/arch/auto/DBD/Oracle/ocitrace.h (unchanged)
Skip blib/lib/Oraperl.pm (unchanged)
Skip blib/arch/auto/DBD/Oracle/Oracle.h (unchanged)
cp mk.pm blib/arch/auto/DBD/Oracle/mk.pm
Skip blib/lib/DBD/Oracle/GetInfo.pm (unchanged)
cc -c  -I/opt/product/oraclient64/instantclient_10_2/sdk/include
-I/usr/lib/perl5/site_perl/5.8.8/ppc-linux-thread-multi-64int/auto/DBI/
-D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS -DDEBUGGING
-fno-strict-aliasing -pipe -Wdeclaration-after-statement -D_LARGEFILE_SOURCE
-D_FILE_OFFSET_BITS=64 -O2 -fmessage-length=0 -Wall -D_FORTIFY_SOURCE=2 -g
-Wall -pipe   -DVERSION=\"1.19\" -DXS_VERSION=\"1.19\" -fPIC
"-I/usr/lib/perl5/5.8.8/ppc-linux-thread-multi-64int/CORE"  -Wall -Wno-comment
-DUTF8_SUPPORT -DNEW_OCI_INIT -DORA_OCI_VERSION=\"10.2.0.2\" Oracle.c
In file included from
/usr/lib/perl5/site_perl/5.8.8/ppc-linux-thread-multi-64int/auto/DBI/DBIXS.h:31,
                 from Oracle.h:13,
                 from Oracle.xs:1:
/usr/lib/perl5/site_perl/5.8.8/ppc-linux-thread-multi-64int/auto/DBI/dbipport.h:227:1:
warning: "PERL_UNUSED_DECL" redefined
In file included from
/usr/lib/perl5/site_perl/5.8.8/ppc-linux-thread-multi-64int/auto/DBI/DBIXS.h:19,
                 from Oracle.h:13,
                 from Oracle.xs:1:
/usr/lib/perl5/5.8.8/ppc-linux-thread-multi-64int/CORE/perl.h:163:1: warning:
this is the location of the previous definition
cc -c  -I/opt/product/oraclient64/instantclient_10_2/sdk/include
-I/usr/lib/perl5/site_perl/5.8.8/ppc-linux-thread-multi-64int/auto/DBI/
-D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS -DDEBUGGING
-fno-strict-aliasing -pipe -Wdeclaration-after-statement -D_LARGEFILE_SOURCE
-D_FILE_OFFSET_BITS=64 -O2 -fmessage-length=0 -Wall -D_FORTIFY_SOURCE=2 -g
-Wall -pipe   -DVERSION=\"1.19\" -DXS_VERSION=\"1.19\" -fPIC
"-I/usr/lib/perl5/5.8.8/ppc-linux-thread-multi-64int/CORE"  -Wall -Wno-comment
-DUTF8_SUPPORT -DNEW_OCI_INIT -DORA_OCI_VERSION=\"10.2.0.2\" dbdimp.c
In file included from
/usr/lib/perl5/site_perl/5.8.8/ppc-linux-thread-multi-64int/auto/DBI/DBIXS.h:31,
                 from Oracle.h:13,
                 from dbdimp.c:20:
/usr/lib/perl5/site_perl/5.8.8/ppc-linux-thread-multi-64int/auto/DBI/dbipport.h:227:1:
warning: "PERL_UNUSED_DECL" redefined
In file included from
/usr/lib/perl5/site_perl/5.8.8/ppc-linux-thread-multi-64int/auto/DBI/DBIXS.h:19,
                 from Oracle.h:13,
                 from dbdimp.c:20:
/usr/lib/perl5/5.8.8/ppc-linux-thread-multi-64int/CORE/perl.h:163:1: warning:
this is the location of the previous definition
dbdimp.c: In function ‘dbd_discon_all’:
dbdimp.c:190: warning: unused variable ‘Perl___notused’
dbdimp.c: In function ‘ora_db_login6’:
dbdimp.c:385: warning: cast to pointer from integer of different size
dbdimp.c:399: warning: cast to pointer from integer of different size
dbdimp.c:409: warning: cast to pointer from integer of different size
dbdimp.c:413: warning: cast to pointer from integer of different size
dbdimp.c:700: warning: value computed is not used
dbdimp.c:312: warning: unused variable ‘Perl___notused’
dbdimp.c: In function ‘ora_db_disconnect’:
dbdimp.c:760: warning: unused variable ‘Perl___notused’
dbdimp.c: In function ‘ora_db_destroy’:
dbdimp.c:797: warning: unused variable ‘my_perl’
dbdimp.c: In function ‘dbd_rebind_ph_char’:
dbdimp.c:1110: warning: value computed is not used
dbdimp.c:1169: warning: cast from pointer to integer of different size
dbdimp.c: In function ‘pp_exec_rset’:
dbdimp.c:1254: warning: unused variable ‘my_perl’
dbdimp.c:1269: warning: unused variable ‘my_perl’
dbdimp.c:1276: warning: unused variable ‘Perl___notused’
dbdimp.c: In function ‘ora_st_execute’:
dbdimp.c:1655: warning: unused variable ‘Perl___notused’
dbdimp.c: In function ‘ora_st_execute_array’:
dbdimp.c:1985: warning: value computed is not used
dbdimp.c:1859: warning: unused variable ‘Perl___notused’
dbdimp.c: In function ‘ora_st_finish’:
dbdimp.c:2144: warning: unused variable ‘Perl___notused’
dbdimp.c: In function ‘ora_st_destroy’:
dbdimp.c:2237: warning: unused variable ‘my_perl’
cc -c  -I/opt/product/oraclient64/instantclient_10_2/sdk/include
-I/usr/lib/perl5/site_perl/5.8.8/ppc-linux-thread-multi-64int/auto/DBI/
-D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS -DDEBUGGING
-fno-strict-aliasing -pipe -Wdeclaration-after-statement -D_LARGEFILE_SOURCE
-D_FILE_OFFSET_BITS=64 -O2 -fmessage-length=0 -Wall -D_FORTIFY_SOURCE=2 -g
-Wall -pipe   -DVERSION=\"1.19\" -DXS_VERSION=\"1.19\" -fPIC
"-I/usr/lib/perl5/5.8.8/ppc-linux-thread-multi-64int/CORE"  -Wall -Wno-comment
-DUTF8_SUPPORT -DNEW_OCI_INIT -DORA_OCI_VERSION=\"10.2.0.2\" oci8.c
In file included from
/usr/lib/perl5/site_perl/5.8.8/ppc-linux-thread-multi-64int/auto/DBI/DBIXS.h:31,
                 from Oracle.h:13,
                 from oci8.c:11:
/usr/lib/perl5/site_perl/5.8.8/ppc-linux-thread-multi-64int/auto/DBI/dbipport.h:227:1:
warning: "PERL_UNUSED_DECL" redefined
In file included from
/usr/lib/perl5/site_perl/5.8.8/ppc-linux-thread-multi-64int/auto/DBI/DBIXS.h:19,
                 from Oracle.h:13,
                 from oci8.c:11:
/usr/lib/perl5/5.8.8/ppc-linux-thread-multi-64int/CORE/perl.h:163:1: warning:
this is the location of the previous definition
oci8.c: In function ‘fetch_cleanup_rset’:
oci8.c:608: warning: unused variable ‘Perl___notused’
oci8.c: In function ‘fetch_func_rset’:
oci8.c:644: warning: unused variable ‘my_perl’
oci8.c:652: warning: value computed is not used
oci8.c:655: warning: unused variable ‘my_perl’
oci8.c:632: warning: unused variable ‘Perl___notused’
oci8.c: In function ‘dbd_rebind_ph_lob’:
oci8.c:748: warning: value computed is not used
oci8.c:779: warning: value computed is not used
oci8.c: In function ‘ora_st_fetch’:
oci8.c:1673: warning: unused variable ‘Perl___notused’
oci8.c:1680: warning: unused variable ‘Perl___notused’
oci8.c: In function ‘post_execute_lobs’:
oci8.c:2246: warning: value computed is not used
Running Mkbootstrap for DBD::Oracle ()
chmod 644 Oracle.bs
rm -f blib/arch/auto/DBD/Oracle/Oracle.so
LD_RUN_PATH="/opt/product/oraclient64/instantclient_10_2" cc  -shared Oracle.o
dbdimp.o oci8.o  -o blib/arch/auto/DBD/Oracle/Oracle.so  \
   -L/opt/product/oraclient64/instantclient_10_2 -lclntsh       \

/usr/bin/ld: skipping incompatible
/opt/product/oraclient64/instantclient_10_2/libclntsh.so when searching for
-lclntsh
/usr/bin/ld: cannot find -lclntsh
collect2: ld returned 1 exit status
make: *** [blib/arch/auto/DBD/Oracle/Oracle.so] Error 1

=== cut here == 8< ==

As you might notice, the
/opt/product/oraclient64/instantclient_10_2/libclntsh.so has been skipped by
"ld" since it's not compatible. Here's the output from the "file" command when
executed against that file:

ELF 64-bit MSB shared object, cisco 7500, version 1 (SYSV), not stripped

I also tried by compiling a "static" version of the library but unsuccessfully.

I'm not a great Oracle/Perl expert but with an Intel 32bit system the above
module does run fine.

Thanks for your help!

Best,
Roberto

-- 
---------------------------------------------------------------------
Roberto Zini -   Tech. Support Manager   -  email:  [EMAIL PROTECTED]
Strhold evolution division - Via Cipriani 2 - 42100 Reggio Emilia(IT)
  Tel:+39 0522 380411  -  Fax:+39 0522 307846  -  Cell: 335 7700259
---------------------------------------------------------------------

Reply via email to