in reply to Perl, DBI, Oracle, Apache
The way your CGI compiled is different than mine, because
there is nothing special about the line numbers that you
are getting in the error message. When you see stuff like
that, it is always helpful to view the appropriate line.
With vi, you can always jump straight to it
using a command line parameter:
$ vi +346 /usr/lib/perl5/5.6.0/CGI/Carp.pm
When dealing with shared libraries, though, make sure that
your /etc/ld.so.conf contains the appropriate
directories, especially any places where your Oracle
driver might have dropped presents, and run ldconfig
to apply the changes.
Furthermore, make sure that your Web user (i.e. 'nobody')
can read these libraries. The directory might be set to
0750 or something awful that prevents 'other' access to
it. As a last resort, track down the missing file with
the find command:
$ find / -name 'libclntsh.so.8.0*'
Just as a note, rebooting does not usually correct missing
file problems. If your filesystem is somehow corrupted,
rebooting may force a filesystem check, but this shouldn't
have happened in the first place. It might also run
'ldconfig' which can fix the problem for you. As a general
practice to "make things work", though, rebooting should be avoided.