On 11/10/05, [EMAIL PROTECTED] <[EMAIL PROTECTED]> wrote:
>
> Thank you for your answer.
> I have checked that LD_LIBRARY_PATH is set, and it includes
> $II_SYSTEM/ingres/lib.
>
> I check that DBD::Ingres is present (version 0.30).
> And i have the following line in my .profile :
>
> LD_LIBRARY_PATH=/lib:/usr/ccs/lib:/usr/ucblib:/usr/local/lib:$II_SYSTEM/ingres/lib:$LD_LIBRAR
> Y_PATH; export LD_LIBRARY_PATH


Where's II_SYSTEM set? What is it set to?

Selon Eric Lenio <[EMAIL PROTECTED]> wrote:
> > On Wed, Nov 09, 2005 at 08:34:39AM -0800, Jonathan Leffler wrote:
> > > On 11/9/05, [EMAIL PROTECTED] <[EMAIL PROTECTED]> wrote:
> > > > I'm having a trouble when i try to execute a simple perl program.
> > > >
> > > > Perl version : 5.6.1.
> > > > OS : SunOS 5.8
> > > >
> > > > The source code:
> [...]
> > > > $dbh = DBI->connect( "dbi:Ingres:kpreprod::maj", "kmaj" );
> [...]
> > > >
> > > > I get the following message :
> > > >
> > > > install_driver(Ingres) failed: Can't load
> > > > '/usr/local/lib/perl5/site_perl/5.6.1/
> > > > sun4-solaris/auto/DBD/Ingres/Ingres.so'
> > > > for module DBD::Ingres: ld.so.1: perl: fatal:
> > > > libinterp.1.so <http://libinterp.1.so>:
> > > > open failed: No
> > > > such file or directory at /usr/local/lib/p
> > > > erl5/5.6.1/sun4-solaris/DynaLoader.pm line 206.
> > > > at (eval 1) line 3
> > > > Compilation failed in require at (eval 1) line 3.
> > > > Perhaps a required shared library or dll isn't installed where
> expected
> > > > at test.pl line 8
> > >
> > > Which part of the error message don't you understand? Either you don't
> have
> > > DBD::Ingres installed, or you don't have the Ingres libraries that it
> > > depends on installed.
> >
> > Check that LD_LIBRARY_PATH is set, and it includes
> $II_SYSTEM/ingres/lib.
>


OK - so you're going to have to do some rather detailed tracking. In this
case, ldd is your friend.

I don't recognize libinterp.so - it is not clear to me whether it is
something that is missing, or was the module that couldn't be loaded because
something else was missing.

Step 1: track down libinterp.so -- in extremis: find / -name libinterp.so-print

1A: You can't find libinterp.so: rebuild DBD::Ingres (let's hope you don't
need to rebuild Perl + DBI too).
1B: You find libinterp.so - it is part of Perl.
Run ldd on Ingres.so and see which shared libraries it can find - and which
it can't.
* This one:
/usr/local/lib/perl5/site_perl/5.6.1/sun4-solaris/auto/DBD/Ingres/Ingres.so
Fix things so everything is found.
1C: You find libinterp.so - it is part of Ingres.
Run ldd on libinterp.so and see which shared libraries it can't find.

For missing libraries, do a scan (if necessary 'find / -name "*libwhatnot*"
-print') to see whether they're on the system. If not, rebuild DBD::Ingres.

Actually, if you want to short circuit the investigation - rebuild, retest,
reinstall DBD::Ingres.

--
Jonathan Leffler <[EMAIL PROTECTED]> #include <disclaimer.h>
Guardian of DBD::Informix - v2005.02 - http://dbi.perl.org
"I don't suffer from insanity - I enjoy every minute of it."

Reply via email to