refresh-bio / kmer-db

Kmer-db is a fast and memory-efficient tool for large-scale k-mer analyses (indexing, querying, estimating evolutionary relationships, etc.).
GNU General Public License v3.0
81 stars 16 forks source link

Fails to build from source #1

Closed kloetzl closed 6 years ago

kloetzl commented 6 years ago

In libs/ there seem to be a bunch of binary files which won't link on my computers. Can you provide an alternative? Dynamically linking with preinstalled packages seems to work.

agudys commented 6 years ago

Hello! We'll provide a possibility to link libraries dynamically ASAP.

sam217pa commented 6 years ago

+1 ! Been trying to compile on mac osx but the libs/*.a were compiled for linux so the linker can't do a proper job.

(Thanks and congrats for the bioinformatics paper !)

agudys commented 6 years ago

Hello Fabian and Sam, I updated the makefile so now by default it links Kmer-db against system-installed zlib. In order to change this, INTERNAL_ZLIB variable at the beginning of makefile has to be set to true. Please let me know if it helps. Adam

(Thank you for congrats :))

sam217pa commented 6 years ago

Thank you for the quick fix, it compiles just fine on my machine now !

kloetzl commented 6 years ago

The build still fails on computers without avx2.

agudys commented 6 years ago

Indeed, while the binary should work on all platforms (it detectes whether AVX2 is present and executes proper code), the build may fail on CPUs without AVX2. I'll fix this soon and let you know.

agudys commented 6 years ago

Dear Fabian, I added a switch NO_AVX2 at the top of the makefile which prevents from AVX2 compilation. Note, that AVX2-compatible binary should also work on non-AVX machine as supported extensions are determined at runtime. Please try and let me know.

kloetzl commented 6 years ago

Now it compiles, but doesn't run on computers without AVX. I guess, that is ok, if you mention that as a requirement.

agudys commented 6 years ago

I've added the information in README about AVX as an obligatory requirement for Kmer-db, and AVX2 as optional ferature. Thanks!