I have seen similar but different post. in my case
/usr/bin/perl version is 5.34
sudo perl INSTALL.pl --NO_UPDATE -a a
WARNING: DBD::mysql module not found. VEP can only run in offline (--offline) mode without DBD::mysql installed
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/kzhou/coding/ensembl-vep/htslib
make: Nothing to be done for 'all'.
unpacking ./Bio/tmp/biodbhts.zip to ./Bio/tmp/
./Bio/tmp/Bio-DB-HTS-2.11 - moving files to ./biodbhts
making Bio::DB:HTS
Checking prerequisites...
requires:
! Couldn't find a $VERSION in prerequisite Bio::Root::Version
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'
Building Bio-DB-HTS
x86_64-linux-gnu-gcc -I/home/kzhou/coding/ensembl-vep/htslib -I/usr/lib/x86_64-linux-gnu/perl/5.34/CORE -DVERSION="2.11" -DXS_VERSION="2.11" -fPIC -D_IOLIB=2 -D_FILE_OFFSET_BITS=64 -Wno-error -Wno-unused-result -c -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -g -o lib/Bio/DB/HTS.o lib/Bio/DB/HTS.c
lib/Bio/DB/HTS.xs: In function ‘XS_BioDBHTSVCFHeader_fmt_text’:
lib/Bio/DB/HTS.xs:1770:5: warning: ‘bcf_hdr_fmt_text’ is deprecated: use bcf_hdr_format() instead [-Wdeprecated-declarations]
1770 | RETVAL = newSVpv(bcf_hdr_fmt_text(header, is_bcf, &len), 0);
| ^~
In file included from lib/Bio/DB/HTS.xs:59:
/home/kzhou/coding/ensembl-vep/htslib/htslib/vcf.h:439:11: note: declared here
439 | char bcf_hdr_fmt_text(const bcf_hdr_t hdr, int is_bcf, int *len)
| ^~~~
ExtUtils::Mkbootstrap::Mkbootstrap('blib/arch/auto/Bio/DB/HTS/HTS.bs')
x86_64-linux-gnu-gcc -shared -L/usr/local/lib -fstack-protector-strong -o blib/arch/auto/Bio/DB/HTS/HTS.so lib/Bio/DB/HTS.o -L/home/kzhou/coding/ensembl-vep/htslib -Wl,-rpath,/home/kzhou/coding/ensembl-vep/htslib -lhts -lpthread -lz
x86_64-linux-gnu-gcc -I/home/kzhou/coding/ensembl-vep/htslib -I/usr/lib/x86_64-linux-gnu/perl/5.34/CORE -DVERSION="2.11" -DXS_VERSION="2.11" -fPIC -D_IOLIB=2 -D_FILE_OFFSET_BITS=64 -Wno-error -Wno-unused-result -c -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -g -o lib/Bio/DB/HTS/Faidx.o lib/Bio/DB/HTS/Faidx.c
ExtUtils::Mkbootstrap::Mkbootstrap('blib/arch/auto/Bio/DB/HTS/Faidx/Faidx.bs')
x86_64-linux-gnu-gcc -shared -L/usr/local/lib -fstack-protector-strong -o blib/arch/auto/Bio/DB/HTS/Faidx/Faidx.so lib/Bio/DB/HTS/Faidx.o -L/home/kzhou/coding/ensembl-vep/htslib -Wl,-rpath,/home/kzhou/coding/ensembl-vep/htslib -lhts -lpthread -lz
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
IntervalTree.c: loadable library and perl binaries are mismatched (got handshake key 0xdb00080, needed 0xeb00080)
After I install the needed version package, still get the same error message. Need some help in deleting the conflicting library. Not sure where the old one is residing.
In my system, the c source code is part of star fusion:
./starfusion/plugins/Set-IntervalTree-0.01/IntervalTree.c
Not sure that's source of the problem. Removing the above source file does not solve the problem.
./.local/share/.cpan/build/Set-IntervalTree-0.12-0 also removed this directory containing IntervalTree.c No effect.
After removing all traces of IntervalTree.c from my system, unzip the distribution, and tried again. Still the same error message. Look like some loading issue.
vep --help
IntervalTree.c: loadable library and perl binaries are mismatched (got handshake key 0xdb00080, needed 0xeb00080)
perl -d vep --help
Loading DB routines from perl5db.pl version 1.60
Editor support available.
Enter h or 'h h' for help, or 'man perldebug' for more help.
IntervalTree.c: loadable library and perl binaries are mismatched (got handshake key 0xdb00080, needed 0xeb00080)
Running under debugger, only have loaded on perl script.
I have seen similar but different post. in my case /usr/bin/perl version is 5.34 sudo perl INSTALL.pl --NO_UPDATE -a a WARNING: DBD::mysql module not found. VEP can only run in offline (--offline) mode without DBD::mysql installed
http://www.ensembl.org/info/docs/tools/vep/script/vep_download.html#requirements
Setting up directories
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' Building Bio-DB-HTS x86_64-linux-gnu-gcc -I/home/kzhou/coding/ensembl-vep/htslib -I/usr/lib/x86_64-linux-gnu/perl/5.34/CORE -DVERSION="2.11" -DXS_VERSION="2.11" -fPIC -D_IOLIB=2 -D_FILE_OFFSET_BITS=64 -Wno-error -Wno-unused-result -c -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -g -o lib/Bio/DB/HTS.o lib/Bio/DB/HTS.c lib/Bio/DB/HTS.xs: In function ‘XS_BioDBHTSVCFHeader_fmt_text’: lib/Bio/DB/HTS.xs:1770:5: warning: ‘bcf_hdr_fmt_text’ is deprecated: use bcf_hdr_format() instead [-Wdeprecated-declarations] 1770 | RETVAL = newSVpv(bcf_hdr_fmt_text(header, is_bcf, &len), 0); | ^
~In file included from lib/Bio/DB/HTS.xs:59: /home/kzhou/coding/ensembl-vep/htslib/htslib/vcf.h:439:11: note: declared here 439 | char bcf_hdr_fmt_text(const bcf_hdr_t hdr, int is_bcf, int *len) | ^~~~ExtUtils::Mkbootstrap::Mkbootstrap('blib/arch/auto/Bio/DB/HTS/HTS.bs') x86_64-linux-gnu-gcc -shared -L/usr/local/lib -fstack-protector-strong -o blib/arch/auto/Bio/DB/HTS/HTS.so lib/Bio/DB/HTS.o -L/home/kzhou/coding/ensembl-vep/htslib -Wl,-rpath,/home/kzhou/coding/ensembl-vep/htslib -lhts -lpthread -lz x86_64-linux-gnu-gcc -I/home/kzhou/coding/ensembl-vep/htslib -I/usr/lib/x86_64-linux-gnu/perl/5.34/CORE -DVERSION="2.11" -DXS_VERSION="2.11" -fPIC -D_IOLIB=2 -D_FILE_OFFSET_BITS=64 -Wno-error -Wno-unused-result -c -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -g -o lib/Bio/DB/HTS/Faidx.o lib/Bio/DB/HTS/Faidx.c ExtUtils::Mkbootstrap::Mkbootstrap('blib/arch/auto/Bio/DB/HTS/Faidx/Faidx.bs') x86_64-linux-gnu-gcc -shared -L/usr/local/lib -fstack-protector-strong -o blib/arch/auto/Bio/DB/HTS/Faidx/Faidx.so lib/Bio/DB/HTS/Faidx.o -L/home/kzhou/coding/ensembl-vep/htslib -Wl,-rpath,/home/kzhou/coding/ensembl-vep/htslib -lhts -lpthread -lzDownloading required Ensembl API files
Testing VEP installation ERROR: Testing VEP script failed with the following error IntervalTree.c: loadable library and perl binaries are mismatched (got handshake key 0xdb00080, needed 0xeb00080)
After I install the needed version package, still get the same error message. Need some help in deleting the conflicting library. Not sure where the old one is residing.
In my system, the c source code is part of star fusion: ./starfusion/plugins/Set-IntervalTree-0.01/IntervalTree.c Not sure that's source of the problem. Removing the above source file does not solve the problem. ./.local/share/.cpan/build/Set-IntervalTree-0.12-0 also removed this directory containing IntervalTree.c No effect. After removing all traces of IntervalTree.c from my system, unzip the distribution, and tried again. Still the same error message. Look like some loading issue. vep --help IntervalTree.c: loadable library and perl binaries are mismatched (got handshake key 0xdb00080, needed 0xeb00080)
perl -d vep --help
Loading DB routines from perl5db.pl version 1.60 Editor support available.
Enter h or 'h h' for help, or 'man perldebug' for more help.
IntervalTree.c: loadable library and perl binaries are mismatched (got handshake key 0xdb00080, needed 0xeb00080) Running under debugger, only have loaded on perl script.