Issues installing new VEP: Bio::DB:HTS library not found
Entering edit mode
21 months ago

I cloned the VEP repo:

Then I installed Archive::Zip and DBI:

cpanm -v Archive::Zip
cpanm -v DBI

And tried running perl

But it gave me an error:

Checking prerequisites...
    !  Bio::Root::Version is not installed

So, I installed it too, the same way: cpanm -v Bio::Root::Version. Then, I tried installing VEP again and the error stayed the same:

Checking prerequisites...
    !  Bio::Root::Version is not installed

ERRORS/WARNINGS FOUND IN PREREQUISITES.  You may wish to install the versions
of the modules indicated above before proceeding with this installation

Run 'Build installdeps' to install missing prerequisites.

Created MYMETA.yml and MYMETA.json
Creating new 'Build' script for 'Bio-DB-HTS' version '2.11'
Module::Build version 0.42 required--this is only version 0.4005 at ./Build line 43.
ERROR: Shared Bio::DB:HTS library not found

So, I tried doing upgrade by launching cpan. It asks several questions and I answered 'manual', 'yes' - to needed internet, and then:

cpan> upgrade

Ultimately it did not help, so I am rather stuck here.

I also tried downloading Bioperl, setting up PERL5LIB to its folder and running perl but no luck.

Could anyone help?


I tried doing what was suggested in the answer by Ben_Ensembl and got the following message:

(py37) -bash-4.2$ cpanm Module::Build
! Can't write to /usr/local/share/perl5 and /usr/local/bin: Installing modules to /opt/gris/perl5
! To turn off this warning, you have to do one of the following:
!   - run me as a root or with --sudo option (to install to /usr/local/share/perl5 and /usr/local/bin)
!   - Configure local::lib your existing local::lib in this shell to set PERL_MM_OPT etc.
!   - Install local::lib by running the following commands
!         cpanm --local-lib=~/perl5 local::lib && eval $(perl -I ~/perl5/lib/perl5/ -Mlocal::lib)
Module::Build is up to date. (0.4231)

When I try running the VEP command by itself I get the following error:

Can't locate Bio/EnsEMBL/ in @INC

My server OS system is the following:

(py37) -bash-4.2$ lsb_release -a
LSB Version:    :core-4.1-amd64:core-4.1-noarch
Distributor ID: RedHatEnterpriseServer
Description:    Red Hat Enterprise Linux Server release 7.7 (Maipo)
Release:    7.7
Codename:   Maipo

I tried cloning the VEP repo and running the necessary installation commands all over since it is writing that Module::Build is up to date. (0.4231) but got the same message:

Module::Build version 0.42 required--this is only version 0.4005 at ./Build line 43.



I was able to make the updated Module::Build to work by setting PERL5LIB to /opt/gris/perl5/lib/perl5/, and it did not give me the same error, and the installer proceeded to next steps, however, almost ALL OF THE TESTS FAILED and I am getting such an output (excerpt):

# Looks like you failed 1 test of 20.
./t/VariantRecoder.t ................................. Dubious, test returned 1 (wstat 256, 0x100)
Failed 1/20 subtests 
    (less 19 skipped subtests: 0 okay)
./t/bam_edit.t ....................................... "my" variable $tr masks earlier declaration in same scope at ./t/bam_edit.t line 163.
./t/bam_edit.t ....................................... 1/? 
#   Failed test 'use Bio::EnsEMBL::VEP::AnnotationSource::File;'
#   at ./t/bam_edit.t line 27.
#     Tried to use 'Bio::EnsEMBL::VEP::AnnotationSource::File'.
#     Error:  Can't locate Try/ in @INC


After running the following command as a root:

yum install enablerepo=rpmforge perl-Try-Tiny

And then:

cpanm autodie

The installation went well.

VEP • 3.6k views
Entering edit mode

check this folder:

/opt/gris/perl5 see if

Bio/EnsEMBL/ (or whatever module that you need) is there.

If it's there you can copy (cp -v) it to /usr/local/share/perl5

It has worked for me in the past when the module was installed in another folder that wasn't part of INC, and I moved it to one of the folders in INC and worked. Please make sure the module has r+x permission.

Can't write to /usr/local/share/perl5 and /usr/local/bin:

ls -l /usr/local/share/perl5   
ls -l  /usr/local/bin

see if you have write permission You can add write permission using

chmod u+w /usr/local/share/perl5 -R 
chmod u+w /usr/local/bin -R
Entering edit mode

This does solve this error, but does not fix the whole issue. It seems that creates some directories and if I try to move on with just the existing half installed VEP many files are going to be absent, for instance: Bio/EnsEMBL/Variation/DBSQL/ which neither bioperl nor the cloned github ensemble repo has

Entering edit mode
21 months ago
Ben_Ensembl ★ 1.8k


It looks like the Module::Build version is too low. The VEP installer is trying to install BioPerl, but failing due to Module::Build, and so this error keeps popping up.

cpanm Module::Build should fix the issue. If not, could you please send details of the operating system you are using to helpdesk[at]

Best wishes

Ben Ensembl Helpdesk

Entering edit mode

I tried it and it did not help. I updated the question with more info, please, see.

Entering edit mode

When you have an update, please add it as a reply in the appropriate spot. Do not edit your question unless it is missing some information it should have contained at the time of creation.

Entering edit mode
21 months ago

The solution to the issue that I was facing is the following:

  1. Run cpanm Module::Build
  2. Set PERL5LIB=/opt/gris/perl5/lib/perl5/
  3. Run as a root: yum install enablerepo=rpmforge perl-Try-Tiny
  4. Run cpanm autodie

Login before adding your answer.

Traffic: 2368 users visited in the last hour
Help About
Access RSS

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

Powered by the version 2.3.6