----- Forwarded message from [EMAIL PROTECTED] -----

X-IP: 216.150.208.7
From: [EMAIL PROTECTED]
To: Tim Bunce <[EMAIL PROTECTED]>
Subject: Re: DBD::Oracle won't install for Oracle 10G XE
Date: Mon, 13 Aug 2007 22:42:59 -0700
X-HTTP-UserAgent: Mozilla/5.0 (X11; U; Linux i686 (x86_64); en-US;
 rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6,gzip(gfe),gzip(gfe)

On Nov 21 2005, 6:34 pm, [EMAIL PROTECTED] (Tim Bunce) wrote:
> On Mon, Nov 14, 2005 at 02:49:02AM +0530, Anup Singh wrote:
> > Hello,
>
> > Tried installingDBD::Oracleon Linux withOracle10GXEbut it failed.
>
> I've implemented support forXEin the next release. Can't say when
> that'll be, but here's a patch that may work for you...
> (Might need to be applied by hand to your Makefile.PL)
>
> Please (everyone) let me know if this works for you, or not.
> Thanks.
>
> Tim.
>
> ---dbd-oracle/branches/pythian/Makefile.PL     (original)
> +++dbd-oracle/branches/pythian/Makefile.PL     Sun Nov 20 14:54:09 2005
> @@ -327,6 +327,31 @@ elsif ($::opt_l and # use -l to enable t
>      my $inc = join " ", map { "-I$OH/$_" } @h_dirs;
>      $opts{INC}  = "$inc -I$dbi_arch_dir";
>  }
> +
> +elsif (-e "$OH/rdbms/demo/demo_xe.mk") {     #OracleXE
> +
> +    print "Looks likeOracleXE\n";
> +
> +    fetch_oci_macros("$OH/rdbms/demo/demo_xe.mk");
> +    $MK{CCINCLUDES} = '-I$(ICINCHOME)'; # undo odd refinition in demo_xe.mk
> +
> +    # From linuxOracleXE(10.2.0):
> +    #  ICINCHOME=$(ORACLE_HOME)/rdbms/public/
> +    #  ICLIBHOME=$(ORACLE_HOME)/lib/
> +    #  ICLIBPATH=-L$(ICLIBHOME)
> +    #  THREADLIBS=-lpthread    [initially -lthread then redefined]
> +    #  CCLIB=$(ICLIBPATH) -lclntsh $(THREADLIBS)
> +    #  CCINCLUDES = -I$(ICINCHOME)   [see above]
> +    #   CCFLAGS=$(CCINCLUDES) -DLINUX -D_GNU_SOURCE -D_REENTRANT -g 
> [initially without -DLINUX -D_GNU_SOURCE]
> +    my $cclib   = expand_mkvars($MK{CCLIB}, 0, 1);
> +    my $ccflags = expand_mkvars($MK{CCFLAGS}, 0, 1);
> +
> +    $linkwith_msg = "$cclib";
> +    $opts{LIBS} = [ $cclib ];
> +    $opts{INC}  = "-I$dbi_arch_dir $ccflags";
> +    $opts{dynamic_lib} = { OTHERLDFLAGS => "$::opt_g" };
> +}
> +
>  # --- special case forOracle10g instant client
>
>  elsif (-e "$OH/libclntsh.so.10.1") {

Hi Tim,
I am a great fan, thanks for all your hard work over the years.
I am running suse 10.2, a dump of the environment shows
CPU=x86_64
MACHTYPE=x86_64-suse-linux
ORACLE_HOME=/usr/lib/oracle/xe/app/oracle/product/10.2.0/server

perl -V
Summary of my perl5 (revision 5 version 8 subversion 8) configuration:
  Platform:
    osname=linux, osvers=2.6.18, archname=x86_64-linux-thread-multi
    uname='linux eisler 2.6.18 #1 smp tue nov 21 12:59:21 utc 2006
x86_64 x86_64 x86_64 gnulinux '
    config_args='-ds -e -Dprefix=/usr -Dvendorprefix=/usr -
Dinstallusrbinperl -Dusethreads -Di_db -D
i_dbm -Di_ndbm -Di_gdbm -Duseshrplib=true -Doptimize=-O2 -fmessage-
length=0 -Wall -D_FORTIFY_SOURCE=
2 -g -Wall -pipe'
    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=define uselongdouble=undef
    usemymalloc=n, bincompat5005=undef
  Compiler:
    cc='cc', ccflags ='-D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS -
DDEBUGGING -fno-strict-aliasi
ng -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.2 20061115 (prerelease) (SUSE
Linux)', gccosandvers=''
    intsize=4, longsize=8, ptrsize=8, doublesize=8, byteorder=12345678
    d_longlong=define, longlongsize=8, d_longdbl=define,
longdblsize=16
    ivtype='long', ivsize=8, nvtype='double', nvsize=8, Off_t='off_t',
lseeksize=8
    alignbytes=8, prototype=define
  Linker and Libraries:
    ld='cc', ldflags =' -L/usr/local/lib64'
    libpth=/lib64 /usr/lib64 /usr/local/lib64
    libs=-lm -ldl -lcrypt -lpthread
    perllibs=-lm -ldl -lcrypt -lpthread
    libc=/lib64/libc-2.5.so, so=so, useshrplib=true,
libperl=libperl.so
    gnulibc_version='2.5'
  Dynamic Linking:
    dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Wl,-E -
Wl,-rpath,/usr/lib/perl5/5.8.8
/x86_64-linux-thread-multi/CORE'
    cccdlflags='-fPIC', lddlflags='-shared -L/usr/local/lib64'


Characteristics of this binary (from libperl):
  Compile-time options: DEBUGGING MULTIPLICITY PERL_IMPLICIT_CONTEXT
                        PERL_MALLOC_WRAP THREADS_HAVE_PIDS
USE_64_BIT_ALL
                        USE_64_BIT_INT USE_ITHREADS USE_LARGE_FILES
                        USE_PERLIO USE_REENTRANT_API
  Built under linux
  Compiled at Nov 25 2006 11:02:03
  @INC:
    /usr/lib/perl5/5.8.8/x86_64-linux-thread-multi
    /usr/lib/perl5/5.8.8
    /usr/lib/perl5/site_perl/5.8.8/x86_64-linux-thread-multi
    /usr/lib/perl5/site_perl/5.8.8
    /usr/lib/perl5/site_perl
    /usr/lib/perl5/vendor_perl/5.8.8/x86_64-linux-thread-multi
    /usr/lib/perl5/vendor_perl/5.8.8
    /usr/lib/perl5/vendor_perl

I installed oracle XE via the RPM file oracle-xe-10.2.0.1-1.0.i386.rpm
the install worked fine and oracles apex web environment accesses the
sample database just fine from apache.
I had this installed on my previous machine running suse 10.1 which
was 32 bit.
In that case the DBD Oracle Module worked fine.

I tried unsuccessfully to build the DBD::Oracle on my current 64 bit
environment
I applied your patch to the Makefile and ran with the following
results:

# perl Makefile.PL
Using DBI 1.52 (for perl 5.008008 on x86_64-linux-thread-multi)
installed in /usr/lib/perl5/vendor_perl/5.8.8/x86_64-linux-thread-
multi/auto/DBI/

Configuring DBD::Oracle for perl 5.008008 on linux (x86_64-linux-
thread-multi)

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

Using Oracle in /usr/lib/oracle/xe/app/oracle/product/10.2.0/server
DEFINE _SQLPLUS_RELEASE = "1002000100" (CHAR)
Oracle version 10.2.0.1 (10.2)
Looks like Oracle XE
Reading /usr/lib/oracle/xe/app/oracle/product/10.2.0/server/rdbms/demo/
demo_xe.mk

Checking for functioning wait.ph
Constant subroutine __USE_POSIX undefined at /usr/lib/perl5/
vendor_perl/5.8.8/x86_64-linux-thread-multi/features.ph line 8.
Constant subroutine __USE_POSIX2 undefined at /usr/lib/perl5/
vendor_perl/5.8.8/x86_64-linux-thread-multi/features.ph line 9.
Constant subroutine __USE_POSIX199309 undefined at /usr/lib/perl5/
vendor_perl/5.8.8/x86_64-linux-thread-multi/features.ph line 10.
Constant subroutine __USE_POSIX199506 undefined at /usr/lib/perl5/
vendor_perl/5.8.8/x86_64-linux-thread-multi/features.ph line 11.
Constant subroutine __USE_XOPEN undefined at /usr/lib/perl5/
vendor_perl/5.8.8/x86_64-linux-thread-multi/features.ph line 12.
Constant subroutine __USE_XOPEN_EXTENDED undefined at /usr/lib/perl5/
vendor_perl/5.8.8/x86_64-linux-thread-multi/features.ph line 13.
Constant subroutine __USE_UNIX98 undefined at /usr/lib/perl5/
vendor_perl/5.8.8/x86_64-linux-thread-multi/features.ph line 14.
Constant subroutine __USE_LARGEFILE undefined at /usr/lib/perl5/
vendor_perl/5.8.8/x86_64-linux-thread-multi/features.ph line 16.
Constant subroutine __USE_LARGEFILE64 undefined at /usr/lib/perl5/
vendor_perl/5.8.8/x86_64-linux-thread-multi/features.ph line 17.
Constant subroutine __USE_FILE_OFFSET64 undefined at /usr/lib/perl5/
vendor_perl/5.8.8/x86_64-linux-thread-multi/features.ph line 18.
Constant subroutine __USE_BSD undefined at /usr/lib/perl5/vendor_perl/
5.8.8/x86_64-linux-thread-multi/features.ph line 19.
Constant subroutine __USE_SVID undefined at /usr/lib/perl5/vendor_perl/
5.8.8/x86_64-linux-thread-multi/features.ph line 20.
Constant subroutine __USE_MISC undefined at /usr/lib/perl5/vendor_perl/
5.8.8/x86_64-linux-thread-multi/features.ph line 21.
Constant subroutine __USE_GNU undefined at /usr/lib/perl5/vendor_perl/
5.8.8/x86_64-linux-thread-multi/features.ph line 23.
Constant subroutine __USE_REENTRANT undefined at /usr/lib/perl5/
vendor_perl/5.8.8/x86_64-linux-thread-multi/features.ph line 24.
Constant subroutine _POSIX_SOURCE undefined at /usr/lib/perl5/
vendor_perl/5.8.8/x86_64-linux-thread-multi/features.ph line 49.
Constant subroutine _POSIX_C_SOURCE undefined at /usr/lib/perl5/
vendor_perl/5.8.8/x86_64-linux-thread-multi/features.ph line 51.
Constant subroutine _XOPEN_SOURCE undefined at /usr/lib/perl5/
vendor_perl/5.8.8/x86_64-linux-thread-multi/features.ph line 53.
Constant subroutine _XOPEN_SOURCE_EXTENDED undefined at /usr/lib/perl5/
vendor_perl/5.8.8/x86_64-linux-thread-multi/features.ph line 55.
Constant subroutine _LARGEFILE64_SOURCE undefined at /usr/lib/perl5/
vendor_perl/5.8.8/x86_64-linux-thread-multi/features.ph line 57.
Constant subroutine _LARGEFILE_SOURCE undefined at /usr/lib/perl5/
vendor_perl/5.8.8/x86_64-linux-thread-multi/features.ph line 104.
Constant subroutine __GNU_LIBRARY__ undefined at /usr/lib/perl5/
vendor_perl/5.8.8/x86_64-linux-thread-multi/features.ph line 156.
Scalar found where operator expected at (eval 213) line 1, near
"'int'  $__val"
        (Missing operator before   $__val?)
Hexadecimal number > 0xffffffff non-portable at (eval 244) line 1.
Hexadecimal number > 0xffffffff non-portable at (eval 245) line 1.
Constant subroutine __need_timeval undefined at /usr/lib/perl5/
vendor_perl/5.8.8/x86_64-linux-thread-multi/bits/time.ph line 23.


System: perl5.008008 linux eisler 2.6.18 #1 smp tue nov 21 12:59:21
utc 2006 x86_64 x86_64 x86_64 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: -ldl -lm -lpthread -lnsl -lirc
Oracle makefiles would have used these definitions but we override
them:
  CC:       /usr/bin/g++296
  LDFLAGS:  -g
           [-g]
Linking with -L/usr/lib/oracle/xe/app/oracle/product/10.2.0/server/
lib/ -lclntsh -lpthread

Checking if your kit is complete...
Looks good
LD_RUN_PATH=/usr/lib/oracle/xe/app/oracle/product/10.2.0/server/lib
Using DBD::Oracle 1.19.
Using DBD::Oracle 1.19.
Using DBI 1.52 (for perl 5.008008 on x86_64-linux-thread-multi)
installed in /usr/lib/perl5/vendor_perl/5.8.8/x86_64-linux-thread-
multi/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?)


and yes I did read the README

running make however gives me the same error as before:

# make
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/vendor_perl/
5.8.8/x86_64-linux-thread-multi/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/usr/lib/perl5/vendor_perl/5.8.8/x86_64-linux-thread-multi/
auto/DBI -I/usr/lib/oracle/xe/app/oracle/product/10.2.0/server/rdbms/
public/ -DLINUX -D_GNU_SOURCE -D_REENTRANT -g -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/x86_64-linux-thread-multi/CORE"  -Wall -Wno-
comment -DUTF8_SUPPORT -DNEW_OCI_INIT -DORA_OCI_VERSION=\"10.2.0.1\"
Oracle.c
cc -c  -I/usr/lib/perl5/vendor_perl/5.8.8/x86_64-linux-thread-multi/
auto/DBI -I/usr/lib/oracle/xe/app/oracle/product/10.2.0/server/rdbms/
public/ -DLINUX -D_GNU_SOURCE -D_REENTRANT -g -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/x86_64-linux-thread-multi/CORE"  -Wall -Wno-
comment -DUTF8_SUPPORT -DNEW_OCI_INIT -DORA_OCI_VERSION=\"10.2.0.1\"
dbdimp.c
dbdimp.c: In function ?ora_db_login6?:
dbdimp.c:700: warning: value computed is not used
dbdimp.c: In function ?dbd_rebind_ph_char?:
dbdimp.c:1110: warning: value computed is not used
dbdimp.c: In function ?ora_st_execute_array?:
dbdimp.c:1985: warning: value computed is not used
cc -c  -I/usr/lib/perl5/vendor_perl/5.8.8/x86_64-linux-thread-multi/
auto/DBI -I/usr/lib/oracle/xe/app/oracle/product/10.2.0/server/rdbms/
public/ -DLINUX -D_GNU_SOURCE -D_REENTRANT -g -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/x86_64-linux-thread-multi/CORE"  -Wall -Wno-
comment -DUTF8_SUPPORT -DNEW_OCI_INIT -DORA_OCI_VERSION=\"10.2.0.1\"
oci8.c
oci8.c: In function ?fetch_func_rset?:
oci8.c:652: warning: value computed is not used
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_blob_read_mb_piece?:
oci8.c:889: warning: comparison is always false due to limited range
of data type
oci8.c: In function ?ora_describe?:
oci8.c:1391: warning: comparison is always false due to limited range
of data type
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="/usr/lib/oracle/xe/app/oracle/product/10.2.0/server/lib"
cc  -shared -L/usr/local/lib64 Oracle.o dbdimp.o oci8.o  -o blib/arch/
auto/DBD/Oracle/Oracle.so         \
           -L/usr/lib/oracle/xe/app/oracle/product/10.2.0/server/lib/ -
lclntsh -lpthread        \

/usr/lib64/gcc/x86_64-suse-linux/4.1.2/../../../../x86_64-suse-linux/
bin/ld: skipping incompatible /usr/lib/oracle/xe/app/oracle/product/
10.2.0/server/lib//libclntsh.so when searching for -lclntsh
/usr/lib64/gcc/x86_64-suse-linux/4.1.2/../../../../x86_64-suse-linux/
bin/ld: cannot find -lclntsh
collect2: ld returned 1 exit status
make: *** [blib/arch/auto/DBD/Oracle/Oracle.so] Error 1

The sym links are there pointing to the correct .so file for
libclntsh.so.
But the linker indicates that this library is incompatible.
I am not sure where to proceed from here.

Any help would be appreciated.
-- jim



----- End forwarded message -----

Reply via email to