On Fri, Oct 05, 2007 at 09:07:48AM +0100, Martin Evans wrote: > Peter McLarty wrote: > >Hi > >Running some redhat servers and created some scripts that use DBI and > >DBD::Oracle to access our 10.2.0.3 databases. > >The script was built and tested and has been used successfully on dual > >core 64bit Xeon CPU servers and with as best as we can tell an identical > >installation on some new quad core servers the script fails with the above > >error. > > > >We have tried a later version of DBI we were using the 1.40 version > >installed as a RPM and have installed 1.59 using perl and make. > > > >DBD::Oracle is 1.19 > > > >I have some strace output from where it fails running a simple piece of > >code that simply connects the the system as / and runs select * from dual > >as well as then would do a couple of log switches > > It may be easier to diagnose with a DBI trace instead of an strace (see > DBI_TRACE in DBI pod). In particular what are the full errors here: > > write(2, "Had to create DBD::Oracle::dr::i"..., 140) = 140 > write(2, "Use of uninitialized value in su"..., 129) = 129 > brk(0x925000) = 0x925000 > write(2, "Had to create DBD::Oracle::db::i"..., 140) = 140 > write(2, "Use of uninitialized value in su"..., 129) = 129 > write(2, "Undefined subroutine &DBD::Oracl"..., 139) = 139
The problem will be some kind of mismatch between the Oracle.pm and Oracle.so (.sl / .whatever extension your shared libraries have). I suggest you carefully find and remove all traces of DBD::Oracle and reinstall it. (Mainly delete all files under all perl @INC dirs that match DBD/Oracle.*) If you still have problems after that then post a one liner that demonstrates the problem: perl -MDBI -e 'DBI->connect("...", ...)' and we'll talk you through getting more info to diagnose the problem. Tim.