Forum OpenACS Q&A: OpenACS with Oracle 9i bootstrapping error

Request notifications

Hi,

I am trying to install OpenACS with Oracle 9.2.0.4.
But when I start the server I can not get the oracle driver to load, it says - cannot open shared object file libclntsh.so.9.0 : No such file or directory
LD_LIBRARY_PATH and ORACLE_HOME environment variables are set correctly.

Here is the log output:

[17/Mar/2005:17:12:40][2806.16384][-main-] Notice: modload: loading '/usr/local/aolserver/bin/nsdb.so'
[17/Mar/2005:17:12:40][2806.16384][-main-] Notice: modload: loading '/usr/local/aolserver/bin/ora8.so'
[17/Mar/2005:17:12:40][2806.16384][-main-] Warning: modload: could not load /usr/local/aolserver/bin/ora8.so: libclntsh.so.9.0: cannot open shared object file: No such file or directory
[17/Mar/2005:17:12:40][2806.16384][-main-] Error: dbdrv: failed to load driver 'ora8'
[17/Mar/2005:17:12:40][2806.16384][-main-] Error: dbinit: no such default pool 'pool1'
.
.
[17/Mar/2005:17:12:40][2806.16384][-main-] Notice: Database API: Default database (dbn) is: 'default'
[17/Mar/2005:17:12:40][2806.16384][-main-] Notice: Database API: Using ALL database pools for OpenACS.
[17/Mar/2005:17:12:40][2806.16384][-main-] Notice: Database API: The following pools are available for OpenACS:
[17/Mar/2005:17:12:40][2806.16384][-main-] Error: Database API: RDBMS type could not be determined for any pool.
.
.
[17/Mar/2005:17:12:41][2806.16384][-main-] Error: Bootstrap: RDBMS type could not be determined for any pool.
[17/Mar/2005:17:12:41][2806.16384][-main-] Notice: Bootstrap: database problem found; Sourcing the installer.
[17/Mar/2005:17:12:41][2806.16384][-main-] Notice: Sourcing files for postload...
[17/Mar/2005:17:12:41][2806.16384][-main-] Notice: Done.
[17/Mar/2005:17:12:41][2806.16384][-main-] Notice: Executing initialization code blocks...
[17/Mar/2005:17:12:41][2806.16384][-main-] Debug: QD=Postload files to load:
[17/Mar/2005:17:12:41][2806.16384][-main-] Debug: QD=Postload files to load:
[17/Mar/2005:17:12:41][2806.16384][-main-] Notice: nsmain: AOLserver/4.0.10 running

ldd gives me this:

[root@lgsiportal bin]# ldd nsoracle.so
/etc/libcwait.so => /etc/libcwait.so (0xb75ef000)
libclntsh.so.9.0 => /opt/oracle/product/9.2.0/lib/libclntsh.so.9.0 (0xb6c1e000)
libnsdb.so => not found
libnsthread.so => not found
libnsd.so => not found
libtcl8.4.so => not found
libdl.so.2 => /lib/libdl.so.2 (0xb6c0c000)
libpthread.so.0 => /lib/tls/libpthread.so.0 (0xb6bfc000)
libm.so.6 => /lib/tls/libm.so.6 (0xb6bda000)
libz.so.1 => /usr/lib/libz.so.1 (0xb6bcc000)
libc.so.6 => /lib/tls/libc.so.6 (0xb6a95000)
libwtc9.so => /opt/oracle/product/9.2.0/lib/libwtc9.so (0xb6a91000)
libnsl.so.1 => /lib/libnsl.so.1 (0xb6a7c000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x80000000)

Regards,
Nitish

Collapse
Posted by Niall Burke on
Hi Nitish,

I'm experiencing the same problem here on a client site. Can you recall what the fix was?

Thanks,
Niall

Collapse
Posted by Niall Burke on
FYI "anyone with this problem"

Possibly not the same problem as Nitish, as ldd showed 'not found' for "libclntsh.so.9.0" in my case. I hadn't set the LD_LIBRARY_PATH in my user profile i.e. export LD_LIBRARY_PATH=$ORACLE_HOME/lib

libclntsh.so.9.0 was then found, problem solved.

Regards,
Niall

Collapse
Posted by Nitish Bezzala on
Hi Niall,

In my case, I had already set the environment variables but it didn't work till I set the variables in /usr/local/aolserver/bin/nsd-oracle.

Regards,
Nitish

Collapse
Posted by Andrew Piskorski on
Nitish, you never said where you at first set the LD_LIBRARY_PATH and ORACLE_HOME environment variables. It sounds like you did not have them set anywhere that the AOLserver user could see on startup, and that you then fixed that by putting them into your nsd-oracle script. That's fine, problem solved.

But even better would be to put those settings in a system-wide shell script and then source it as needed. For more info, see my 8i install notes and search forward for the "Oracle environment variables:" section. Similar info is also here in the Forums, for Oracle in Dec. 2002, and for PostgreSQL in Sept. 2003.