DBD DBI Problem
am 09.11.2005 13:12:56 von said.laoui
Hello,
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:
#!/usr/local/bin/perl -w
use DBI;
use Sys::Hostname;
$dbh = DBI->connect( "dbi:Ingres:kpreprod::maj", "kmaj" );
$dbh->commit ;
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: 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
Thanks a lot for any help.
Re: DBD DBI Problem
am 09.11.2005 17:34:39 von jonathan.leffler
------=_Part_10014_2962763.1131554079688
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline
On 11/9/05, said.laoui@free.fr wrote:
>
> Hello,
> 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:
>
> #!/usr/local/bin/perl -w
>
> use DBI;
> use Sys::Hostname;
>
> $dbh =3D DBI->connect( "dbi:Ingres:kpreprod::maj", "kmaj" );
>
> $dbh->commit ;
>
> 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
terp.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.
--
Jonathan Leffler #include
Guardian of DBD::Informix - v2005.02 - http://dbi.perl.org
"I don't suffer from insanity - I enjoy every minute of it."
------=_Part_10014_2962763.1131554079688--
Re: DBD DBI Problem
am 09.11.2005 17:55:32 von dbi-users
On Wed, Nov 09, 2005 at 08:34:39AM -0800, Jonathan Leffler wrote:
> On 11/9/05, said.laoui@free.fr wrote:
> >
> > Hello,
> > 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:
> >
> > #!/usr/local/bin/perl -w
> >
> > use DBI;
> > use Sys::Hostname;
> >
> > $dbh = DBI->connect( "dbi:Ingres:kpreprod::maj", "kmaj" );
> >
> > $dbh->commit ;
> >
> > 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:
> > 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.
>
>
> --
> Jonathan Leffler #include
> Guardian of DBD::Informix - v2005.02 - http://dbi.perl.org
> "I don't suffer from insanity - I enjoy every minute of it."
Check that LD_LIBRARY_PATH is set, and it includes $II_SYSTEM/ingres/lib.
Re: DBD DBI Problem
am 10.11.2005 14:15:10 von said.laoui
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
Thank you for your help.
Selon Eric Lenio :
> On Wed, Nov 09, 2005 at 08:34:39AM -0800, Jonathan Leffler wrote:
> > On 11/9/05, said.laoui@free.fr wrote:
> > >
> > > Hello,
> > > 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:
> > >
> > > #!/usr/local/bin/perl -w
> > >
> > > use DBI;
> > > use Sys::Hostname;
> > >
> > > $dbh = DBI->connect( "dbi:Ingres:kpreprod::maj", "kmaj" );
> > >
> > > $dbh->commit ;
> > >
> > > 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:
> > > 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.
> >
> >
> > --
> > Jonathan Leffler #include
> > Guardian of DBD::Informix - v2005.02 - http://dbi.perl.org
> > "I don't suffer from insanity - I enjoy every minute of it."
>
> Check that LD_LIBRARY_PATH is set, and it includes $II_SYSTEM/ingres/lib.
>
Re: DBD DBI Problem
am 10.11.2005 15:03:12 von jonathan.leffler
------=_Part_11305_2891629.1131631392420
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline
On 11/10/05, said.laoui@free.fr 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=3D/lib:/usr/ccs/lib:/usr/ucblib:/usr/local/l ib:$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 wrote:
> > On Wed, Nov 09, 2005 at 08:34:39AM -0800, Jonathan Leffler wrote:
> > > On 11/9/05, said.laoui@free.fr 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 =3D 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 :
> > > > 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 becaus=
e
something else was missing.
Step 1: track down libinterp.so -- in extremis: find / -name libinterp.so-p=
rint
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/I ngres/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 #include
Guardian of DBD::Informix - v2005.02 - http://dbi.perl.org
"I don't suffer from insanity - I enjoy every minute of it."
------=_Part_11305_2891629.1131631392420--