We recently upgraded our server to woody, which brought perl up to
5.6.1.
After the upgrade our CGI Postgres scripts don't work.
Other CGI scripts (with no database interface) work, and psql works in
interactive mode.
We are running PosrgreSQL 7.1, which was manually compiled (before the
upgrade).
We are running apache Version 1.3.26
We installed DBI and DBD::Pg
DBI is version 1.30
The web site displays a blank page,not an error message.
Here is the error log we get:
***
[Fri Sep 20 06:02:50 2002] [error] [client 192.168.0.10] File does not
exist: /.../htdocs/funded/align="center"
install_driver(Pg) failed: Can't load
'/usr/local/lib/site_perl/i386-linux/auto/DBD/Pg/Pg.so' for module
DBD::Pg: /usr/local/lib/site_perl/i386-linux/auto/DBD/Pg/Pg.so:
undefined symbol: Perl_no_modify at /usr/lib/perl/5.6.1/DynaLoader.pm
line 206.
at (eval 1) line 3
Compilation failed in require at (eval 1) line 3.
Perhaps a required shared library or dll isn't installed where expected
at /.../cgi-bin/output.cgi line 234
***
Pg.so exhists at
/usr/local/lib/site_perl/i386-linux/auto/DBD/Pg/Pg.so
as well as at
/usr/local/lib/perl5/site_perl/5.6.1/i686-linux/auto/DBD/Pg/Pg.so
line 234 of output.cgi is this:
***
my $dbh = DBI->connect("dbi:Pg:dbname=$dbname","","") or die "Can't
connect to database\n";
***
lines 200-207 of /usr/lib/perl/5.6.1/DynaLoader.pm are this:
***
# Many dynamic extension loading problems will appear to come from
# this section of code: XYZ failed at line 123 of DynaLoader.pm.
# Often these errors are actually occurring in the initialisation
# C code of the extension XS file. Perl reports the error as being
# in this perl code simply because this was the last perl code
# it executed.
my $libref = dl_load_file($file, $module->dl_load_flags) or
croak("Can't load '$file' for module $module: ".dl_error());
***
Any suggestions or advice would be appreciated.
---Paul