vcflib icon indicating copy to clipboard operation
vcflib copied to clipboard

Illegal instruction

Open jonahcullen opened this issue 10 months ago • 7 comments

Only bug reports!

The C++ version of VCFLIB is in maintenance mode. Use the github issue tracker to report bugs only. For comments, questions and features, please use the google group mailing list as stated on the README!

Describe the bug

Hello, when running vcfwave on a VCF generated by minigraph-cactus, it returns the VCF header followed by

vcfwave 1.0.9 processing...
Illegal instruction

To Reproduce

vcfwave -t 4 -L 1000000 test.vcf

I can upload a simplified version of the test.vcf file if needed.

Expected behavior

Unclear but I would expect a VCF?

Thanks very much for your time, Jonah.

jonahcullen avatar Apr 24 '24 22:04 jonahcullen

What processor do you have? Did you compile vcflib on the same machine that you are running it on, or install vcflib from compiled binaries somewhere?

pettyalex avatar Apr 29 '24 20:04 pettyalex

Thanks for your response! I installed vcflib via Bioconda (mamba install -c bioconda vcflib). I tend to use mamba as opposed to conda but I'm happy to try a different way if you see fit.

jonahcullen avatar Apr 29 '24 22:04 jonahcullen

I have encountered the same issue using the output of minigraph-cactus, using vcflib 1.0.9 installed via miniconda3.

swomics avatar Apr 30 '24 09:04 swomics

@jonahcullen and what model of processor are you running it on?

I believe that this is happening because you are running it on a CPU with fewer features than vcflib was compiled for in Bioconda. I need to look at the bioconda recipe and see if it's building with -march=native, because if so, it will only run on processors supporting all the same features as bioconda's build machine.

The safest solution for you is to compile vcflib yourself, but the bioconda recipe should also be fixed.

pettyalex avatar Apr 30 '24 18:04 pettyalex

Hi @pettyalex , yes I’m trying to run this on an HPC with mostly AMD and Intel processors.

If the bioconda recipe is fixed, I’ll try that again but if not I’m happy to compile it myself.

Thanks again for your patience and help here, I am fully aware that this can sometimes be a thankless task and I very much appreciate it.

jonahcullen avatar Apr 30 '24 18:04 jonahcullen

Don't thank me, I've barely contributed to vcflib but I've worked w/ packaging it. The bioconda recipe is not fixed but I might get around to it shortly.

The binary that you already have would also probably run in your environment if you exclusively target recent Intel processors with your scheduler.

pettyalex avatar Apr 30 '24 19:04 pettyalex

This PR should fix this: https://github.com/bioconda/bioconda-recipes/pull/50564

I think that "-march=native" should be disabled to get a generic executable by default https://github.com/vcflib/vcflib/blob/382ae661fa19cfde6de56a8b3d7109d542373345/CMakeLists.txt#L73C20-L73C33

fplazaonate avatar Sep 09 '24 09:09 fplazaonate