Comments (8)
Sure. Although these are really requirements of htslib
rather than octopus per se. I'll update the docs for the next release in any case.
from octopus.
You're right, it was only cmake that used these extra dependencies. Octopus compiled fine after this patch and without the extra dependencies.
from octopus.
This patch causes a bunch of link errors if using htslib 1.4 or greater on OSX and Linux. In fact, I remember this is why I added these now in commits 5e50a22 and a0408c7.
from octopus.
Sounds like a linking problem with your htslib, it should be linking in its dependencies implicitly. I'm using linux and my htslib v1.6 is appropriately linked. Could be some bugs possible if explicitly linking against a different version to what htslib is compiled against? Not sure.
from octopus.
Do you recall how you installed htslib? I just installed the latest develop
version manually and continue to encounter link errors when installing octopus without explicitly finding htslib's dependencies. I agree it's weird, and shouldn't be necessary.
from octopus.
Although this guide on writing CMake find modules suggests library dependencies should explicitly be found themselves...
from octopus.
Strange, what does ldd say on your library? I'm compiling using nix, which doesn't do anything special (the build expression is here). My ldd shows the library correctly linked against its dependencies:
[nix-shell:~]$ ldd /nix/store/cgj7cxnnl8jmp2qppsaxnrbwa57wv657-htslib-1.6/lib/libhts.so.2
ldd: warning: you do not have execution permission for `/nix/store/cgj7cxnnl8jmp2qppsaxnrbwa57wv657-htslib-1.6/lib/libhts.so.2'
linux-vdso.so.1 (0x00007fff02bbc000)
liblzma.so.5 => /nix/store/8b6gq3ay5i968i5jxzdk6x0jazxg508g-xz-5.2.3/lib/liblzma.so.5 (0x00007f175fdad000)
libbz2.so.1 => /nix/store/m9fm5ls687zxwc2299acrw9i5k3vi0n8-bzip2-1.0.6.0.1/lib/libbz2.so.1 (0x00007f175fb9d000)
libz.so.1 => /nix/store/qwihrwyc72qd57grhqmfzkvvpd8611yf-zlib-1.2.11/lib/libz.so.1 (0x00007f175f986000)
libm.so.6 => /nix/store/9g2xkgiaqqzvajgb8d4hv5yqg2n96flr-glibc-2.26-75/lib/libm.so.6 (0x00007f175f63a000)
libcurl.so.4 => /nix/store/78nh8kaacpcka6w6x0fpirlaxidyy0qa-curl-7.57.0/lib/libcurl.so.4 (0x00007f175f3bc000)
libcrypto.so.1.0.0 => /nix/store/6dvn6wjy79yxsbz05sgcm8xplbidq5s6-openssl-1.0.2n/lib/libcrypto.so.1.0.0 (0x00007f175ef81000)
libpthread.so.0 => /nix/store/9g2xkgiaqqzvajgb8d4hv5yqg2n96flr-glibc-2.26-75/lib/libpthread.so.0 (0x00007f175ed63000)
libc.so.6 => /nix/store/9g2xkgiaqqzvajgb8d4hv5yqg2n96flr-glibc-2.26-75/lib/libc.so.6 (0x00007f175e9b0000)
/nix/store/9g2xkgiaqqzvajgb8d4hv5yqg2n96flr-glibc-2.26-75/lib64/ld-linux-x86-64.so.2 (0x00007f1760280000)
libnghttp2.so.14 => /nix/store/lc45jlqa3ra7y34nz148bmdiv8jaw0qm-nghttp2-1.24.0-lib/lib/libnghttp2.so.14 (0x00007f175e78a000)
libssh2.so.1 => /nix/store/4plv316zazflkbnz1yv92il3v5sjjk2i-libssh2-1.8.0/lib/libssh2.so.1 (0x00007f175e55c000)
libssl.so.1.0.0 => /nix/store/6dvn6wjy79yxsbz05sgcm8xplbidq5s6-openssl-1.0.2n/lib/libssl.so.1.0.0 (0x00007f175e2ee000)
libdl.so.2 => /nix/store/9g2xkgiaqqzvajgb8d4hv5yqg2n96flr-glibc-2.26-75/lib/libdl.so.2 (0x00007f175e0ea000)
I also just tried compiling htslib quickly on a fresh ubuntu image (./configure && make) and that also seemed to link correctly:
root@7a77cbe15932:/tmp/htslib-1.6# ldd libhts.so
linux-vdso.so.1 => (0x00007ffeb30ea000)
liblzma.so.5 => /lib/x86_64-linux-gnu/liblzma.so.5 (0x00007f5c24c30000)
libbz2.so.1.0 => /lib/x86_64-linux-gnu/libbz2.so.1.0 (0x00007f5c24a20000)
libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007f5c24806000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f5c244fd000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f5c242e0000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f5c23f16000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f5c23d12000)
/lib64/ld-linux-x86-64.so.2 (0x00007f5c250fa000)
from octopus.
Sorry for the delayed response. I found the problem. It was because on my system, the static htslib version (libhts.a
) was being used, which requires dependencies be explicitly linked otherwise there are unresolved symbols. On your system, the dynamic version (libhts.so
) was being selected, so no need to link the dependencies. I've modified the installation process to default to always find the dynamic version, in which case CMake won't try to find the dependencies. There is still the option to statically link (--static
) command to install.py
. These changes are available in v0.3.3-alpha.
from octopus.
Related Issues (20)
- Job killed due to `ContigRegion: expanding past contig start`
- reference calls for re-genotyping individual sample given (-c) sites HOT 1
- Can't see realigned bams in the latest IGV on windows HOT 1
- Error building on macOS 12.5.1
- Provide optimal parameters for candidate generation
- Question: Calling non-variant sites HOT 11
- Absolute input file paths are appended to working directory paths HOT 1
- Question: Is possible to run Octupus with RNA-seq data? HOT 2
- failed in compilation
- Possible typo in the documentation
- Floating point exception and seg fault in Call Set Refinement with polyclone
- Empty VCF file
- GCA_000001405.15_GRCh38_no_alt_analysis_set.fna is not a valid fasta file. HOT 1
- --refcall POSITIONAL reports * instead of . in ALT column for reference call creating triallelic calls downstream
- Polyclone caller produces VCF records with variable numbers of genotypes across records HOT 2
- Failed to download forest somatic.v0.7.4.forest.gz HOT 8
- Please let the user decide, if the files are okay .... HOT 1
- germline.v0.7.4.forest.gz HOT 6
- This is not a bug. Tell us about the issues with the forest files HOT 1
- can not download the forest files HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from octopus.