marbl/MashMap

cmake doesn't look for htslib, so the build fails

Closed this issue · 7 comments

In file included from /usr/ports/biology/mashmap/work/MashMap-3.1.0/src/map/mash_map.cpp:16:
In file included from /usr/ports/biology/mashmap/work/MashMap-3.1.0/src/map/include/winSketch.hpp:39:
/usr/ports/biology/mashmap/work/MashMap-3.1.0/src/common/seqiter.hpp:8:10: fatal error: 'htslib/faidx.h' file not found
#include <htslib/faidx.h>
         ^~~~~~~~~~~~~~~~
1 warning and 1 error generated.
bkille commented

Hi @yurivict!

It appears you don't have the htslib include files anywhere on your system's include path. If you want to build with htslib, you'll need to install the headers somewhere on your system and/or add them to your include path.

Otherwise, I've created a new release of MashMap (v3.1.1) that allows you to build without htslib by default. Please let me know if you have any questions!

-Bryce

cmake should look for all dependencies that are required during build.

bkille commented

Similar to what is required for libgsl, cmake will look for the header files of htslib in your compiler's include path.

bkille commented

Or do you mean that CMake should be throwing the error as opposed to the compiler?

htslib installs .pc file. cmake should use pkgconfig to find the htslib package.

bkille commented

@yurivict ahhh, I understand now I think. I appreciate the guidance! Let me know if the commit above addresses your issue.

Yes, it does.

Thank you.