cerebis / qc3C

Reference-free quality assessment for Hi-C sequencing data
GNU Affero General Public License v3.0
12 stars 1 forks source link

qc3C conda failure on CentOS8 #43

Open koadman opened 3 years ago

koadman commented 3 years ago

The conda usage instructions in README.md lead to two problems on CentOS8. First is a missing libbz2, which can be rectified by running conda install -c conda-forge bzip2 or possibly adding bzip2 to the initial environment creation. The second issue is due to a problem with the kerberos lib used by CentOS missing some functionality that is expected by the openssl from conda. The error manifests as:

Traceback (most recent call last):
  File "/home/myuser/miniconda3.8/envs/qc3c/bin/qc3C", line 7, in <module>
    from qc3C.command_line import main
  File "/home/myuser/miniconda3.8/envs/qc3c/lib/python3.8/site-packages/qc3C/command_line.py", line 4, in <module>
    import qc3C.bam_based as bam
  File "/home/myuser/miniconda3.8/envs/qc3c/lib/python3.8/site-packages/qc3C/bam_based.py", line 5, in <module>
    import pysam
  File "/home/myuser/miniconda3.8/envs/qc3c/lib/python3.8/site-packages/pysam/__init__.py", line 5, in <module>
    from pysam.libchtslib import *
ImportError: /lib64/libk5crypto.so.3: undefined symbol: EVP_KDF_ctrl, version OPENSSL_1_1_1b

It appears this is a known issue with conda on CentOS8 and an updated version of the kerberos lib can or will resolve it.

cerebis commented 3 years ago

Please try with the latest release and let me know if the problem persists.

mscharmann commented 3 years ago

Hello, I am on "Red Hat 4.8.5-39" and had the same issue with bzip2, which is gone in the current conda release. However, now pysam has a problem with a different dependency:

ImportError: /lib64/libm.so.6: versionGLIBC_2.23' not found`

cerebis commented 3 years ago

Hi @mscharmann thanks for reporting this problem. I'll see what can be done about it. That's a pretty old version of RH, which I think tops out at GLIBC 2.3.x.

cerebis commented 3 years ago

@mscharmann

I haven't tested this as I do not have a RH4.8 environment set up, but there's a possibility that this problem stems from the removal of Python 3.6 support from qc3C.

The removal was in response to an unresolvable (by me) segmentation fault within pytest when run in a conda py36 environment. I have not been able to track down what change within the dependency tree has introduced this problem.

qc3C, however, seems fine. I just cannot run the tests presently, which interrupts the automated build process.

A possible work around which might work for you.

# 1) create a Python 3.6 environment, without qc3C but everything else you'll need.
conda create -y -n qc3c_py36 -c conda-forge -c bioconda -c cerebis samtools jellyfish "python<3.7"
# 2) activate this environment
conda activate qc3c_py36
# 3) install qc3C from github using pip
pip install git+https://github.com/cerebis/qc3C