dmaticzka / GraphProt

GraphProt: modelling binding preferences of RNA-binding proteins
http://www.bioinf.uni-freiburg.de/Software/GraphProt/
MIT License
18 stars 3 forks source link

Conda install fails due to broken EDeN binary #2

Open s-andrews opened 5 years ago

s-andrews commented 5 years ago

Running conda install graphprot on a new conda v4.5.11 install on CentOS6.

Calls to GraphProt.PL fail with the error please check if the EDeN binary is executable on your system.

Looking at the code it looks for EdEN in $CONDA_PREFIX/libexec/graphprot/EDeN - and there is a binary there, but it exits with an error when you run EDeN -h (which is the test used in GraphProt.pl)

(graphprot) [andrewss@rocks1 graphprot]$ ls -l $CONDA_PREFIX/libexec/graphprot/EDeN
-rwxrwxr-x 1 andrewss bioinf 8647798 Nov 27 09:38 /bi/home/andrewss/miniconda3/envs/graphprot/libexec/graphprot/EDeN

(graphprot) [andrewss@rocks1 graphprot]$ $CONDA_PREFIX/libexec/graphprot/EDeN -h
Illegal instruction

(graphprot) [andrewss@rocks1 graphprot]$ $CONDA_PREFIX/libexec/graphprot/EDeN
Use -h for compact help and -H for extended help.

(graphprot) [andrewss@rocks1 graphprot]$ file $CONDA_PREFIX/libexec/graphprot/EDeN
/bi/home/andrewss/miniconda3/envs/graphprot/libexec/graphprot/EDeN: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), dynamically linked (uses shared libs), for GNU/Linux 2.6.18, not stripped

(graphprot) [andrewss@rocks1 graphprot]$ ldd $CONDA_PREFIX/libexec/graphprot/EDeN
        linux-vdso.so.1 =>  (0x00007ffc0499c000)
        libz.so.1 => /bi/home/andrewss/miniconda3/envs/graphprot/libexec/graphprot/../../lib/libz.so.1 (0x00007f6d65199000)
        libstdc++.so.6 => /bi/home/andrewss/miniconda3/envs/graphprot/libexec/graphprot/../../lib/libstdc++.so.6 (0x00007f6d64e5e000)
        libm.so.6 => /lib64/libm.so.6 (0x000000376ac00000)
        libgomp.so.1 => /bi/home/andrewss/miniconda3/envs/graphprot/libexec/graphprot/../../lib/libgomp.so.1 (0x00007f6d64c20000)
        libgcc_s.so.1 => /bi/home/andrewss/miniconda3/envs/graphprot/libexec/graphprot/../../lib/libgcc_s.so.1 (0x00007f6d64a0d000)
        libpthread.so.0 => /lib64/libpthread.so.0 (0x000000376b400000)
        libc.so.6 => /lib64/libc.so.6 (0x000000376a800000)
        /lib64/ld-linux-x86-64.so.2 (0x000000376a400000)
        librt.so.1 => /lib64/librt.so.1 (0x000000376bc00000)
        libdl.so.2 => /lib64/libdl.so.2 (0x000000376b000000)

(graphprot) [andrewss@rocks1 graphprot]$ sha1sum $CONDA_PREFIX/libexec/graphprot/EDeN
fac1e79c93b576633391a7b91b60a20e6bd70bf9  /bi/home/andrewss/miniconda3/envs/graphprot/libexec/graphprot/EDeN

There is a separate EDeN package in bioconda, and if I install that then the binary distributed with that works OK, so there's something specifically wrong with the version distributed with graphprot.

(graphprot) [andrewss@rocks1 graphprot]$ $CONDA_PREFIX/bin/EDeN -h
----------------------------------------------------------------
EDeN (Explicit Decomposition with Neighborhoods) Vers. 1.1 (18 October 2013)
Author: Fabrizio Costa     Email:costa@informatik.uni-freiburg.de
----------------------------------------------------------------
OPTIONS:
-a --action TRAIN | TEST | TEST_PART | CROSS_VALIDATION | BIAS_VARIANCE_DECOMPOSITION | PARAMETERS_OPTIMIZATION | LEARNING_CURVE | FEATURE | FEATURE_PART | FEATURE_SCALED | MATRIX | EMBED | TARGET_ALIGNMENT | CLUSTER | NEAREST_NEIGHBOR | MIN_HASH | SEMI_SUPERVISED
----------------------------------------------------------------
REFERENCES:

----------------------------------------------------------------
s-andrews commented 5 years ago

Running the same conda install on an Ubuntu VM works. The same graphprot package is installed graphprot 1.1.7 h3445559_4 bioconda

..and they both have an EDeN binary with the same size (8647798 bytes) but the hashes for the two binaries are not the same (broken is 77204b10df29c52fd3d9cca09597c8b4 EDeN, working is 321b0b9e1db73c86cb2e541cb298c080 EDeN).

I get the same results after removing and reinstalling the package.