Visit Our UNIX and Linux User Community


Can't locate DBI.pm in @INC


 
Thread Tools Search this Thread
Operating Systems Linux Red Hat Can't locate DBI.pm in @INC
# 1  
Old 07-10-2013
Can't locate DBI.pm in @INC

my os details as follow

Code:
bash-3.2$ cat /etc/redhat-release 
Red Hat Enterprise Linux Server release 5.8 (Tikanga)

I run the following and encounter the following error

Code:
bash-3.2$  mysqlhotcopy -?
Can't locate DBI.pm in @INC (@INC contains: /usr/lib64/perl5/site_perl/5.8.8/x86_64-linux-thread-multi /usr/lib/perl5/site_perl/5.8.8 /usr/lib/perl5/site_perl /usr/lib64/perl5/vendor_perl/5.8.8/x86_64-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.8 /usr/lib/perl5/vendor_perl /usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi /usr/lib/perl5/5.8.8 .) at /usr/bin/mysqlhotcopy line 25.
BEGIN failed--compilation aborted at /usr/bin/mysqlhotcopy line 25.

note although this seems to be a mysql question but problem tells me that there's some installation problems at the os level.

would appreciate any suggested solutions.

even the answer found in perl - Error "Can't locate version.pm in @INC" when I call my DBI module - Stack Overflow

could not resolve my issue

thanks a alot!
# 2  
Old 07-10-2013
your error message says that perl cannot find the DBI.pm module ... confirm that you have it installed and install it if not there ... if already installed, confirm that the perl version you are using with your script can actually see it ... you may have to get the correct install version from red hat's repositories -- if they exist -- though cpan.org should be the primary source of any installed modules ...
# 3  
Old 07-11-2013
@INC is an array of directories - exactly like the PATH variable. Use the UNIX find command to locate the DBI.pm files. add the driectory to @INC this way:

Code:
the PERLLIB environment variable
        $ export PERLLIB=/path/to/my/dir
        $ perl program.pl
the PERL5LIB environment variable
        $ export PERL5LIB=/path/to/my/dir
        $ perl program.pl
the perl -Idir command line flag
        $ perl -I/path/to/my/dir program.pl
the lib pragma:
        use lib "$ENV{HOME}/myown_perllib";
the local::lib module:
        use local::lib;

        use local::lib "~/myown_perllib";

Choose a method.
# 4  
Old 07-11-2013
it's already installed

Code:
-bash-3.2$ perl -v

This is perl, v5.8.8 built for x86_64-linux-thread-multi

Copyright 1987-2006, Larry Wall

Perl may be copied only under the terms of either the Artistic License or the
GNU General Public License, which may be found in the Perl 5 source kit.

Complete documentation for Perl, including FAQ lists, should be found on
this system using "man perl" or "perldoc perl".  If you have access to the
Internet, point your browser at http://www.perl.org/, the Perl Home Page.

btw how do I find DBI.pm, what's the best find command syntax to find it.

I have problems finding it.

find /usr/lib/ -iname "DBI.pm"
# 5  
Old 07-11-2013
Quote:
Originally Posted by jediwannabe
it's already installed

Code:
-bash-3.2$ perl -v

This is perl, v5.8.8 built for x86_64-linux-thread-multi

Copyright 1987-2006, Larry Wall

Perl may be copied only under the terms of either the Artistic License or the
GNU General Public License, which may be found in the Perl 5 source kit.

Complete documentation for Perl, including FAQ lists, should be found on
this system using "man perl" or "perldoc perl".  If you have access to the
Internet, point your browser at http://www.perl.org/, the Perl Home Page.

btw how do I find DBI.pm, what's the best find command syntax to find it.

I have problems finding it.

find /usr/lib/ -iname "DBI.pm"
perl would not have worked if it was not installed ... your error is about the missing DBI.pm module that perl cannot find under the /usr/lib*/perl5 directories ...

try ...
Code:
find /usr -type f  -name "*[dD][bB][iI]*" -print

one you have verified that you actually have the module installed and your script still fails, you might want to post your script so people can see where the problem is happening ...
# 6  
Old 07-15-2013
Code:
[root@11gr2-secondary ~]# find /usr -type f  -name "*[dD][bB][iI]*" -print
/usr/share/man/man3/FindBin.3pm.gz
/usr/share/fonts/default/ghostscript/hrpldbi.gsf
/usr/share/mysql-test/include/have_dbi_dbd-mysql.inc
/usr/share/mysql-test/std_data/checkDBI_DBD-mysql.pl
/usr/lib/perl5/5.8.8/FindBin.pm

what does the result mean, I don't see any DBI modules?

thanks a lot!


later I installed a couple of things, now I've come to this error

Code:
[root@11gr2-secondary ~]# mysqlhotcopy -u root -p test1 /u03/mysql/mysqlhotcopy/
install_driver(mysql) failed: Can't locate DBD/mysql.pm in @INC (@INC contains: /usr/lib64/perl5/site_perl/5.8.8/x86_64-linux-thread-multi /usr/lib/perl5/site_perl/5.8.8 /usr/lib/perl5/site_perl /usr/lib64/perl5/vendor_perl/5.8.8/x86_64-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.8 /usr/lib/perl5/vendor_perl /usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi /usr/lib/perl5/5.8.8 .) at (eval 7) line 3.
Perhaps the DBD::mysql perl module hasn't been fully installed,
or perhaps the capitalisation of 'mysql' isn't right.
Available drivers: DBM, ExampleP, File, Gofer, Multiplex, Proxy, Sponge.
 at /usr/bin/mysqlhotcopy line 197

anyone has solutions to the above?

thanks a lot!

---------- Post updated 07-16-13 at 12:05 AM ---------- Previous update was 07-15-13 at 10:55 PM ----------

I realize that I was not able to install install Bundle:SmilieBD::mysql properly

I encountered the following error

Code:
Running make test
PERL_DL_NONLAZY=1 /usr/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
t/00base....................NOK 2                                            
#   Failed test 'use DBD::mysql;'
#   at t/00base.t line 21.
#     Tried to use 'DBD::mysql'.
#     Error:  Can't load '/root/.cpan/build/DBD-mysql-4.023/blib/arch/auto/DBD/mysql/mysql.so' for module DBD::mysql: /root/.cpan/build/DBD-mysql-4.023/blib/arch/auto/DBD/mysql/mysql.so: undefined symbol: mysql_get_server_version at /usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/DynaLoader.pm line 230.
#  at (eval 7) line 2
# Compilation failed in require at (eval 7) line 2.
# BEGIN failed--compilation aborted at (eval 7) line 2.
FAILED--Further testing stopped: Unable to load DBD::mysql
make: *** [test_dynamic] Error 9

any one know how to resolve the above? thanks a lot!

Last edited by jediwannabe; 07-15-2013 at 12:59 PM.. Reason: additional information

Previous Thread | Next Thread
Test Your Knowledge in Computers #118
Difficulty: Easy
A Unix-like OS is the one that works like Unix systems, however, Unix-like system do not necessarily conform to the Single UNIX Specification (SUS) or POSIX (Portable Operating System Interface) standards.
True or False?

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Perl Oracle DBI through Apache problem

Experts, I've been struggling with making a Perl Oracle DBI script to work through my Apache webserver. Mysql DBI scripts work fine, but I'm having issue's with Oracle. The oracle script works on command line, but I'm getting an "Internal Server Error" with apache Sourcing the oracle... (0 Replies)
Discussion started by: timj123
0 Replies

2. Shell Programming and Scripting

Perl DBI error

Hi All, I installed DBI module in a non INC location and using it in my script via "use lib". But it throw the below error at the "use DBI" step. Please help Usage: DBI::_install_method(dbi_class, meth_name, file, attribs=Nullsv) at /xx/xxx/xxxxx/xxxxx/oracle/lib/DBI.pm/oracle/lib/DBI.pm line... (2 Replies)
Discussion started by: prasperl
2 Replies

3. Shell Programming and Scripting

Executing DB2 command without using the DBI module

Hi Guys, I wonder if possible to execute a Db2 commands within a perl scripts without installing or invoking the DBI modules. I have a script that is written in kron shell and it looks like : DB=`db2 list db directory | egrep "Database alias|Directory entry type"|awk '{printf $0 ;... (0 Replies)
Discussion started by: arizah
0 Replies

4. Shell Programming and Scripting

perl: help with DBI

Hi there, I have a bit of code similar to below (which ive actually got from perldoc, but mine is similar enough) $sth = $dbh->prepare(q{ SELECT region, sales FROM sales_by_region }); $sth->execute; my ($region, $sales); # Bind Perl variables to columns: $rv =... (4 Replies)
Discussion started by: hcclnoodles
4 Replies

5. UNIX for Advanced & Expert Users

Perl's DBI Module on OS X - uninstallable?

i've been struggling with installing the Perl DBI & DBD modules all weekend, and I'm getting close, but no cigar as of yet. When I run the perl script db.pl I get the following mismatch error: Mon Apr 19 09:43:29 EDT 2010 /Library/Perl/DBD-mysql-4.011 -> peterv@MBP17.local<515>$: db.pl | tee... (0 Replies)
Discussion started by: peterv6
0 Replies

6. Shell Programming and Scripting

connect to MySQL from Perl using DBI

Hi, I want to connect perl with the mysql to select and so on but the connection don't work code #!/usr/bin/perl BEGIN { # PERL MODULES WE WILL BE USING use DBI; $dbh = DBI->connect('DBI:mysql:C:\Program Files\MySQL\MySQL Server 5.0\data\db1','','pass') or die $DBI::errstr;} #... (1 Reply)
Discussion started by: eng_shimaa
1 Replies

7. Shell Programming and Scripting

DBI - Change database

Hello ! I am working on a small Perl script that should connect to the MySQL server, will select all the databases one by one and do some queryes on each. I started working on it but I just saw that on the DBI manual page there's no method for changing the working database. Am I missing... (2 Replies)
Discussion started by: Sergiu-IT
2 Replies

8. Shell Programming and Scripting

Installing Perl DBI and DBD

Hi, i have some queries on installing the Perl DBI and the DBD Oracle. I know that i have to install the DBI first. I have the source files in a folder in my home directory.The commands to install arecd /home/DBI Perl Makefile.PL make make installI would like to know, after executing these... (4 Replies)
Discussion started by: new2ss
4 Replies

9. Programming

perl dbi to oracle getting disconnect_all for oracle dbi help

hi i am trying to connect to an oracle database using dbi and i get this :: Driver has not implemented the disconnect_all method. at /opt/perl/lib/site_perl/5.8.0/sun4-solaris/DBI.pm line 575 END failed--call queue aborted. for all i know, the script was working earlier, but has... (1 Reply)
Discussion started by: poggendroff
1 Replies

10. Shell Programming and Scripting

PERL DBI module install

We ran into an issue trying to install DBI and DB2 modules for perl for AIX from the link http://www-306.ibm.com/software/data/db2/perl/ We tried to install the DBI module using bash# perl -MCPAN -e 'install DBI' command. However we ended up with the following error. Stop. ... (3 Replies)
Discussion started by: jerardfjay
3 Replies

Featured Tech Videos