in reply to DBD::Oracle installation

Not sure why you set C_INCLUDE_PATH, I didn't think that was necessary. Would be interesting to see the output of running Makefile.PL and not just the test output. Are you sure your Oracle is 64bit as it looks like your Perl is (from /usr/lib64/perl5). Can you run ldd on the generated Oracle.so to see what it says?

Replies are listed 'Best First'.
Re^2: DBD::Oracle installation
by rootcho (Pilgrim) on Jul 08, 2011 at 15:34 UTC
    Here is how it looks if I do it manually (again I use INC otherwise I get errors for missing stuff..):
    # perl Makefile.PL INC='-I/usr/lib/oracle/11.2.0.2/client/rdbms/public + -I/usr/lib64/perl5/site_perl/5.12.3/x86_64-linux-thread-multi/auto/D +BI' Using DBI 1.616 (for perl 5.012003 on x86_64-linux-thread-multi) insta +lled in /usr/lib64/perl5/site_perl/5.12.3/x86_64-linux-thread-multi/a +uto/DBI/ Configuring DBD::Oracle for perl 5.012003 on linux (x86_64-linux-threa +d-multi) Remember to actually *READ* the README file! Especially if you have an +y problems. Installing on a linux, Ver#2.6 Using Oracle in /usr/lib/oracle/11.2.0.2/client DEFINE _SQLPLUS_RELEASE = "1102000200" (CHAR) Oracle version 11.2.0.2 (11.2) Found /usr/lib/oracle/11.2.0.2/client/rdbms/demo/demo_xe.mk Using /usr/lib/oracle/11.2.0.2/client/rdbms/demo/demo_xe.mk Looks like Oracle XE (/usr/lib/oracle/11.2.0.2/client/rdbms/demo/demo_ +xe.mk) Reading /usr/lib/oracle/11.2.0.2/client/rdbms/demo/demo_xe.mk Your LD_LIBRARY_PATH env var is set to '/usr/lib/oracle/11.2.0.2/clien +t/lib:/usr/lib/oracle/11.2.0.2/client/lib' client_version=11.2 DEFINE= -Wall -Wno-comment -DUTF8_SUPPORT -DORA_OCI_VERSION=\"11.2.0.2 +\" -DORA_OCI_102 -DORA_OCI_112 Checking for functioning wait.ph System: perl5.012003 linux mybox 2.6.34-sabayon #1 smp mon may 31 16:0 +0:15 utc 2010 x86_64 intel(r) core(tm) i5 cpu m 520 @ 2.40ghz genuine +intel gnulinux Compiler: x86_64-pc-linux-gnu-gcc -O2 -march=x86-64 -pipe -D_REENTRA +NT -D_GNU_SOURCE -fno-strict-aliasing -pipe -D_LARGEFILE_SOURCE -D_FI +LE_OFFSET_BITS=64 Linker: /usr/bin/ld Sysliblist: Oracle makefiles would have used these definitions but we override the +m: CC: /usr/bin/gcc LDFLAGS: -g [-g] Linking with -L../../ -locci -lclntsh -lpthread Checking if your kit is complete... Looks good Warning: -L../../ changed to -L/root/.cpan/build/DBD-Oracle-1.28-enbAG +6/../../ Note (probably harmless): No library found for -locci Note (probably harmless): No library found for -lclntsh LD_RUN_PATH=/usr/lib/oracle/11.2.0.2/client/lib:/usr/lib/oracle/11.2.0 +.2/client/rdbms/lib Using DBD::Oracle 1.28. Using DBD::Oracle 1.28. Using DBI 1.616 (for perl 5.012003 on x86_64-linux-thread-multi) insta +lled in /usr/lib64/perl5/site_perl/5.12.3/x86_64-linux-thread-multi/a +uto/DBI/ Writing Makefile for DBD::Oracle *** If you have problems... read all the log printed above, and the README and README.help.tx +t files. (Of course, you have read README by now anyway, haven't you?)
      Similar post few weeks ago

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

      ***  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?)
      http://search.cpan.org/dist/DBD-Oracle/README

      If you're setting INC= you have to set LIBS= also, as in LIBS='-L/path/to/where/occi/lives  -locci -lclntsh -lpthread'

Re^2: DBD::Oracle installation
by rootcho (Pilgrim) on Jul 08, 2011 at 15:25 UTC
    If I don't specify C_INCLUDE_PATH it does not compile, because it can't find the include files.
    # ldd Oracle.so linux-vdso.so.1 => (0x00007fffb01ff000) libpthread.so.0 => /lib/libpthread.so.0 (0x00007f8a4cfb1000) libc.so.6 => /lib/libc.so.6 (0x00007f8a4cc5a000) /lib64/ld-linux-x86-64.so.2 (0x00007f8a4d443000)

      There is something very wrong with that. There is no reference to any Oracle shared libs. e.g. for my instant client installation ldd on Oracle.so shows:

      $ ldd /usr/local/lib/perl/5.10.0/auto/DBD/Oracle/Oracle.so linux-gate.so.1 => (0x00d22000) libclntsh.so.11.1 => /home/martin/instantclient_11_1/libclntsh.so. +11.1 (0x00d23000) libc.so.6 => /lib/libc.so.6 (0x00110000) libnnz11.so => /home/martin/instantclient_11_1/libnnz11.so (0x0026 +d000) libdl.so.2 => /lib/libdl.so.2 (0x00417000) libm.so.6 => /lib/libm.so.6 (0x0041b000) libpthread.so.0 => /lib/libpthread.so.0 (0x00441000) libnsl.so.1 => /lib/libnsl.so.1 (0x009bf000) libaio.so.1 => /lib/libaio.so.1 (0x0045b000) /lib/ld-linux.so.2 (0x00b71000)

      I guess we need to see the bit after perl Makefile.PL but before you run make test i.e., the compilation and linking phases.

      UPDATE: I've only just noticed:

      042 Note (probably harmless): No library found for -locci 043 Note (probably harmless): No library found for -lclntsh

      I doubt that is harmless at all

        hmm.. interesting .... probably it can't find some other lib during generating the makefile... I will if i can figure out something so that it can find something for those "harmless" libs ;)