On Wed, 24 Jan 2007, Martijn van Oosterhout wrote:
Method 1: Find the .so module that perl uses (try locate Pg.so and ldd that).
Martijn, Thank you for teaching me a new trick today. The results of method 1 are: /lib/libsafe.so.2 (0xb7f76000) linux-gate.so.1 => (0xffffe000) libpq.so.3 => /usr/lib/libpq.so.3 (0xb7f5f000) libc.so.6 => /lib/tls/libc.so.6 (0xb7e1a000) libdl.so.2 => /lib/tls/libdl.so.2 (0xb7e16000) libcrypt.so.1 => /lib/tls/libcrypt.so.1 (0xb7de8000) libresolv.so.2 => /lib/tls/libresolv.so.2 (0xb7dd4000) libnsl.so.1 => /lib/tls/libnsl.so.1 (0xb7dbd000) /lib/ld-linux.so.2 (0x80000000) So it's finding all the libraries it wants, and it's using the older libpq.so. Interesting.
Method 2: strace -e open <program>
It's a perl script -- actually, a large family of scripts -- that act as middleware between a web browser and an httpd. I don't see anything in the login.pl output that looks suspicious.
How exactly is it failing?
I open a new firefox tab and open http://localhost/sql-ledger/login.pl. After entering my username and password and pressing [Enter] I get an internal server error: The server encountered an internal error or misconfiguration and was unable to complete your request. Please contact the server administrator, rshepard@xxxxxxxxxxxxxxx and inform them of the time the error occurred, and anything you might have done that may have caused the error. More information about this error may be available in the server error log. The log file (/var/log/apache/error_log) shows: [Wed Jan 24 15:01:20 2007] [error] [client 127.0.0.1] Premature end of script headers: /usr/local/sql-ledger/login.pl /usr/local/sql-ledger/login.pl: symbol lookup error: /usr/lib/perl5/site_perl/5.8.8/i486-linux/auto/DBD/Pg/Pg.so: undefined symbol: PQserverVersion The version of DBD::Pg is 1.4.9 which is the most recent one available. Thanks, Rich -- Richard B. Shepard, Ph.D. | The Environmental Permitting Applied Ecosystem Services, Inc. | Accelerator(TM) <http://www.appl-ecosys.com> Voice: 503-667-4517 Fax: 503-667-8863