You need to ensure the SHLIB_PATH is correctly set in your environment for the oracle lib directory against which you linked. This must be set PRIOR to loading DBD::Oracle. You could do it in a BEGIN block in your main script. Or you could wrap your script invocation with a shell script that does it, prior to running the perl script.
Lincoln 215-444-7973 (office) 267-716-1370 (cellular) -----Original Message----- From: Joshua Horton [mailto:[EMAIL PROTECTED] Sent: Thursday, May 29, 2003 3:00 PM To: [EMAIL PROTECTED] Cc: [EMAIL PROTECTED] Subject: DBI->connect failing when run from inetd, but not from commandline hp-ux Hi, This is my first post, but it is definitely a plea for help, as I have not found anyone else with this particular issue. I have been using DBI and DBD::Oracle for three years now on four enterprise systems. I have upgraded the system once already successfully, due to the requirement to upgrade our Oracle, and I am now attempting to upgrade a second time to Oracle 9.2.0.2.0. The following is my configuration: Oracle 9.2.0.2.0 Enterprise Edition 64-bit HP-UX 11.11, Dec. 2002 Gold patches 2x733, 5GB RAM 64-bit perl 5.8.0 custom configured: ./Configure -Duse64bitall -Ubincompat5005 -Duselargefiles -Dprefix=/opt/perl 5 ; all other options default DBI-1.32 DBD::Oracle-1.14 Everything compiles & installs with no problems except for DBD, which I already forwarded to Tim Bunce this info, and the error during 'make test': : PERL_DL_NONLAZY=1 /opt/perl5/bin/perl "-MExtUtils::Command::MM" > "-e" "test_harness(0, 'blib/lib', 'blib/arch')" > t/*.tt/base.......okt/cursor.....okt/general....okt/long.......okt/meta..... > ..okt/ph_type....ok 11/19 expected 'trailing' but got 'trailing ' for > VARCHAR2t/ph_type....FAILED test 12 Failed 1/19 tests, 94.74% > okayt/plsql......okt/reauth.....skipped all skipped: no reason > givent/select.....okFailed Test Stat Wstat Total Fail Failed List of > Failed---------------------------------------------------------------------- > -------------------------------------------------------t/ph_type.t > 19 1 5.26% 121 test skipped.Failed 1/9 test scripts, 88.89% okay. > 1/314 subtests failed, 99.68% okay.*** Error exit code 2Stop. The response to the one other person I found who saw this was, "Install Anyway", so I did. The script that has been working correctly for me for so many years, and has always been statically linked. This time I had trouble compiling statically linked perl binaries from DBI and DBD; since so much excellent work has been done on the dynamic linking front on HP-UX, I decided to go for that. It all works perfectly, so far as I can tell, when I run my perl server script from the command line. However, when I run it from inetd, the Oracle driver fails to install. Setting trace level to 9 returns only the following output: DBI 1.32-nothread dispatch trace level set to 5 -> DBI->connect(dbi:Oracle:JDV9, jeffweb, ****) -> DBI->install_driver(Oracle) for hpux perl=5.008 pid=517 ruid=104 euid=104 -- DBI::END I have tested it with several scripts, all with the same symptom: run them from the command line and they're fine. Run them from inetd and they get this problem. I have tweaked the LD_LIBRARY_PATH six ways from Sunday. I set it in the script using $ENV{}, and in the calling user's .profile. Same with ORACLE_HOME, ORACLE_SID, ORACLE_BASE, PATH, and PERL5PATH. I have used "use lib" until I was blue in the face. I tried a setting LD_PRELOAD to preload the shared libraries before the other dependents of the program. I have ensured all the scripts were set with the appropriate permissions, and that all the DBI/DBD perl modules were world-readable and world-executable. I am approaching my unction. Could somebody please help? It seems like it must be something in my environment, but it feels like I have tried all the options. I'm puzzled why there isn't more output from the trace, and why it doesn't fail straight out. Anxiously awaiting any helpful suggestion, thanks in advance, Josh Horton
