[BioSQL-l] problem loading NCBI_taxonomy database into BioSQL bioseqdb
Hilmar Lapp
hlapp at gmx.net
Wed Sep 3 15:43:49 UTC 2008
Hi Nick,
this is pretty weird. But the two different results between running
with and without sudo strongly indicate that something's wrong with
your perl installation setup. Specifically, DBI apparently isn't
installed, and the DBI module that you are picking up without the sudo
seems to be wrong or a corrupt one.
You can ask perldoc for the full path to the module using the -l
argument:
$ perldoc -l DBI
$ sudo perldoc -l DBI
$ /usr/bin/perldoc -l DBI
$ sudo /usr/bin/perldoc -l DBI
should all yield the same result, and the following should, too:
$ perl -e 'use DBI; $dbh=DBI-
>connect("dbi:mysql:database=test","","");'
w/ and w/o using the full path, w/ and w/o prepending sudo.
Is that what you are seeing?
-hilmar
On Sep 2, 2008, at 11:57 PM, Nick Matzke wrote:
> Hi Hilmar!
>
> Thanks, that's a good thought. But I just tried running it on the
> default 5.8.6 (I have MacOX 10.4), same result:
>
>
> ==========================================
> mws2:~ nick$ perl5.8.6 -MDBD::mysql -e 'print 1'
> 1
>
> mws2:~ nick$ perl5.8.6 -MDBI -e 'print 1'
> 1
>
> mws2:~ nick$ perl5.8.6 -v
>
> This is perl, v5.8.6 built for darwin-thread-multi-2level
> (with 4 registered patches, see perl -V for more detail)
>
> Copyright 1987-2004, 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.
>
>
> mws2:~ nick$ perl5.8.6 /bioinformatics/pythonstuff/biosql-1.0.0/
> scripts/load_ncbi_taxonomy.pl --dbname bioseqdb --driver mysql --
> dbuser root --download true
>
> Can't locate object method "connect" via package "DBI" at /
> bioinformatics/pythonstuff/biosql-1.0.0/scripts/
> load_ncbi_taxonomy.pl line 323.
> ==========================================
>
>
> Just for kicks, I thought it might be a permission issue, so I tried
> it with sudo also, at least I got a different error:
>
> ==================
> mws2:~ nick$ sudo perl5.8.6 /bioinformatics/pythonstuff/biosql-1.0.0/
> scripts/load_ncbi_taxonomy.pl --dbname bioseqdb --driver mysql --
> dbuser root --download true
>
> Password:
>
> Can't locate DBI.pm in @INC (@INC contains: /System/Library/Perl/
> 5.8.6/darwin-thread-multi-2level /System/Library/Perl/5.8.6 /Library/
> Perl/5.8.6/darwin-thread-multi-2level /Library/Perl/5.8.6 /Library/
> Perl /Network/Library/Perl/5.8.6/darwin-thread-multi-2level /Network/
> Library/Perl/5.8.6 /Network/Library/Perl /System/Library/Perl/Extras/
> 5.8.6/darwin-thread-multi-2level /System/Library/Perl/Extras/5.8.6 /
> Library/Perl/5.8.1 .) at /bioinformatics/pythonstuff/biosql-1.0.0/
> scripts/load_ncbi_taxonomy.pl line 195.
>
> BEGIN failed--compilation aborted at /bioinformatics/pythonstuff/
> biosql-1.0.0/scripts/load_ncbi_taxonomy.pl line 195.
> =====================
>
>
> (As for why I installed ActivePerl -- I don't remember, but it
> seemed like a good idea at the time when I was installing various
> packages and something or other requested or suggested the newer
> version. I was a total noob at the time. Still am, sorta...)
>
> Nick
>
>
> Hilmar Lapp wrote:
>> Hi Nick,
>> this is working fine for me, using perl v5.8.8. You may have
>> noticed that DBI does have a method 'connect'.
>> Your perl reports to be 5.10, and to have been built for Mac OSX,
>> yet it is a binary from ActiveState. Is my interpretation correct
>> that you installed this on top of or in place of Mac OSX's native
>> perl v5.8.8? Correspondingly, are you sure that 'perl' (which is
>> what you are calling below), /usr/bin/perl (which is what the
>> script executes), and cpan all are the same perl?
>> If this is all correct and all the right platform, could you try
>> and edit the following code (starting at line 323):
>> my $dbh = DBI->connect($dsn,
>> $user,
>> $pass,
>> { RaiseError => 0,
>> AutoCommit => 1,
>> PrintError => 0,
>> }
>> ) or die $DBI::errstr;
>> by removing the 'or die $DBI::errstr' part. This would be hoping
>> that it's an incompatibility for v5.10.
>> BTW are you sure you need perl 5.10? You will encounter various
>> perl software that has not been tested against it yet (though I
>> think Bioperl has been fixed meanwhile to be compatible).
>> -hilmar
>> On Sep 2, 2008, at 7:52 PM, Nick Matzke wrote:
>>> Hi all,
>>>
>>> (sorry that I cross-posted this to the biopython lis, I only just
>>> realized I should get on the bioSQL list)
>>>
>>>
>>>
>>> I'm following the BioSQL tutorial at the biopython website (http://www.biopython.org/wiki/BioSQL#NCBI_Taxonomy
>>> ). I can get bioseqdb to work, and the biosql python scripts etc.
>>>
>>> However I can't get these directions to work in loading the
>>> taxonomy database into bioseqdb. I get: "Can't locate object
>>> method "connect" via package "DBI" "
>>>
>>> I double-checked to make sure I've got DBI in perl (see error
>>> message below) but that doesn't seem to help.
>>>
>>> Any help appreciated!
>>> Nick
>>>
>>>
>>>
>>> commands/returns:
>>> ===========================
>>> mws2:/bioinformatics/eg nick$ perl -v
>>>
>>> This is perl, v5.10.0 built for darwin-thread-multi-2level
>>> (with 3 registered patches, see perl -V for more detail)
>>>
>>> Copyright 1987-2007, Larry Wall
>>>
>>> Binary build 1002 [283697] provided by ActiveState http://www.ActiveState.com
>>> Built Jan 10 2008 11:08:33
>>>
>>> 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.
>>>
>>>
>>>
>>>
>>>
>>>
>>> mws2:/bioinformatics/eg nick$ sudo cpan DBI
>>> Password:
>>>
>>> CPAN: Storable loaded ok (v2.18)
>>> Going to read /usr/local/Metadata
>>> Database was generated on Wed, 23 Jul 2008 10:02:50 GMT
>>> CPAN: LWP::UserAgent loaded ok (v5.810)
>>> CPAN: Time::HiRes loaded ok (v1.9711)
>>> Fetching with LWP:
>>> http://ppm.activestate.com/CPAN/authors/01mailrc.txt.gz
>>> CPAN: YAML loaded ok (v0.66)
>>> Going to read /Users/nick/.cpan/sources/authors/01mailrc.txt.gz
>>> ............................................................................DONE
>>> Fetching with LWP:
>>> http://ppm.activestate.com/CPAN/modules/02packages.details.txt.gz
>>> Going to read /Users/nick/.cpan/sources/modules/
>>> 02packages.details.txt.gz
>>> Database was generated on Mon, 01 Sep 2008 10:02:51 GMT
>>> ............................................................................DONE
>>> Fetching with LWP:
>>> http://ppm.activestate.com/CPAN/modules/03modlist.data.gz
>>> Going to read /Users/nick/.cpan/sources/modules/03modlist.data.gz
>>> ............................................................................DONE
>>> Going to write /usr/local/Metadata
>>> DBI is up to date (1.607).
>>>
>>>
>>>
>>>
>>>
>>>
>>> mws2:/bioinformatics/eg nick$ /bioinformatics/pythonstuff/
>>> biosql-1.0.0/scripts/load_ncbi_taxonomy.pl --dbname bioseqdb --
>>> driver mysql --dbuser root --download true
>>>
>>>
>>> Can't locate object method "connect" via package "DBI" at /
>>> bioinformatics/pythonstuff/biosql-1.0.0/scripts/
>>> load_ncbi_taxonomy.pl line 323.
>>>
>>> mws2:/bioinformatics/eg nick$
>>> ===========================
>>>
>>>
>>>
>>> Additional sleuthing:
>>> ===========================
>>> Based on some web advice on this general error I also did this:
>>>
>>> sudo cpan DBD::mysql
>>>
>>> ...which did install something that wasn't installed. But the
>>> same error resulted when the load_ncbi_taxonomy.pl script was run.
>>> ===========================
>>>
>>>
>>> Perl *does* successfully recognize DBI and DBD::mysql, so e.g. not
>>> finding them in @INC or something doesn't seem to be the problem...
>>>
>>> (these commands return '1' if the module is successfully found)
>>> ============
>>> perl -MDBD::mysql -e 'print 1'
>>> 1
>>>
>>> perl -MDBI -e 'print 1'
>>> 1
>>> ============
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>> _______________________________________________
>>> BioSQL-l mailing list
>>> BioSQL-l at lists.open-bio.org
>>> http://lists.open-bio.org/mailman/listinfo/biosql-l
>
> --
> ====================================================
> Nicholas J. Matzke
> Ph.D. student, Graduate Student Researcher
> Huelsenbeck Lab
> Center for Theoretical Evolutionary Genomics
> 4151 VLSB (Valley Life Sciences Building)
> Department of Integrative Biology
> University of California, Berkeley
>
> Lab websites:
> http://ib.berkeley.edu/people/lab_detail.php?lab=54
> http://fisher.berkeley.edu/cteg/hlab.html
> Dept. personal page: http://ib.berkeley.edu/people/students/person_detail.php?person=370
> Lab personal page: http://fisher.berkeley.edu/cteg/members/matzke.html
> Lab phone: 510-643-6299
> Dept. fax: 510-643-6264
> Cell phone: 510-301-0179
> Email: matzke at berkeley.edu
>
> Office hours for Bio1B, Spring 2008: Biology: Plants, Evolution,
> Ecology
> VLSB 2013, Monday 1-1:30 (some TA there for all hours during work
> week)
>
> Mailing address:
> Department of Integrative Biology
> 3060 VLSB #3140
> Berkeley, CA 94720-3140
> ====================================================
> _______________________________________________
> BioSQL-l mailing list
> BioSQL-l at lists.open-bio.org
> http://lists.open-bio.org/mailman/listinfo/biosql-l
--
===========================================================
: Hilmar Lapp -:- Durham, NC -:- hlapp at gmx dot net :
===========================================================
More information about the BioSQL-l
mailing list