funannotate icon indicating copy to clipboard operation
funannotate copied to clipboard

pslCnaFilter conda compiled against libssl.so.1.0.0 fails on centos8

Open hyphaltip opened this issue 3 years ago • 7 comments

I'm wasn't sure how to resolve this dependency problem - on centos 8 currently installed

# Name                    Version                   Build  Channel
ucsc-pslcdnafilter        357                           0    bioconda

which has missing libssl and libcrypto.so 1.0.0

ldd /opt/linux/rocky/8.x/x86_64/pkgs/funannotate/development/bin/pslCDnaFilter
    linux-vdso.so.1 (0x00007ffdfe6b3000)
    libpthread.so.0 => /lib64/libpthread.so.0 (0x0000150804781000)
    libssl.so.1.0.0 => not found
    libcrypto.so.1.0.0 => not found
    libpng16.so.16 => /opt/linux/rocky/8.x/x86_64/pkgs/funannotate/development/bin/../lib/libpng16.so.16 (0x0000150804b7e000)
    libz.so.1 => /opt/linux/rocky/8.x/x86_64/pkgs/funannotate/development/bin/../lib/libz.so.1 (0x0000150804b64000)
    libm.so.6 => /lib64/libm.so.6 (0x00001508043ff000)
    libmysqlclient.so.18 => /opt/linux/rocky/8.x/x86_64/pkgs/funannotate/development/bin/../lib/libmysqlclient.so.18 (0x000015080403b000)
    librt.so.1 => /lib64/librt.so.1 (0x0000150803e33000)
    libdl.so.2 => /lib64/libdl.so.2 (0x0000150803c2f000)
    libstdc++.so.6 => /opt/linux/rocky/8.x/x86_64/pkgs/funannotate/development/bin/../lib/libstdc++.so.6 (0x0000150803a7b000)
    libc.so.6 => /lib64/libc.so.6 (0x00001508036b6000)
    /lib64/ld-linux-x86-64.so.2 (0x00001508049a1000)
    libssl.so.1.1 => /opt/linux/rocky/8.x/x86_64/pkgs/funannotate/development/bin/../lib/./libssl.so.1.1 (0x0000150804acf000)
    libcrypto.so.1.1 => /opt/linux/rocky/8.x/x86_64/pkgs/funannotate/development/bin/../lib/./libcrypto.so.1.1 (0x00001508033e9000)
    libgcc_s.so.1 => /opt/linux/rocky/8.x/x86_64/pkgs/funannotate/development/bin/../lib/./libgcc_s.so.1 (0x0000150804ab6000)

potentially latest version of pkg linked against more general version? anyone have ideas or suggestions on how to try to resolve/fix/add?

mamba install -c bioconda ucsc-pslcdnafilter==366
Encountered problems while solving:
  - package pulseaudio-14.0-h0868958_9 requires openssl >=1.1.1q,<1.1.2a, but none of the providers can be installed
but cannot install v366 as

mamba install -c conda-forge -c bioconda ucsc-pslcdnafilter==366 openssl==1.1.1q
ucsc-pslcdnafilter-366-h5eb252a_0 requires openssl >=1.0.2o,<1.0.3a, but none of the providers can be installed

As a workaround I could do this to setup an alias for the libraries to the versions of libssl / libcrypto that are installed in the environment

cd $CONDAENV/lib
ln -s libssl.so libssl.so.1.0.0 
ln -s libcrypto.so libcrypto.so.1.0.0

So leaving this here as a solution for anyone encountering -

Worth noting that funannotate check isn't able to detect this problem and warn so I think adding some version testing or execution success is probably needed will see if I can.

hyphaltip avatar Oct 27 '22 18:10 hyphaltip

but it would be helpful to get the latest ucsc-pslcdnafilter installed too so still need to figure out this conda dependency problem...

hyphaltip avatar Oct 27 '22 19:10 hyphaltip

In case you find any solution to this let me know. While trying to set up the funannotate pipeline from scratch, this message started to pop up after I have been installing funannotate with pip in master (to get rid of the augustus problem which occurs when installing funannotate via mamba/conda):

Checking external dependencies...
	ERROR: pslDnaFiler found but error running: pslCDnaFilter: error while loading shared libraries: libssl.so.1.0.0: cannot open shared object file: No such file or directory

Your solution (below) does not work for me because I don; have the rights for linking the files, nor do thoese files exist in my $CONDAENV/lib folder...

cd $CONDAENV/lib
ln -s libssl.so libssl.so.1.0.0 
ln -s libcrypto.so libcrypto.so.1.0.0

AlWa1 avatar Nov 18 '22 15:11 AlWa1

you can put these links into any folder you have permission and just make sure your $LD_LIBRARY_PATH has that folder in it. but you can install the ssl library to get them or link to ones that are in another folder I guess. this is all kind of a mess so I'm not sure what to recommend.

Its really hard to tell you how to solve your problem - are you on unix/linux/osx? you are unable to write in the conda folder at all - then how are you installing the tools? can you do your own conda install? Do you have those libssl somewhere on your system?

The UCSC tools need a total update for compiling but I am not going to have time to know-how to fix them any time soon myself. Maybe @nextgenusfs has ideas but we probably want to just remove this dependency as I think other tools can achieve this better anyways.

hyphaltip avatar Nov 18 '22 22:11 hyphaltip

Anyone have any ideas why it's linking against lib*.so.1.1 and lib*.so.1.0.0. Seems like an error.

davised avatar Jan 12 '23 20:01 davised

for what it's worth, I got it to work using the ln commands above, but we are restricted from using the latest pslcdnafilter as indicated.

davised avatar Jan 30 '23 21:01 davised

I got the same error when running funannotate check --show-versions from the latest conda funannotate version (1.8.15), which tries to fix the problems with Augustus as discussed in the issue #850. I tried @hyphaltip's suggestion and it seems to be working.

SLAment avatar Apr 15 '23 18:04 SLAment

About 2 weeks ago, ucsc-pslcdnafilter=445 was made available in bioconda. I've updated it in my funannotate conda environment (mamba install "ucsc-pslcdnafilter=445") and it doesn't complain about the libs any more.

Note that funannotate check --show-versions doesn't find the version, but it does detect the program (no idea if that's just my system though):

[...]
pslCDnaFilter: no way to determine
[...]

xvazquezc avatar May 29 '23 06:05 xvazquezc