CSB5 / lofreq

LoFreq Star: Sensitive variant calling from sequencing data
http://csb5.github.io/lofreq/
Other
97 stars 30 forks source link

Linux binary v2.1.5 should have statically linked dependencies #98

Open brendanofallon opened 4 years ago

brendanofallon commented 4 years ago

It would be pretty useful if the precompiled binaries had statically linked dependencies, so users wouldn't have to install them themselves (potentially leading to dependency hell). For instance, when trying to run "lofreq_star-2.1.5_linux-x86-64/bin/lofreq" there's an immediate error about a missing shared library - libhts.so.3 in this case. If the binary were statically linked these shared libraries would be included in the binary, saving the users from tracking down and manually installing the libs.

andreas-wilm commented 4 years ago

Absolutely. The alternative is to use the conda version

DavidAustinNix commented 4 years ago

Although I put libhts.so.3 in my path lofreq isn't finding it. Suggestions?

[u0028003@redwood1:~]$ which libhts.so.3 ~/BioApps/HTSlib/1.10.2/lib/libhts.so.3 [u0028003@redwood1:~]$ ~/BioApps/LoFreq/lofreq_star-2.1.5_linux-x86-64/bin/lofreq /uufs/chpc.utah.edu/common/HIPAA/u0028003/BioApps/LoFreq/lofreq_star-2.1.5_linux-x86-64/bin/lofreq: error while loading shared libraries: libhts.so.3: cannot open shared object file: No such file or directory

I also built it from source and see the same issue.

Thx.

andreas-wilm commented 4 years ago

The linker is not looking in your PATH, but your LD_LIBRARY_PATH. If you for example have libhts installed via conda, then you can point that environment variable to lib in your conda installation.

Andreas

On Tue, 30 Jun 2020, 07:02 David Austin Nix, notifications@github.com wrote:

Although I put libhts.so.3 in my path lofreq isn't finding it. Suggestions?

[u0028003@redwood1:~]$ which libhts.so.3 /BioApps/HTSlib/1.10.2/lib/libhts.so.3 [u0028003@redwood1:]$ ~/BioApps/LoFreq/lofreq_star-2.1.5_linux-x86-64/bin/lofreq /uufs/ chpc.utah.edu/common/HIPAA/u0028003/BioApps/LoFreq/lofreq_star-2.1.5_linux-x86-64/bin/lofreq: error while loading shared libraries: libhts.so.3: cannot open shared object file: No such file or directory

I also built it from source and see the same issue.

Thx.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/CSB5/lofreq/issues/98#issuecomment-651412978, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAILSCJOK3FHRZ2G373ALH3RZEMQDANCNFSM4OF2MGYA .

DavidAustinNix commented 4 years ago

Thx. That was fixed. Now another missing shared library.
[u0028003@redwood1:bin]$ ./lofreq ./lofreq: /lib64/libm.so.6: version `GLIBC_2.23' not found (required by ./lofreq)

I'll keep using the older lofreq version. Best to create a docker container here. I really avoid installing python apps, conda and pip clobber and break prior installs causing no end of headaches trying to fix. Docker/ Singularity containers is the only way to go with python.