[32429] in Perl-Users-Digest

home help back first fref pref prev next nref lref last post

Perl-Users Digest, Issue: 3696 Volume: 11

daemon@ATHENA.MIT.EDU (Perl-Users Digest)
Tue May 22 11:09:22 2012

Date: Tue, 22 May 2012 08:09:06 -0700 (PDT)
From: Perl-Users Digest <Perl-Users-Request@ruby.OCE.ORST.EDU>
To: Perl-Users@ruby.OCE.ORST.EDU (Perl-Users Digest)

Perl-Users Digest           Tue, 22 May 2012     Volume: 11 Number: 3696

Today's topics:
    Re: 'make uninstall' - manual uninstall DBD::Oracle; fi <hansmu@xs4all.nl>
    Re: 'make uninstall' - manual uninstall DBD::Oracle; fi <xtdkmqc@gmail.com>
    Re: DBD::Oracle build on aix 6.1 ( host is a 64 bit db  <gogala.mladen@gmail.com>
    Re: DBD::Oracle build on aix 6.1 ( host is a 64 bit db  (Heinrich Mislik)
    Re: DBD::Oracle build on aix 6.1 ( host is a 64 bit db  <ben@morrow.me.uk>
        get local packages symbols with require <marc.girod@gmail.com>
        Digest Administrivia (Last modified: 6 Apr 01) (Perl-Users-Digest Admin)

----------------------------------------------------------------------

Date: Mon, 21 May 2012 08:02:36 +0200
From: Hans Mulder <hansmu@xs4all.nl>
Subject: Re: 'make uninstall' - manual uninstall DBD::Oracle; fix perllocal.pod
Message-Id: <4fb9da7d$0$6896$e4fe514c@news2.news.xs4all.nl>

On 21/05/12 02:41:57, Ben Morrow wrote:
> 
> Quoth xtdkmqc@gmail.com:
>>
>>   /home/users/jdoe> chk_db_connection.pl
>>   install_driver(Oracle) failed: Can't load
>> '/usr/opt/perl5/lib/site_perl/5.8.8/aix-thread-multi/auto/DBD/Oracle/Oracle.so'
>> for module DBD::Oracle: Could not load module
>> /usr/opt/perl5/lib/site_perl/5.8.8/aix-thread-multi/auto/DBD/Oracle/Oracle.so.
>>           Dependent module libclntsh.so could not be loaded.
>>   Could not load module libclntsh.so.
>>   System error: No such file or directory
>>   Could not load module
>> /usr/opt/perl5/lib/site_perl/5.8.8/aix-thread-multi/auto/DBD/Oracle/Oracle.so.
>>           Dependent module
>> /usr/opt/perl5/lib/site_perl/5.8.8/aix-thread-multi/auto/DBD/Oracle/Oracle.so
>> could not be loaded. at
>> /usr/opt/perl5/lib/5.8.8/aix-thread-multi/DynaLoader.pm line 230.
>>    at (eval 3) line 3
>>   Compilation failed in require at (eval 3) line 3.
>>   Perhaps a required shared library or dll isn't installed where expected
>>    at chk_db_connection.pl line 5
>>
>> Oracle.o is in the good build tree:
> 
> Oracle.o is irrelevant: it's created by the build process, but can be
> deleted afterwards. The messages above refer to Oracle.so, which is
> installed; they are telling you Oracle.so can't be loaded because
> libclntsh.so is missing, which is presumably one of the Oracle client
> libaries.

I have no experience with AIX, but I've done something similar on
Linux onec.  If I remember correctly, libclntsh.so it the only .so
file you need, but you also need a number of data files.  Without
the data files, you'll get a crypric error code (which means that
it can't find your character encoding), followed by another cryptic
error code (which means that it can't find the error messages either).

If AIX has something like strace or truss, you can use that to
find out which files it is trying to open, and copy those.

>> In addition, there is the 'libclntsh.so' issue..
> 
> That is the only issue; you don't have 32bit Oracle client libs
> installed on this machine.

Last time I looked, the Instant Client could be downloaded for free
from Oracle.com.

Hope this helps,

-- HansM





------------------------------

Date: Mon, 21 May 2012 13:58:04 +0000
From: Am Nym <xtdkmqc@gmail.com>
Subject: Re: 'make uninstall' - manual uninstall DBD::Oracle; fix perllocal.pod
Message-Id: <wrohav9ljpv.fsf@mpttdph.xen.prgmr.com>

Ben Morrow <ben -at- morrow -dot- me -dot- uk> writes:

> Quoth xtdkmqc-at-gmail-dot-com:
>> 
>>   /home/users/jdoe> chk_db_connection.pl
>>   install_driver(Oracle) failed: Can't load
>> '/usr/opt/perl5/lib/site_perl/5.8.8/aix-thread-multi/auto/DBD/Oracle/Oracle.so'
>> for module DBD::Oracle: Could not load module
>> /usr/opt/perl5/lib/site_perl/5.8.8/aix-thread-multi/auto/DBD/Oracle/Oracle.so.
>>           Dependent module libclntsh.so could not be loaded.
>>   Could not load module libclntsh.so.
>>   System error: No such file or directory
>>   Could not load module
>> /usr/opt/perl5/lib/site_perl/5.8.8/aix-thread-multi/auto/DBD/Oracle/Oracle.so.
>>           Dependent module
>> /usr/opt/perl5/lib/site_perl/5.8.8/aix-thread-multi/auto/DBD/Oracle/Oracle.so
>> could not be loaded. at
>> /usr/opt/perl5/lib/5.8.8/aix-thread-multi/DynaLoader.pm line 230.
>>    at (eval 3) line 3
>>   Compilation failed in require at (eval 3) line 3.
>>   Perhaps a required shared library or dll isn't installed where expected
>>    at chk_db_connection.pl line 5
>> 
>> Oracle.o is in the good build tree:
>
> Oracle.o is irrelevant: it's created by the build process, but can be
> deleted afterwards.

Sorry, I mis-read Oracle.so as Oracle.o!

> The messages above refer to Oracle.so, which is
> installed; they are telling you Oracle.so can't be loaded because
> libclntsh.so is missing, which is presumably one of the Oracle client
> libaries.
>
>> In addition, there is the 'libclntsh.so' issue..
>
> That is the only issue; you don't have 32bit Oracle client libs
> installed on this machine.

thanks much Ben.


------------------------------

Date: Mon, 21 May 2012 23:14:03 +0000 (UTC)
From: Mladen Gogala <gogala.mladen@gmail.com>
Subject: Re: DBD::Oracle build on aix 6.1 ( host is a 64 bit db server )
Message-Id: <pan.2012.05.21.23.14.02@gmail.com>

On Sat, 19 May 2012 13:35:07 -0500, Am Nym wrote:

> So should I install the 'Oracle Instant Client' before attempting the
> build of DBD::Oracle?

Yes, you should install instant client. I did it on linux:

mgogala@medo ~]$ perl -e 'use DBD::Oracle;print "$DBD::Oracle::VERSION
\n";'
1.44
[mgogala@medo ~]$ rpm -qa|grep oracle
oracle-instantclient11.2-devel-11.2.0.3.0-1.x86_64
oracle-instantclient11.2-odbc-11.2.0.3.0-1.x86_64
oracle-instantclient11.2-sqlplus-11.2.0.3.0-1.x86_64
oracle-instantclient11.2-basic-11.2.0.3.0-1.x86_64
oracle-instantclient11.2-jdbc-11.2.0.3.0-1.x86_64
oracle-instantclient11.2-precomp-11.2.0.3.0-1.x86_64
[mgogala@medo ~]$ 

Before you start building, you should set ORACLE_HOME to whatever 
directory your instant client unpacks them and LD_LIBRARY_PATH to where 
your Oracle libraries will be. Don't forget to set TWO_TASK and point it 
to a database which has scott/tiger schema, as that is what DBD uses in 
the "make test" phase. You also need $TNS_ADMIN directory, with sqlnet.ora 
and tnsnames.ora



-- 
http://mgogala.byethost5.com


------------------------------

Date: Tue, 22 May 2012 08:58:36 +0000 (UTC)
From: Heinrich.Mislik@univie.ac.at (Heinrich Mislik)
Subject: Re: DBD::Oracle build on aix 6.1 ( host is a 64 bit db server )
Message-Id: <jpfkfr$g54$1@news2.open-news-network.org>

In article <pan.2012.05.21.23.14.02@gmail.com>, gogala.mladen@gmail.com says...
>
>
>On Sat, 19 May 2012 13:35:07 -0500, Am Nym wrote:
>
>> So should I install the 'Oracle Instant Client' before attempting the
>> build of DBD::Oracle?
>
>Yes, you should install instant client. I did it on linux:

Don't do that. Point ORACLE_HOME to the installed Oracle. Having the
instantclient installed on an Oracle DB-server may leave you with 
incompatible versions of client libraries on that server. This can 
lead to strange errors (core dumped within Oracle library) during
connect using ORACLE_SID.

Cheers

Heinrich

-- 
Heinrich Mislik
Zentraler Informatikdienst der Universitaet Wien
A-1010 Wien, Universitaetsstrasse 7
Tel.: (+43 1) 4277-14056, Fax: (+43 1) 4277-9140



------------------------------

Date: Tue, 22 May 2012 12:00:10 +0100
From: Ben Morrow <ben@morrow.me.uk>
Subject: Re: DBD::Oracle build on aix 6.1 ( host is a 64 bit db server )
Message-Id: <q68s89-hth.ln1@anubis.morrow.me.uk>


Quoth Heinrich.Mislik@univie.ac.at (Heinrich Mislik):
> In article <pan.2012.05.21.23.14.02@gmail.com>, gogala.mladen@gmail.com says...
> >On Sat, 19 May 2012 13:35:07 -0500, Am Nym wrote:
> >
> >> So should I install the 'Oracle Instant Client' before attempting the
> >> build of DBD::Oracle?
> >
> >Yes, you should install instant client. I did it on linux:
> 
> Don't do that. Point ORACLE_HOME to the installed Oracle. Having the
> instantclient installed on an Oracle DB-server may leave you with 
> incompatible versions of client libraries on that server. This can 
> lead to strange errors (core dumped within Oracle library) during
> connect using ORACLE_SID.

I believe you missed the start of the thread: the OP has 64bit Oracle
installed and 32bit perl, and it's not clear whether the Oracle install
has 32bit client libs at all and/or how to get DBD::Oracle to link with
them. Simply pointing ORACLE_HOME at the installed Oracle picks up 64bit
client libs, which won't link.

Do you know something we don't? :)

Ben



------------------------------

Date: Tue, 22 May 2012 00:47:34 -0700 (PDT)
From: Marc Girod <marc.girod@gmail.com>
Subject: get local packages symbols with require
Message-Id: <262de992-9ab1-4f5b-a3a0-e4600d6656f4@v24g2000vbx.googlegroups.com>

Hello,

I am still trying to improve the CPAN ClearCase::Wrapper package:
http://cpansearch.perl.org/src/DSB/ClearCase-Wrapper-1.16/Wrapper.pm

In particular, somebody brought to my attention the fact that errors
in sub-modules which Wrapper loads, are ignored.
I decided that the point to fix was the snippet:

	local $^W = 0;	  # in case a function is redefined
	eval {
	    local @INC = ($dir);  # make %INC come out right
	    eval "require $pkg";
	};
	warn $@, next if $@;

I restored the warnings, excepting 'redefine'.
I moved the 'warn $@' inside the eval block, right after the require.
This gave me errors for all the modules used.
I removed the @INC restriction, and got to the next problem.

Now I got into %{"${pkg}::"} not only the local symbols, but also all
imported functions (e.g. 'find' from File::Find).
The problem is that I need this information (the local symbols) for
the remaining part.
Most of the symbols are indeed found in the autosplit.ix file which is
also accessed, but not all:
(first) some functions might have been excluded from the
autosplitting, and (second) functions may have been aliased to shorter
names, not matching any new *.al file (listed in autosplit.ix).

My next move was to try to (optionally) 'require' twice, first in an
open verbose mode, then as previously.
In the meanwhile, I restored %{"${pkg}::"} to its initial state.

This led to the next error: 'use vars', in the sub-modules, was
evaluated only once, the first time.

Deep in what looks as a dead end, I ask for critique and help
Thanks,
Marc


------------------------------

Date: 6 Apr 2001 21:33:47 GMT (Last modified)
From: Perl-Users-Request@ruby.oce.orst.edu (Perl-Users-Digest Admin) 
Subject: Digest Administrivia (Last modified: 6 Apr 01)
Message-Id: <null>


Administrivia:

To submit articles to comp.lang.perl.announce, send your article to
clpa@perl.com.

Back issues are available via anonymous ftp from
ftp://cil-www.oce.orst.edu/pub/perl/old-digests. 

#For other requests pertaining to the digest, send mail to
#perl-users-request@ruby.oce.orst.edu. Do not waste your time or mine
#sending perl questions to the -request address, I don't have time to
#answer them even if I did know the answer.


------------------------------
End of Perl-Users Digest V11 Issue 3696
***************************************


home help back first fref pref prev next nref lref last post