On 26/04/2012 19:53, John Adams wrote:
Hi, Martin,



On Thu, Apr 26, 2012 at 1:39 PM, Martin J. Evans
<martin.ev...@easysoft.com>  wrote:

When I build against Oracle Instant Client I download the instant client
from Oracle, unzip it in /home/martin. Then I set
LD_LIBRARY_PATH=/home/martin/instantclient_11_2 and do

perl Makefile.PL
make

Do you really want to use instant client or build directly against your
oracle install - you seem, to me, to be mixing the two. There are issues
building against a full Oracle install right now as I believe they (Oracle)
have put the files required in different packages but I've never had any
issues with InstantClient.
I'm actually not on the RDBMS server proper, but on an application
server running WebLogic. Whatever bits and pieces of Oracle are
installed on this machine, I'm not sure. Our division of labor makes
that a DBA task rather than a sysadmin task, which is also why I'm
installing with the rpms rather than unzipping into someplace
sensible, like /opt/oracle/instantclient_11_1 (which is what I do on
machines I control). On this machine, /opt/oracle is a DBA
responsibility. (As always, the human problems are more difficult that
the technical problems.)

Now, on reading what you wrote, I got to thinking, and tried changing
LD_LIBRARY_PATH from this:

/usr/java/jdk1.6.0_27/jre/lib/amd64/native_threads:/usr/java/jdk1.6.0_27/jre/lib/amd64/server:/usr/java/jdk1.6.0_27/jre/lib/amd64:/opt/oracle/Middleware/prod/lib:/usr/lib/oracle/11.1/client64/lib

to this:

/usr/lib/oracle/11.1/client64/lib/usr/java/jdk1.6.0_27/jre/lib/amd64/native_threads:/usr/java/jdk1.6.0_27/jre/lib/amd64/server:/usr/java/jdk1.6.0_27/jre/lib/amd64:/opt/oracle/Middleware/prod/lib

What that bought me was that Makefile.PL could no longer find sqlplus.
Possibly that's no use, but it's where my thought processes took me.
You are out of the problem area I've had to deal with. If you use Instant Client installed from Oracle it installs everything into one directory. It seems your in a position where instant client is distributed around multiple dirs.

I've no idea why you got:

/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/CORE/reentr.h:612: error: field ‘_crypt_struct’ has incomplete type

but I am suspicious there might be modules built with different compilers. 
Check where the Perl module DBI came from and rebuild it if necessary. However, 
I may be way out and don't have time to dig deeper right now.

Hopefully, someone else will wake up and know what to do.

Martin

Reply via email to