Error "Can't locate List/MoreUtils.pm in @INC"
2
3
Entering edit mode
7.1 years ago
Wenhu_Cao ▴ 100

Hi,

I encoutered some technical problem when learning BLAST in the HANDBOOK as below:

After I use conda install blast to install ncbi-blast, and run the command:

**update_blastdb.pl --decompress 16SMicrobial**

the shell complains:

**Can't locate List/MoreUtils.pm in @INC (you may need to install the List::MoreUtils module) (@INC contains: /etc/perl /usr/loc
al/lib/x86_64-linux-gnu/perl/5.22.1 /usr/local/share/perl/5.22.1 /usr/lib/x86_64-linux-gnu/perl5/5.22 /usr/share/perl5 /usr/li
b/x86_64-linux-gnu/perl/5.22 /usr/share/perl/5.22 /usr/local/lib/site_perl /usr/lib/x86_64-linux-gnu/perl-base .) at /home/mck
f111/miniconda3/envs/bioinfo/bin/update_blastdb.pl line 43.**

Could anyone tell me how to fix this? Thanks a lot!

blast • 20k views
ADD COMMENT
6
Entering edit mode
7.1 years ago

it looks like the conda installation does not list a dependency for the tool. This should fix it:

conda install perl-list-moreutils

I will make the change in the book.

Since this perl package normally is included on most Unix system it does not show up on most systems.

In addition the update_ blastdb.pl script tries makes use of a hardcoded perl version rather than the environment so you may need to use

 perl `which update_blastdb.pl`

(note the backticks)

ADD COMMENT
2
Entering edit mode

great answer, I just add some alternative solution to your last command line:

To force update_blastdb.pl to use your environment perl instead of the local one you can simply edit the first line of the "update_blastdb.pl" file changing this:

#!/usr/bin/perl

into this:

#!/usr/bin/env perl
ADD REPLY
2
Entering edit mode

Hello, I have used update_blastdb.pl with ubuntu 18; now I have updated to 19 and there is no way of having it go: I tried with conda install perl-list-moreutils, cpanm List::MoreUtils and apt-get install moreutils and I also changed the shebang. The installation works but then I always get the error Can't locate List/MoreUtils.pm in @INC (you may need to install the List::MoreUtils module) ... BEGIN failed--compilation aborted at /home/gigiux/src/blast/bin/update_blastdb.pl line 44. Any more tips? Tx

ADD REPLY
2
Entering edit mode
7.1 years ago
h.mon 35k

Use cpan or cpanm to install the List::MoreUtils module:

cpanm List::MoreUtils

Depending on your system, you may need to be root. If that is the case, you may install Perl on the same conda environment as you installed Blast, then install the module with cpan or cpanm.

ADD COMMENT
0
Entering edit mode

I have run this command, and it shows several distributions has been installed. However, when I run update_blastdb.pl --decompress 16SMicrobial

the shell still complains:

Can't locate List/MoreUtils.pm in @INC (you may need to install the List::MoreUtils module) (@INC contains: /etc/perl /usr/loc al/lib/x86_64-linux-gnu/perl/5.22.1 /usr/local/share/perl/5.22.1 /usr/lib/x86_64-linux-gnu/perl5/5.22 /usr/share/perl5 /usr/li b/x86_64-linux-gnu/perl/5.22 /usr/share/perl/5.22 /usr/local/lib/site_perl /usr/lib/x86_64-linux-gnu/perl-base .) at /home/mck f111/src/ncbi-blast-2.7.0+/bin/update_blastdb.pl line 43. BEGIN failed--compilation aborted at /home/mckf111/src/ncbi-blast-2.7.0+/bin/update_blastdb.pl line 43. (bioinfo)

ADD REPLY

Login before adding your answer.

Traffic: 2151 users visited in the last hour
Help About
FAQ
Access RSS
API
Stats

Use of this site constitutes acceptance of our User Agreement and Privacy Policy.

Powered by the version 2.3.6