Closed pasviber closed 2 years ago
I see something that might be the issue. Please show the output of perl -v
. Based on that result can take a look at the underlying issue.
This is the output of perl -v
:
This is perl 5, version 30, subversion 0 (v5.30.0) built for x86_64-linux-gnu-thread-multi
(with 50 registered patches, see perl -V for more detail)
Copyright 1987-2019, Larry Wall
Perl may be copied only under the terms of either the Artistic License or the
GNU General Public License, which may be found in the Perl 5 source kit.
Complete documentation for Perl, including FAQ lists, should be found on
this system using "man perl" or "perldoc perl". If you have access to the
Internet, point your browser at http://www.perl.org/, the Perl Home Page.
Sorry for the delay. I would run make clean
. If that produces any errors please run it again.
Also, please show the output of cpam --installdeps .
. There is something wrong with the build files (possibly from running the build previously) or the installation of the dependencies.
It continues with the same problem. I agree with you, it must be some problem with the dependencies installation but the output doesn't show any error.
why if I use sudo
less test errors appear?
$sudo cpanm --installdeps .
--> Working on .
Configuring /home/pvbermell/Documentos/Programas/tephra-0.13.1 ... OK
<== Installed dependencies for .. Finishing.
$ sudo perl Makefile.PL
Generating a Unix-style Makefile
Writing Makefile for Tephra
Writing MYMETA.yml and MYMETA.json
=====> Configuring Tephra, this may take some time...Done.
I've continued and I've executed sudo make install
. Then when I execute tephra findnonltrs
, the problem must be in htslib package.
$ tephra findnonltrs
Can't load '/usr/local/lib/x86_64-linux-gnu/perl/5.30.0/auto/Bio/DB/HTS/HTS.so' for module Bio::DB::HTS: libhts.so.1: no se puede abrir el archivo del objeto compartido: No existe el archivo o el directorio at /usr/lib/x86_64-linux-gnu/perl/5.30/DynaLoader.pm line 193.
at /usr/local/lib/x86_64-linux-gnu/perl/5.30.0/Bio/DB/HTS/Kseq.pm line 71.
Compilation failed in require at /usr/local/lib/x86_64-linux-gnu/perl/5.30.0/Bio/DB/HTS/Kseq.pm line 71.
BEGIN failed--compilation aborted at /usr/local/lib/x86_64-linux-gnu/perl/5.30.0/Bio/DB/HTS/Kseq.pm line 71.
Compilation failed in require at /usr/local/share/perl/5.30.0/Tephra/Stats/Age.pm line 17.
BEGIN failed--compilation aborted at /usr/local/share/perl/5.30.0/Tephra/Stats/Age.pm line 17.
Compilation failed in require at /usr/local/share/perl/5.30.0/Tephra/Command/age.pm line 11.
BEGIN failed--compilation aborted at /usr/local/share/perl/5.30.0/Tephra/Command/age.pm line 11.
Compilation failed in require at /usr/local/share/perl/5.30.0/App/Cmd.pm line 194.
App::Cmd::_command("Tephra", HASH(0x563ff2531470)) called at /usr/local/share/perl/5.30.0/App/Cmd.pm line 171
App::Cmd::new("Tephra", HASH(0x563ff2531470)) called at /usr/local/bin/tephra line 25
What do you think?
You are correct about the last issue, but let me first describe the previous behavior. When you use sudo
it is creating a set of directories and files for the build process that have restricted privileges. If you then run make
alone it will fail because the regular user cannot touch those files. The solution would be to run sudo make clean
to remove the previous build files, and then run make test
. That would fix the first set of messages.
It appears there is an issue loading the shared library, or it does not exist. Before we go further, did you run the install prerequisites? If so, please let me know what OS and version you are using and I'll try to recreate this issue.
First, I'm working in Ubuntu 20.04.1 LTS.
Second, I've removed all the files generated during the installation and the directory of tephra. Then I've started again without using sudo
. I obtain several warnings when I install the dependencies:
$ echo "n" | cpanm -n Data::Stag DB_File Bio::Root::Version Bio::SearchIO::blastxml Bio::SearchIO::hmmer
!
! Can't write to /usr/local/share/perl/5.30.0 and /usr/local/bin: Installing modules to /home/pvbermell/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/perl/5.30.0 and /usr/local/bin)
! - Configure local::lib in your existing 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)
!
Data::Stag is up to date. (0.14)
DB_File is up to date. (1.855)
Bio::Root::Version is up to date. (1.7.7)
Bio::SearchIO::blastxml is up to date. (1.70)
Bio::SearchIO::hmmer is up to date. (1.7.3)
$ cd tephra-0.13.1/
$ cpanm --installdeps .
!
! Can't write to /usr/local/share/perl/5.30.0 and /usr/local/bin: Installing modules to /home/pvbermell/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/perl/5.30.0 and /usr/local/bin)
! - Configure local::lib in your existing 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)
!
--> Working on .
Configuring /home/pvbermell/Documentos/Programas/tephra-0.13.1 ... OK
<== Installed dependencies for .. Finishing.
$ perl Makefile.PL
Generating a Unix-style Makefile
Writing Makefile for Tephra
Writing MYMETA.yml and MYMETA.json
=====> Configuring Tephra, this may take some time...Done.
But when I execute the test I obtain more errors. In total 9/15 test fail.
$ make test
cp lib/Tephra/Hel/HelSearch.pm blib/lib/Tephra/Hel/HelSearch.pm
cp lib/Tephra/Classify/TIRSfams.pm blib/lib/Tephra/Classify/TIRSfams.pm
cp lib/Tephra/Genome/SoloLTRSearch.pm blib/lib/Tephra/Genome/SoloLTRSearch.pm
cp lib/Tephra/Classify/LTRSfams.pm blib/lib/Tephra/Classify/LTRSfams.pm
cp lib/Tephra/Annotation/FilterTandems.pm blib/lib/Tephra/Annotation/FilterTandems.pm
cp lib/Tephra/Command/age.pm blib/lib/Tephra/Command/age.pm
cp lib/Tephra/Command/findtirs.pm blib/lib/Tephra/Command/findtirs.pm
cp lib/Tephra/Genome/IllRecombination.pm blib/lib/Tephra/Genome/IllRecombination.pm
cp lib/Tephra/Command/sololtr.pm blib/lib/Tephra/Command/sololtr.pm
cp lib/Tephra.pm blib/lib/Tephra.pm
cp lib/Tephra/Config/Exe.pm blib/lib/Tephra/Config/Exe.pm
cp lib/Tephra/Annotation/Transfer.pm blib/lib/Tephra/Annotation/Transfer.pm
cp lib/Tephra/Genome/Unmask.pm blib/lib/Tephra/Genome/Unmask.pm
cp lib/Tephra/Classify/Fams/Cluster.pm blib/lib/Tephra/Classify/Fams/Cluster.pm
cp lib/Tephra/Command/reannotate.pm blib/lib/Tephra/Command/reannotate.pm
cp lib/Tephra/Command/classifytirs.pm blib/lib/Tephra/Command/classifytirs.pm
cp lib/Tephra/Classify/Any.pm blib/lib/Tephra/Classify/Any.pm
cp lib/Tephra/Alignment/Utils.pm blib/lib/Tephra/Alignment/Utils.pm
cp lib/Tephra/Command/findtrims.pm blib/lib/Tephra/Command/findtrims.pm
cp lib/Tephra/Command/classifyltrs.pm blib/lib/Tephra/Command/classifyltrs.pm
cp lib/Tephra/Command/illrecomb.pm blib/lib/Tephra/Command/illrecomb.pm
cp lib/Tephra/Annotation/MakeExemplars.pm blib/lib/Tephra/Annotation/MakeExemplars.pm
cp lib/Tephra/Command/findhelitrons.pm blib/lib/Tephra/Command/findhelitrons.pm
cp lib/Tephra/Command/findnonltrs.pm blib/lib/Tephra/Command/findnonltrs.pm
cp lib/Tephra/Classify/Fams.pm blib/lib/Tephra/Classify/Fams.pm
cp lib/Tephra/Annotation/Util.pm blib/lib/Tephra/Annotation/Util.pm
cp lib/Tephra/Genome/MaskRef.pm blib/lib/Tephra/Genome/MaskRef.pm
cp lib/Tephra/Config/Install.pm blib/lib/Tephra/Config/Install.pm
cp lib/Tephra/Command/all.pm blib/lib/Tephra/Command/all.pm
cp lib/Tephra/Analysis/Pipeline.pm blib/lib/Tephra/Analysis/Pipeline.pm
cp lib/Tephra/Command/findltrs.pm blib/lib/Tephra/Command/findltrs.pm
cp lib/Tephra/Command/maskref.pm blib/lib/Tephra/Command/maskref.pm
cp lib/Tephra/Classify/Role/LogResults.pm blib/lib/Tephra/Classify/Role/LogResults.pm
cp lib/Tephra/Config/Reader.pm blib/lib/Tephra/Config/Reader.pm
cp lib/Tephra/Command/findfragments.pm blib/lib/Tephra/Command/findfragments.pm
cp lib/Tephra/Genome/FragmentSearch.pm blib/lib/Tephra/Genome/FragmentSearch.pm
cp lib/Tephra/TRIM/TRIMSearch.pm blib/lib/Tephra/TRIM/TRIMSearch.pm
cp lib/Tephra/TIR/Role/Utils.pm blib/lib/Tephra/TIR/Role/Utils.pm
cp lib/Tephra/NonLTR/GFFWriter.pm blib/lib/Tephra/NonLTR/GFFWriter.pm
cp lib/Tephra/NonLTR/NonLTRSearch.pm blib/lib/Tephra/NonLTR/NonLTRSearch.pm
cp lib/Tephra/NonLTR/Role/PathUtils.pm blib/lib/Tephra/NonLTR/Role/PathUtils.pm
cp lib/Tephra/Role/Util.pm blib/lib/Tephra/Role/Util.pm
cp lib/Tephra/LTR/LTRSearch.pm blib/lib/Tephra/LTR/LTRSearch.pm
cp lib/Tephra/Role/Run/Blast.pm blib/lib/Tephra/Role/Run/Blast.pm
cp lib/Tephra/Role/Run/HelitronScanner.pm blib/lib/Tephra/Role/Run/HelitronScanner.pm
cp lib/Tephra/Role/Run/PAML.pm blib/lib/Tephra/Role/Run/PAML.pm
cp lib/Tephra/LTR/LTRRefine.pm blib/lib/Tephra/LTR/LTRRefine.pm
cp lib/Tephra/Role/File.pm blib/lib/Tephra/Role/File.pm
cp lib/Tephra/TIR/TIRSearch.pm blib/lib/Tephra/TIR/TIRSearch.pm
cp lib/Tephra/Role/Logger.pm blib/lib/Tephra/Role/Logger.pm
cp lib/Tephra/Role/Run/Any.pm blib/lib/Tephra/Role/Run/Any.pm
cp lib/Tephra/LTR/Role/Utils.pm blib/lib/Tephra/LTR/Role/Utils.pm
cp lib/Tephra/Role/Run/TephraCmd.pm blib/lib/Tephra/Role/Run/TephraCmd.pm
cp lib/Tephra/Stats/Age.pm blib/lib/Tephra/Stats/Age.pm
cp lib/Tephra/Role/GFF.pm blib/lib/Tephra/Role/GFF.pm
cp lib/Tephra/NonLTR/SeqUtils.pm blib/lib/Tephra/NonLTR/SeqUtils.pm
cp lib/Tephra/Role/Run/GT.pm blib/lib/Tephra/Role/Run/GT.pm
cp lib/Tephra/NonLTR/Postprocess.pm blib/lib/Tephra/NonLTR/Postprocess.pm
cp lib/Tephra/NonLTR/QValidation.pm blib/lib/Tephra/NonLTR/QValidation.pm
cp lib/Tephra/NonLTR/RunHMM.pm blib/lib/Tephra/NonLTR/RunHMM.pm
cp bin/tephra blib/bin/tephra
"/usr/bin/perl" -MExtUtils::MY -e 'MY->fixin(shift)' -- blib/bin/tephra
cp bin/tephra-getphmm blib/bin/tephra-getphmm
"/usr/bin/perl" -MExtUtils::MY -e 'MY->fixin(shift)' -- blib/bin/tephra-getphmm
PERL_DL_NONLAZY=1 "/usr/bin/perl" "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
t/00-config.t ......... 1/? # Testing Tephra 0.13.1, Perl 5.030000, /usr/bin/perl
t/00-config.t ......... ok
t/01-findltrs.t ....... 1/19 "blib/bin/tephra" unexpectedly returned exit value 2 at t/01-findltrs.t line 39.
# Looks like your test exited with 2 just after 1.
t/01-findltrs.t ....... Dubious, test returned 2 (wstat 512, 0x200)
Failed 18/19 subtests
t/02-classifyltrs.t ... "blib/bin/tephra" unexpectedly returned exit value 2 at t/02-classifyltrs.t line 42.
# Looks like your test exited with 2 before it could output anything.
t/02-classifyltrs.t ... Dubious, test returned 2 (wstat 512, 0x200)
Failed 9/9 subtests
t/03-ltrage.t ......... ok
t/04-findtirs.t ....... "blib/bin/tephra" unexpectedly returned exit value 2 at t/04-findtirs.t line 30.
# Looks like your test exited with 2 before it could output anything.
t/04-findtirs.t ....... Dubious, test returned 2 (wstat 512, 0x200)
Failed 4/4 subtests
t/05-classifytirs.t ... "blib/bin/tephra" unexpectedly returned exit value 2 at t/05-classifytirs.t line 34.
# Looks like your test exited with 2 before it could output anything.
t/05-classifytirs.t ... Dubious, test returned 2 (wstat 512, 0x200)
Failed 6/6 subtests
t/06-findtrims.t ...... "blib/bin/tephra" unexpectedly returned exit value 2 at t/06-findtrims.t line 35.
# Looks like your test exited with 2 before it could output anything.
t/06-findtrims.t ...... Dubious, test returned 2 (wstat 512, 0x200)
Failed 17/17 subtests
t/07-maskref.t ........ "blib/bin/tephra" unexpectedly returned exit value 2 at t/07-maskref.t line 33.
# Looks like your test exited with 2 before it could output anything.
t/07-maskref.t ........ Dubious, test returned 2 (wstat 512, 0x200)
Failed 4/4 subtests
t/08-illrecomb.t ...... ok
t/09-sololtr.t ........ ok
t/10-findhelitrons.t .. "blib/bin/tephra" unexpectedly returned exit value 2 at t/10-findhelitrons.t line 37.
# Looks like your test exited with 2 before it could output anything.
t/10-findhelitrons.t .. Dubious, test returned 2 (wstat 512, 0x200)
Failed 7/7 subtests
t/11-findnonltrs.t .... "blib/bin/tephra" unexpectedly returned exit value 2 at t/11-findnonltrs.t line 43.
t/11-findnonltrs.t .... skipped: (no reason given)
t/12-tirage.t ......... ok
t/13-findfragments.t .. ok
t/14-all.t ............ "blib/bin/tephra" unexpectedly returned exit value 2 at t/14-all.t line 39.
# Looks like your test exited with 2 before it could output anything.
t/14-all.t ............ Dubious, test returned 2 (wstat 512, 0x200)
Failed 4/4 subtests
Test Summary Report
-------------------
t/01-findltrs.t (Wstat: 512 Tests: 1 Failed: 0)
Non-zero exit status: 2
Parse errors: Bad plan. You planned 19 tests but ran 1.
t/02-classifyltrs.t (Wstat: 512 Tests: 0 Failed: 0)
Non-zero exit status: 2
Parse errors: Bad plan. You planned 9 tests but ran 0.
t/04-findtirs.t (Wstat: 512 Tests: 0 Failed: 0)
Non-zero exit status: 2
Parse errors: Bad plan. You planned 4 tests but ran 0.
t/05-classifytirs.t (Wstat: 512 Tests: 0 Failed: 0)
Non-zero exit status: 2
Parse errors: Bad plan. You planned 6 tests but ran 0.
t/06-findtrims.t (Wstat: 512 Tests: 0 Failed: 0)
Non-zero exit status: 2
Parse errors: Bad plan. You planned 17 tests but ran 0.
t/07-maskref.t (Wstat: 512 Tests: 0 Failed: 0)
Non-zero exit status: 2
Parse errors: Bad plan. You planned 4 tests but ran 0.
t/10-findhelitrons.t (Wstat: 512 Tests: 0 Failed: 0)
Non-zero exit status: 2
Parse errors: Bad plan. You planned 7 tests but ran 0.
t/11-findnonltrs.t (Wstat: 512 Tests: 0 Failed: 0)
Non-zero exit status: 2
t/14-all.t (Wstat: 512 Tests: 0 Failed: 0)
Non-zero exit status: 2
Parse errors: Bad plan. You planned 4 tests but ran 0.
Files=15, Tests=51, 5 wallclock secs ( 0.07 usr 0.03 sys + 3.92 cusr 0.45 csys = 4.47 CPU)
Result: FAIL
Failed 9/15 test programs. 0/51 subtests failed.
make: *** [Makefile:1122: test_dynamic] Error 2
I have started up a cloud instance with Ubuntu 20.04 LTS and Perl v5.30 to test these issues. I downloaded the latest release to work with. Then, after installing the core dependencies as described on the install page, and running the cpanm
command to install the Perl dependencies, I then ran make test
without any errors.
It still looks like something is wrong with the directory structure or build files for those errors to be produced. My suggestion would be to try and start with a clean distribution. So, rm -rf ~/.tephra
and then remove the tephra
directory you are working in. Then try again. It is difficult to understand since I can't reproduce the error, so there must be some commands or other errors I'm not seeing, which is why I think try to run the build on a clean distribution is the easiest way to debug.
I'm closing this since it could not be reproduced. Please comment if you are unable to follow the steps above to fix the issue.
Hi, I have executed succesfully the first (
cpanm --installdeps .
) and second (perl Makefile.PL
) step. However, I obtain several erros when I execute the third step (make test
).Output:
How can I resolve this?
Thanks