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?
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:
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 .