GMOD / jbrowse

JBrowse 1, a full-featured genome browser built with JavaScript and HTML5. For JBrowse 2, see https://github.com/GMOD/jbrowse-components.
http://jbrowse.org
Other
460 stars 199 forks source link

XS.c: loadable library and perl binaries are mismatched (got handshake key 0xde00080, needed 0xcd00080) #1624

Closed linnabrown closed 2 years ago

linnabrown commented 2 years ago

XS.c: loadable library and perl binaries are mismatched (got handshake key 0xde00080, needed 0xcd00080)

perl ./prepare-refseqs.pl --fasta xxx.fna --out xxx

Expected behavior

Screenshots

Version:

Additional context

cmdcolin commented 2 years ago

I think the error messages suggests basically that the version of the library being loaded may have been installed with a different version of perl than is used to run prepare-refseqs.pl

sometimes this could be related to having multiple versions of perl installed, or perl was upgraded perhaps, or something involving conda environments.

One thing you could try is clearing out old temporary build files

rm -rf ~/.cpanm
rm -rf extlib # extlib is a folder that is in the jbrowse directory
./setup.sh
linnabrown commented 2 years ago

Hi there,

Thank you so much for the replay. I tried the command above and it gives out the new bug.

sudo bash setup.sh
Gathering system information ...done.
NOTE: Legacy scripts wig-to-json.pl and bam-to-json.pl have been removed from setup. Their functionality has been superseded by add-bam-track.pl and add-bw-track.pl. If you require the old versions, please use JBrowse 1.12.3 or earlier.
Minimal release, skipping node and Webpack build (note: this version will not allow using plugins. Use a github clone or a dev version of JBrowse to use plugins
Installing Perl prerequisites ... failed.  See setup.log file for error messages. As a first troubleshooting step, make sure development libraries and header files for GD, Zlib, and libpng are installed and try again.

Formatting Volvox example data ... failed.  See setup.log file for error messages.

Formatting Yeast example data ... failed.  See setup.log file for error messages.
linnabrown commented 2 years ago

Here is my detailed error log


Gathering system information ...
============== System information ====
+ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 20.04.3 LTS
Release:        20.04
Codename:       focal
+ uname -a
Linux xxx 5.8.0-050800-generic #202008022230 SMP Sun Aug 2 22:33:21 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
+ sw_vers
setup.sh: line 75: sw_vers: command not found
+ grep MemTotal /proc/meminfo
MemTotal:       131834532 kB
+ echo

+ echo

done.

NOTE: Legacy scripts wig-to-json.pl and bam-to-json.pl have been removed from setup. Their functionality has been superseded by add-bam-track.pl and add-bw-track.pl. If you require the old versions, please use JBrowse 1.12.3 or earlier.

Minimal release, skipping node and Webpack build (note: this version will not allow using plugins. Use a github clone or a dev version of JBrowse to use plugins

Installing Perl prerequisites ...
+ bin/cpanm -v --notest -l extlib/ Bio::Perl@1.7.2
setup.sh: line 133: bin/cpanm: No such file or directory
+ bin/cpanm -v --notest -l extlib/ Bio::Perl@1.7.2
setup.sh: line 134: bin/cpanm: No such file or directory
+ set -e
+ bin/cpanm -v --notest -l extlib/ Bio::Perl@1.7.2
setup.sh: line 136: bin/cpanm: No such file or directory

Formatting Volvox example data ...
+ rm -rf sample_data/json/volvox
+ bin/prepare-refseqs.pl --fasta docs/tutorial/data_files/volvox.fa --out sample_data/json/volvox
Can't locate JSON.pm in @INC (you may need to install the JSON module) (@INC contains: /xxx/jbrowse/bin/../src/perl5 /etc/perl /usr/local/lib/x86_64-linux-gnu/perl/5.30.0 /usr/local/share/perl/5.30.0 /usr/lib/x86_64-linux-gnu/perl5/5.30 /usr/share/perl5 /usr/lib/x86_64-linux-gnu/perl/5.30 /usr/share/perl/5.30 /usr/local/lib/site_perl /usr/lib/x86_64-linux-gnu/perl-base) at /xxx/jbrowse/bin/../src/perl5/Bio/JBrowse/JSON.pm line 10.
BEGIN failed--compilation aborted at /xxx/jbrowse/bin/../src/perl5/Bio/JBrowse/JSON.pm line 10.
Compilation failed in require at /xxx/jbrowse/bin/../src/perl5/Bio/JBrowse/Cmd/FormatSequences.pm line 23.
BEGIN failed--compilation aborted at /xxx/jbrowse/bin/../src/perl5/Bio/JBrowse/Cmd/FormatSequences.pm line 23.
Compilation failed in require at bin/prepare-refseqs.pl line 7.
BEGIN failed--compilation aborted at bin/prepare-refseqs.pl line 7.

Formatting Yeast example data ...
+ rm -rf sample_data/json/yeast/
+ bin/prepare-refseqs.pl --fasta sample_data/raw/yeast_scaffolds/chr1.fa.gz --fasta sample_data/raw/yeast_scaffolds/chr2.fa.gzip --out sample_data/json/yeast/
Can't locate JSON.pm in @INC (you may need to install the JSON module) (@INC contains: /xxx/jbrowse/bin/../src/perl5 /etc/perl /usr/local/lib/x86_64-linux-gnu/perl/5.30.0 /usr/local/share/perl/5.30.0 /usr/lib/x86_64-linux-gnu/perl5/5.30 /usr/share/perl5 /usr/lib/x86_64-linux-gnu/perl/5.30 /usr/share/perl/5.30 /usr/local/lib/site_perl /usr/lib/x86_64-linux-gnu/perl-base) at /xxx/jbrowse/bin/../src/perl5/Bio/JBrowse/JSON.pm line 10.
BEGIN failed--compilation aborted at /xxx/jbrowse/bin/../src/perl5/Bio/JBrowse/JSON.pm line 10.
Compilation failed in require at /xxx/jbrowse/bin/../src/perl5/Bio/JBrowse/Cmd/FormatSequences.pm line 23.
BEGIN failed--compilation aborted at /xxx/jbrowse/bin/../src/perl5/Bio/JBrowse/Cmd/FormatSequences.pm line 23.
Compilation failed in require at bin/prepare-refseqs.pl line 7.
BEGIN failed--compilation aborted at bin/prepare-refseqs.pl line 7.
cmdcolin commented 2 years ago

setup.sh: line 136: bin/cpanm: No such file or directory

this line is a little confusing. jbrowse ships with a file in a bin folder called cpanm, that is used for downloading dependencies. was this file removes?

cmdcolin commented 2 years ago

you can redownload the file here if interested, place it in your "bin" directory and give it executable permissions (chmod +x bin/cpanm) https://raw.githubusercontent.com/GMOD/jbrowse/master/bin/cpanm

linnabrown commented 2 years ago

Hi cmdcolin,

I did not rm my previous cpanm. I just did following things (restablish new extlib before setup) and it works

#rm -rf ~/.cpanm
rm -rf extlib # extlib is a folder that is in the jbrowse directory
./setup.sh

Thank you so much !!