CERN root compiled with Oracle 11?

Hi,

I’m trying to run script which communicates with Oracle from CERN machines (lxplus). My ROOTSYS is:
/afs/cern.ch/sw/lcg/app/releases/ROOT/5.26.00b/slc4_ia32_gcc34/root/

when I do:
ldd $ROOTSYS/lib/libOracle.so

I get:
libNet.so => not found
libRIO.so => not found
libclntsh.so.11.1 => not found
libocci.so.11.1 => not found
libCore.so => not found
libCint.so => not found
libdl.so.2 => /lib/libdl.so.2 (0x00ec2000)
libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x00111000)
libm.so.6 => /lib/tls/libm.so.6 (0x002c7000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00824000)
libc.so.6 => /lib/tls/libc.so.6 (0x002ea000)
/lib/ld-linux.so.2 (0x00aee000)

so there are 6 not found libraries. In my specific case the script complains about libclntsh.so.11.1. It is because, AFAIK, at cern the Oracle 10.1 is still used, not 11. How could that be corrected?

Cheers,

     Mariusz

Dear Mariusz,

Please note that the default lxplus machines are x86_64 machines and you should use the slc4_amd64_gcc34 builds.
Anyhow, if you define correctly the LD_LIBRARY_PATH the missing libs will be found:

lxplus238] ~ > source /afs/cern.ch/sw/lcg/app/releases/ROOT/5.26.00b/slc4_amd64_gcc34/root/bin/thisroot.sh
lxplus238] ~ > export LD_LIBRARY_PATH=/afs/cern.ch/sw/lcg/external/oracle/11.2.0.1.0/slc4_amd64_gcc34/lib:$LD_LIBRARY_PATH
lxplus238] ~ > ldd $ROOTSYS/lib/libOracle.so
        libNet.so => /afs/cern.ch/sw/lcg/app/releases/ROOT/5.26.00b/slc4_amd64_gcc34/root/lib/libNet.so (0x0000002a95697000)
        libRIO.so => /afs/cern.ch/sw/lcg/app/releases/ROOT/5.26.00b/slc4_amd64_gcc34/root/lib/libRIO.so (0x0000002a958ce000)
        libclntsh.so.11.1 => /afs/cern.ch/sw/lcg/external/oracle/11.2.0.1.0/slc4_amd64_gcc34/lib/libclntsh.so.11.1 (0x0000002a95b6d000)
        libocci.so.11.1 => /afs/cern.ch/sw/lcg/external/oracle/11.2.0.1.0/slc4_amd64_gcc34/lib/libocci.so.11.1 (0x0000002a98091000)
        libCore.so => /afs/cern.ch/sw/lcg/app/releases/ROOT/5.26.00b/slc4_amd64_gcc34/root/lib/libCore.so (0x0000002a9828c000)
        libCint.so => /afs/cern.ch/sw/lcg/app/releases/ROOT/5.26.00b/slc4_amd64_gcc34/root/lib/libCint.so (0x0000002a98bb6000)
        libdl.so.2 => /lib64/libdl.so.2 (0x0000002a9948e000)
        libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x0000002a99591000)
        libm.so.6 => /lib64/tls/libm.so.6 (0x0000002a99781000)
        libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x0000002a99908000)
        libc.so.6 => /lib64/tls/libc.so.6 (0x0000002a99a15000)
        libMathCore.so => /afs/cern.ch/sw/lcg/app/releases/ROOT/5.26.00b/slc4_amd64_gcc34/root/lib/libMathCore.so (0x0000002a99c4e000)
        libnnz11.so => /afs/cern.ch/sw/lcg/external/oracle/11.2.0.1.0/slc4_amd64_gcc34/lib/libnnz11.so (0x0000002a99f50000)
        libpthread.so.0 => /lib64/tls/libpthread.so.0 (0x0000002a9a318000)
        libnsl.so.1 => /lib64/libnsl.so.1 (0x0000002a9a42d000)
        libaio.so.1 => /afs/cern.ch/sw/lcg/external/oracle/11.2.0.1.0/slc4_amd64_gcc34/lib/libaio.so.1 (0x0000002a9a546000)
        libncurses.so.5 => /usr/lib64/libncurses.so.5 (0x0000002a9a647000)
        libcrypt.so.1 => /lib64/libcrypt.so.1 (0x0000002a9a7a3000)
        /lib64/ld-linux-x86-64.so.2 (0x000000552aaaa000)

To find out where the libraries used to build libOracle.so are, you can check the ‘–with-oracle-libdir’ field in
/afs/cern.ch/sw/lcg/app/releases/ROOT/5.26.00b/slc4_amd64_gcc34/_SPI/config.status .

G. Ganis