jtamames / SqueezeMeta

A complete pipeline for metagenomic analysis
GNU General Public License v3.0
346 stars 81 forks source link

Problem with kmer-db installation #741

Closed gracegyho closed 8 months ago

gracegyho commented 8 months ago

After running test_install.pl everything goes fine until kmer-db -h.

I opened a separate issue on their github page , but my colleague suggested I crosspost it here since you are more responsive.

Basically, no matter how I install kmer-db, I get the "Illegal instruction" error.

Any clues? More info is found in the kmer-db issue thread, but I am running on linux-64 (Debian GNU/Linux 10 (Buster))

fpusan commented 8 months ago

Is this happening on the latest version of SqueezeMeta? What is the output of which kmer-db after activating the SqueezeMeta conda environment?

gracegyho commented 8 months ago

/home/gho/miniconda3/envs/SqueezeMeta/bin/kmer-db

Is this happening on the latest version of SqueezeMeta? What is the output of which kmer-db after activating the SqueezeMeta conda environment?

This is the latest version, yes? squeezemeta 1.6.3 py310pl5262r36_0 fpusan

Output of which kmer-db is: /home/gho/miniconda3/envs/SqueezeMeta/bin/kmer-db

...As in my kmer-db issues post, I have replaced this kmer-db with three different versions, all getting the same error. Currently the kmer-db in my current installation is actually a copy from kmer-db v. 1.7.2 (15.01.2020), which works on my colleagues' installation. (I was getting desperate, I spent almost a whole work week trying to install SqueezeMeta and I think this is the last thing in my way.)

Before replacing it with their version, I received the error message in linked above.

Now I get

$ kmer-db -h
Kmer-db version 1.7.2 (15.01.2020)
S. Deorowicz, A. Gudys, M. Dlugosz, M. Kokot, and A. Danek (c) 2018

Illegal instruction

(EDIT: sorry I accidentally closed this! I new to github!)

fpusan commented 8 months ago

Good news is that you may not need kmer-db at all for running SqueezeMeta (unless you plan to use the seqmerge mode). Anyways it can be that the kmer-db conda package is not working for your distro, or it can be that some other dependency in the SqueezeMeta package is conflicting with it. Let's try the same in a completely new conda environment.

conda create -n test2 -c conda-forge -c bioconda kmer-db=1.11.1
conda activate test2
kmer-db -h
gracegyho commented 8 months ago

Same message with the above...

"Illegal instruction"

Edit: It seems if I ssh onto a different server dedicated to jobs requiring larger memory, it works!

OS on the server which works: Linux-4.9.0-19-amd64-x86_64-with-glibc2.24 OS on the server which does not work: Linux-4.19.0-25-amd64-x86_64-with-debian-10.13

I don't know enough about Linux to know why one works but not the other, but I guess this issue can be closed.

fpusan commented 8 months ago

As I suspected the problem was related to how the kmer-db from conda was compiled. Glad to see it works in a different machine. You could also have downloaded kmer-db and compiled from source in your server.