Beefy Boxes and Bandwidth Generously Provided by pair Networks
Do you know where your variables are?

Re^3: 32 bit perl and DBD::Oracle

by almut (Canon)
on Aug 04, 2010 at 14:30 UTC ( [id://852890] : note . print w/replies, xml ) Need Help??

in reply to Re^2: 32 bit perl and DBD::Oracle
in thread 32 bit perl and DBD::Oracle

...which makes me think something is set up wrong with the 64-bit installation.

Did you maybe move the Perl tree from a different installation location (i.e. was it originally compiled for and installed to a different location)?  The problem with this is that the installation and default search paths are (by default) hard-coded in the perl binary, so when you move it, it'll look in the wrong places...

You could work around that by saying something like this (at the top of every script):

BEGIN { unshift @INC, "/usr/local/perl/5.10.1/lib/5.10.1/x86_64-linux-thread-multi", + # for "/usr/local/perl/5.10.1/lib/5.10.1"; + # for }

(of course with the correct paths where and (needed by are found in your case)

After that you can then say use lib ... as usual to add other directories to @INC.  Note that when you manually manipulate @INC, the architecture-specfic subdirectories (here .../x86_64-linux-thread-multi) are not added automatically (as use lib does).

Better yet, compile a new perl specifying the proper installation target at build time (e.g. ./Configure -Dprefix=...), such that the compiled-in paths will match the final installation location on the webserver.