<p>What you can try is stated out in the message:</p>

<blockquote>
  <p>If this fails, try re-running with --NO_HTSLIB</p>
</blockquote>

CC BY-SA 4.0
2019-02-04T14:45:55.833Z
Thank you, I got error again. Please have a look at my error when I am trying with --NO_HTSLIB
Zizogolu
CC BY-SA 4.0
2019-02-04T14:35:34.210Z
2019-02-04T14:35:34.210Z
finswimmer
<p>I am trying to installing Vep on Linux but an error is permanent</p>

<pre><code>[fi1d18@cyan01 ensembl-vep-release-95]$ perl INSTALL.pl

Hello! This installer is configured to install v95 of the Ensembl API for use by the VEP.
It will not affect any existing installations of the Ensembl API that you may have.

It will also download and install cache files from Ensembl's FTP server.

Checking for installed versions of the Ensembl API...done

Setting up directories
Destination directory ./Bio already exists.
Do you want to overwrite it (if updating VEP this is probably OK) (y/n)? y
 - fetching BioPerl
 - unpacking ./Bio/tmp/release-1-6-924.zip
 - moving files
Attempting to install Bio::DB::HTS and htslib.

&gt;&gt;&gt; If this fails, try re-running with --NO_HTSLIB

 - checking out HTSLib
fatal: destination path 'htslib' already exists and is not an empty directory.
 - building HTSLIB in ./htslib
In /home/fi1d18/ensembl-vep/ensembl-vep-release-95/htslib
gcc -g -Wall -O2 -fPIC -Wno-unused -Wno-unused-result -I.  -c -o cram/cram_io.o cram/cram_io.c
cram/cram_io.c:61:18: error: lzma.h: No such file or directory
cram/cram_io.c: In function 'lzma_mem_deflate':
cram/cram_io.c:679: warning: implicit declaration of function 'lzma_stream_buffer_bound'
cram/cram_io.c:685: error: 'LZMA_OK' undeclared (first use in this function)
cram/cram_io.c:685: error: (Each undeclared identifier is reported only once
cram/cram_io.c:685: error: for each function it appears in.)
cram/cram_io.c:685: warning: implicit declaration of function 'lzma_easy_buffer_encode'
cram/cram_io.c:685: error: 'LZMA_CHECK_CRC32' undeclared (first use in this function)
cram/cram_io.c: In function 'lzma_mem_inflate':
cram/cram_io.c:695: error: 'lzma_stream' undeclared (first use in this function)
cram/cram_io.c:695: error: expected ';' before 'strm'
cram/cram_io.c:701: error: 'LZMA_OK' undeclared (first use in this function)
cram/cram_io.c:701: warning: implicit declaration of function 'lzma_stream_decoder'
cram/cram_io.c:701: error: 'strm' undeclared (first use in this function)
cram/cram_io.c:701: warning: implicit declaration of function 'lzma_easy_decoder_memusage'
cram/cram_io.c:719: warning: implicit declaration of function 'lzma_code'
cram/cram_io.c:719: error: 'LZMA_RUN' undeclared (first use in this function)
cram/cram_io.c:720: error: 'LZMA_STREAM_END' undeclared (first use in this function)
cram/cram_io.c:732: error: 'LZMA_FINISH' undeclared (first use in this function)
cram/cram_io.c:743: warning: implicit declaration of function 'lzma_end'
At top level:
cc1: warning: unrecognized command line option "-Wno-unused-result"
make: *** [cram/cram_io.o] Error 1
Compile didn't complete. No libhts.a library file found at INSTALL.pl line 820.
[fi1d18@cyan01 ensembl-vep-release-95]$
</code></pre>

<p>And</p>

<pre><code>[fi1d18@cyan01 ensembl-vep]$ perl INSTALL.pl --NO_HTSLIB

Hello! This installer is configured to install v95 of the Ensembl API for use by the VEP.
It will not affect any existing installations of the Ensembl API that you may have.

It will also download and install cache files from Ensembl's FTP server.

Checking for installed versions of the Ensembl API...done

Setting up directories
Destination directory ./Bio already exists.
Do you want to overwrite it (if updating VEP this is probably OK) (y/n)? y
 - fetching BioPerl
 - unpacking ./Bio/tmp/release-1-6-924.zip
 - moving files

Downloading required Ensembl API files
 - fetching ensembl
 - unpacking ./Bio/tmp/ensembl.zip
 - moving files
 - getting version information
 - fetching ensembl-variation
 - unpacking ./Bio/tmp/ensembl-variation.zip
 - moving files
 - getting version information
 - fetching ensembl-funcgen
 - unpacking ./Bio/tmp/ensembl-funcgen.zip
 - moving files
 - getting version information
 - fetching ensembl-io
 - unpacking ./Bio/tmp/ensembl-io.zip
 - moving files
 - getting version information

Testing VEP installation
ERROR: Testing VEP script failed with the following error
Can't locate Time/HiRes.pm in @INC (@INC contains: /home/fi1d18/ensembl-vep/modules /home/fi1d18/ensembl-vep ./Bio /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .) at /home/fi1d18/ensembl-vep/Bio/EnsEMBL/Utils/SqlHelper.pm line 93.
BEGIN failed--compilation aborted at /home/fi1d18/ensembl-vep/Bio/EnsEMBL/Utils/SqlHelper.pm line 93.
Compilation failed in require at /home/fi1d18/ensembl-vep/Bio/EnsEMBL/DBSQL/DBConnection.pm line 81.
BEGIN failed--compilation aborted at /home/fi1d18/ensembl-vep/Bio/EnsEMBL/DBSQL/DBConnection.pm line 81.
Compilation failed in require at /home/fi1d18/ensembl-vep/Bio/EnsEMBL/DBSQL/DBAdaptor.pm line 69.
BEGIN failed--compilation aborted at /home/fi1d18/ensembl-vep/Bio/EnsEMBL/DBSQL/DBAdaptor.pm line 69.
Compilation failed in require at /home/fi1d18/ensembl-vep/Bio/EnsEMBL/Registry.pm line 137.
BEGIN failed--compilation aborted at /home/fi1d18/ensembl-vep/Bio/EnsEMBL/Registry.pm line 137.
Compilation failed in require at /home/fi1d18/ensembl-vep/modules/Bio/EnsEMBL/VEP/BaseVEP.pm line 58.
BEGIN failed--compilation aborted at /home/fi1d18/ensembl-vep/modules/Bio/EnsEMBL/VEP/BaseVEP.pm line 58.
Compilation failed in require at (eval 7) line 3.
        ...propagated at /usr/share/perl5/base.pm line 94.
BEGIN failed--compilation aborted at /home/fi1d18/ensembl-vep/modules/Bio/EnsEMBL/VEP/BaseRunner.pm line 56.
Compilation failed in require at (eval 6) line 3.
        ...propagated at /usr/share/perl5/base.pm line 94.
BEGIN failed--compilation aborted at /home/fi1d18/ensembl-vep/modules/Bio/EnsEMBL/VEP/Runner.pm line 71.
Compilation failed in require at ./vep line 20.
BEGIN failed--compilation aborted at ./vep line 20.

[fi1d18@cyan01 ensembl-vep]$
</code></pre>

CC BY-SA 4.0
2019-02-04T15:53:14.997Z
Do the VEP installation instructions give a list of dependencies or prerequisites? If so, you must install these before trying to install VEP. The solution to your second error is also in the message: `Can't locate Time/HiRes.pm`. This means there's a Perl module `Time::HiRes` that is not installed.
Daniel Standage
CC BY-SA 4.0
2019-02-04T22:24:22.723Z
A general tip with Perl installations: When you see an error message that states "Cannot locate `<thing1>/<thing2>` in @INC", the solution is almost always running `cpan <thing1>::<thing2>` from the command line.
Ram RS
CC BY-SA 4.0
2019-02-05T08:58:32.043Z
Says You need to be root to perform this command
Zizogolu
CC BY-SA 4.0
2019-02-05T16:30:54.867Z
It is pretty rare for linux utilities to need root. Try Google "CPAN install module no root" or "CPAN user install module". By adding a "without root" to your Google searches, you will see ways to not need root.
Ram RS
CC BY-SA 4.0
2019-02-05T16:33:37.540Z
Most "install" processes copy files and compile them at a certain location (ideally something found under `$PATH`), creating executable files so when you run the command, the shell can find the executable file. When you don't have root, you might be unable to copy the files to the default location, but you would be able to do the same set of install steps to a custom location, which you can then add to `$PATH` yourself. Once you understand the concept of how installs work, you'll seldom need root access.
Ram RS
<ensembl><linux><perl>
Error in installing Vep
# Error in installing Vep

(Asked by: username_0 on 2019-02-04)

I am trying to installing Vep on Linux but an error is permanent
[fi1d18@cyan01 ensembl-vep-release-95]$ perl INSTALL.pl

Hello! This installer is configured to install v95 of the Ensembl API for use by the VEP.
It will not affect any existing installations of the Ensembl API that you may have.

It will also download and install cache files from Ensembl's FTP server.

Checking for installed versions of the Ensembl API...done

Setting up directories
Destination directory ./Bio already exists.
Do you want to overwrite it (if updating VEP this is probably OK) (y/n)? y
 - fetching BioPerl
 - unpacking ./Bio/tmp/release-1-6-924.zip
 - moving files
Attempting to install Bio::DB::HTS and htslib.

>>> If this fails, try re-running with --NO_HTSLIB

 - checking out HTSLib
fatal: destination path 'htslib' already exists and is not an empty directory.
 - building HTSLIB in ./htslib
In /home/fi1d18/ensembl-vep/ensembl-vep-release-95/htslib
gcc -g -Wall -O2 -fPIC -Wno-unused -Wno-unused-result -I.  -c -o cram/cram_io.o cram/cram_io.c
cram/cram_io.c:61:18: error: lzma.h: No such file or directory
cram/cram_io.c: In function 'lzma_mem_deflate':
cram/cram_io.c:679: warning: implicit declaration of function 'lzma_stream_buffer_bound'
cram/cram_io.c:685: error: 'LZMA_OK' undeclared (first use in this function)
cram/cram_io.c:685: error: (Each undeclared identifier is reported only once
cram/cram_io.c:685: error: for each function it appears in.)
cram/cram_io.c:685: warning: implicit declaration of function 'lzma_easy_buffer_encode'
cram/cram_io.c:685: error: 'LZMA_CHECK_CRC32' undeclared (first use in this function)
cram/cram_io.c: In function 'lzma_mem_inflate':
cram/cram_io.c:695: error: 'lzma_stream' undeclared (first use in this function)
cram/cram_io.c:695: error: expected ';' before 'strm'
cram/cram_io.c:701: error: 'LZMA_OK' undeclared (first use in this function)
cram/cram_io.c:701: warning: implicit declaration of function 'lzma_stream_decoder'
cram/cram_io.c:701: error: 'strm' undeclared (first use in this function)
cram/cram_io.c:701: warning: implicit declaration of function 'lzma_easy_decoder_memusage'
cram/cram_io.c:719: warning: implicit declaration of function 'lzma_code'
cram/cram_io.c:719: error: 'LZMA_RUN' undeclared (first use in this function)
cram/cram_io.c:720: error: 'LZMA_STREAM_END' undeclared (first use in this function)
cram/cram_io.c:732: error: 'LZMA_FINISH' undeclared (first use in this function)
cram/cram_io.c:743: warning: implicit declaration of function 'lzma_end'
At top level:
cc1: warning: unrecognized command line option "-Wno-unused-result"
make: *** [cram/cram_io.o] Error 1
Compile didn't complete. No libhts.a library file found at INSTALL.pl line 820.
[fi1d18@cyan01 ensembl-vep-release-95]$

And
[fi1d18@cyan01 ensembl-vep]$ perl INSTALL.pl --NO_HTSLIB

Hello! This installer is configured to install v95 of the Ensembl API for use by the VEP.
It will not affect any existing installations of the Ensembl API that you may have.

It will also download and install cache files from Ensembl's FTP server.

Checking for installed versions of the Ensembl API...done

Setting up directories
Destination directory ./Bio already exists.
Do you want to overwrite it (if updating VEP this is probably OK) (y/n)? y
 - fetching BioPerl
 - unpacking ./Bio/tmp/release-1-6-924.zip
 - moving files

Downloading required Ensembl API files
 - fetching ensembl
 - unpacking ./Bio/tmp/ensembl.zip
 - moving files
 - getting version information
 - fetching ensembl-variation
 - unpacking ./Bio/tmp/ensembl-variation.zip
 - moving files
 - getting version information
 - fetching ensembl-funcgen
 - unpacking ./Bio/tmp/ensembl-funcgen.zip
 - moving files
 - getting version information
 - fetching ensembl-io
 - unpacking ./Bio/tmp/ensembl-io.zip
 - moving files
 - getting version information

Testing VEP installation
ERROR: Testing VEP script failed with the following error
Can't locate Time/HiRes.pm in @INC (@INC contains: /home/fi1d18/ensembl-vep/modules /home/fi1d18/ensembl-vep ./Bio /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .) at /home/fi1d18/ensembl-vep/Bio/EnsEMBL/Utils/SqlHelper.pm line 93.
BEGIN failed--compilation aborted at /home/fi1d18/ensembl-vep/Bio/EnsEMBL/Utils/SqlHelper.pm line 93.
Compilation failed in require at /home/fi1d18/ensembl-vep/Bio/EnsEMBL/DBSQL/DBConnection.pm line 81.
BEGIN failed--compilation aborted at /home/fi1d18/ensembl-vep/Bio/EnsEMBL/DBSQL/DBConnection.pm line 81.
Compilation failed in require at /home/fi1d18/ensembl-vep/Bio/EnsEMBL/DBSQL/DBAdaptor.pm line 69.
BEGIN failed--compilation aborted at /home/fi1d18/ensembl-vep/Bio/EnsEMBL/DBSQL/DBAdaptor.pm line 69.
Compilation failed in require at /home/fi1d18/ensembl-vep/Bio/EnsEMBL/Registry.pm line 137.
BEGIN failed--compilation aborted at /home/fi1d18/ensembl-vep/Bio/EnsEMBL/Registry.pm line 137.
Compilation failed in require at /home/fi1d18/ensembl-vep/modules/Bio/EnsEMBL/VEP/BaseVEP.pm line 58.
BEGIN failed--compilation aborted at /home/fi1d18/ensembl-vep/modules/Bio/EnsEMBL/VEP/BaseVEP.pm line 58.
Compilation failed in require at (eval 7) line 3.
        ...propagated at /usr/share/perl5/base.pm line 94.
BEGIN failed--compilation aborted at /home/fi1d18/ensembl-vep/modules/Bio/EnsEMBL/VEP/BaseRunner.pm line 56.
Compilation failed in require at (eval 6) line 3.
        ...propagated at /usr/share/perl5/base.pm line 94.
BEGIN failed--compilation aborted at /home/fi1d18/ensembl-vep/modules/Bio/EnsEMBL/VEP/Runner.pm line 71.
Compilation failed in require at ./vep line 20.
BEGIN failed--compilation aborted at ./vep line 20.

[fi1d18@cyan01 ensembl-vep]$

**Tags:** ensembl, linux, perl
> **Comments:**
> **username_1**: Do the VEP installation instructions give a list of dependencies or prerequisites? If so, you must install these before trying to install VEP. The solution to your second error is also in the message: `Can't locate Time/HiRes.pm`. This means there's a Perl module `Time::HiRes` that is not installed.  
> **username_2**: A general tip with Perl installations: When you see an error message that states "Cannot locate `<thing1>/<thing2>` in @INC", the solution is almost always running `cpan <thing1>::<thing2>` from the command line.  
> **username_0**: Says You need to be root to perform this command  
> **username_2**: It is pretty rare for linux utilities to need root. Try Google "CPAN install module no root" or "CPAN user install module". By adding a "without root" to your Google searches, you will see ways to not need root.  
> **username_2**: Most "install" processes copy files and compile them at a certain location (ideally something found under `$PATH`), creating executable files so when you run the command, the shell can find the executable file. When you don't have root, you might be unable to copy the files to the default location, but you would be able to do the same set of install steps to a custom location, which you can then add to `$PATH` yourself. Once you understand the concept of how installs work, you'll seldom need root access.  

---

## 1 answers

### Answer by username_3 on 2019-02-04. Score: 1

What you can try is stated out in the message:

> If this fails, try re-running with --NO\_HTSLIB

> **Comments:**
> **username_0**: Thank you, I got error again. Please have a look at my error when I am trying with --NO_HTSLIB  

---

