easybuilders / easybuild-easyconfigs

A collection of easyconfig files that describe which software to build using which build options with EasyBuild.
https://easybuild.io
GNU General Public License v2.0
383 stars 704 forks source link

InterProScan-5.28-67.0-intel-2018a.eb #7687

Open hughesdj opened 5 years ago

hughesdj commented 5 years ago

We find that this easyconfig has a missing dependency (libgnutls.so.28) at runtime. Please see below.

$ interproscan.sh -i /home/data/bioinf_resources/programming_tools/interproscan-5.32-71.0/test_proteins.fasta -f tsv
19/02/2019 12:36:22:535 Welcome to InterProScan-5.28-67.0
19/02/2019 12:36:28:393 Running InterProScan v5 in STANDALONE mode... on Linux
19/02/2019 12:36:41:705 Loading file /home/data/bioinf_resources/programming_tools/interproscan-5.32-71.0/test_proteins.fasta
19/02/2019 12:36:41:709 Running the following analyses:
[CDD-3.16,Coils-2.2.1,Gene3D-4.2.0,Hamap-2017_10,MobiDBLite-1.0,PANTHER-12.0,Pfam-31.0,PIRSF-3.02,PRINTS-42.0,ProDom-2006.1,ProSitePatterns-2017_09,ProSiteProfiles-2017_09,SFLD-3,SMART-7.1,SUPERFAMILY-1.75,TIGRFAM-15.0]
Available matches will be retrieved from the pre-calculated match lookup service.
Matches for any sequences that are not represented in the lookup service will be calculated locally.
2019-02-19 12:36:42,313 [amqEmbeddedWorkerJmsContainer-4] [uk.ac.ebi.interpro.scan.business.sequence.BerkeleyPrecalculatedProteinLookup:354] WARN -
The version of InterProScan you are using is 5.28-67.0
The version of the lookup service you are using is 5.33-72.0
As the data in these versions is not the same, you cannot use this match lookup service.
InterProScan will now run locally
If you would like to use the match lookup service, you have the following options:
i) Download the newest version of InterProScan5 from our FTP site by following the instructions on:
https://www.ebi.ac.uk/interpro/interproscan.html
ii) Download the match lookup service for your version of InterProScan from our FTP site and install it locally.
You will then need to edit the following property in your configuration file to point to your local installation:
precalculated.match.lookup.service.url=
In the meantime, the analysis will continue to run locally.
19/02/2019 12:37:03:880 25% completed
2019-02-19 12:37:10,349 [amqEmbeddedWorkerJmsContainer-6] [uk.ac.ebi.interpro.scan.management.model.implementations.RunBinaryStep:188] ERROR - Command line failed with exit code: 127
Command: bin/blast/ncbi-blast-2.6.0+/rpsblast -query /home/usern/hughesd/temp/temp/rothhpc408.cluster.local_20190219_123628387_1jxz//jobCDD/000000000001_000000000006.fasta -db data/cdd/3.16/db/Cdd_NCBI -evalue 0.01 -seg no -outfmt 5

Error output from binary:
bin/blast/ncbi-blast-2.6.0+/rpsblast: error while loading shared libraries: libgnutls.so.28: cannot open shared object file: No such file or directory

$ ldd bin/blast/ncbi-blast-2.6.0+/rpsblast
linux-vdso.so.1 =>  (0x00007ffff53aa000)
libz.so.1 => /home/apps/eb/software/zlib/1.2.11-GCCcore-6.4.0/lib/libz.so.1 (0x00002b3ee1a67000)
libbz2.so.1 => /usr/lib64/libbz2.so.1 (0x00002b3ee1c67000)
libdl.so.2 => /usr/lib64/libdl.so.2 (0x00002b3ee1e77000)
libgnutls.so.28 => not found
libgcrypt.so.11 => /usr/lib64/libgcrypt.so.11 (0x00002b3ee207b000)
libgpg-error.so.0 => /usr/lib64/libgpg-error.so.0 (0x00002b3ee22fc000)
libnsl.so.1 => /usr/lib64/libnsl.so.1 (0x00002b3ee2501000)
libpthread.so.0 => /usr/lib64/libpthread.so.0 (0x00002b3ee271b000)
libstdc++.so.6 => /home/apps/eb/software/GCCcore/6.4.0/lib64/libstdc++.so.6 (0x00002b3ee1a8a000)
libm.so.6 => /usr/lib64/libm.so.6 (0x00002b3ee2937000)
libgomp.so.1 => /home/apps/eb/software/GCCcore/6.4.0/lib64/libgomp.so.1 (0x00002b3ee1c17000)
libgcc_s.so.1 => /home/apps/eb/software/GCCcore/6.4.0/lib64/libgcc_s.so.1 (0x00002b3ee1c45000)
libc.so.6 => /usr/lib64/libc.so.6 (0x00002b3ee2c39000)
/lib64/ld-linux-x86-64.so.2 (0x00002b3ee1a43000)
boegel commented 5 years ago

@hughesdj This went undetected because we have gnutls installed system-wide (we're working on a better test setup to prevent stuff like this).

Since GnuTLS is security-related, the recommended solution is probably to install gnutls via the OS package manager (and to track that requirement via osdependencies in the easyconfig file).

Although you could also consider adding GnuTLS as a dependency in this InterProScan easyconfig (you'll need to compose an updated GnuTLS easyconfig as well, see https://github.com/easybuilders/easybuild-easyconfigs/tree/master/easybuild/easyconfigs/g/GnuTLS).