freebayes / freebayes

Bayesian haplotype-based genetic polymorphism discovery and genotyping.
http://arxiv.org/abs/1207.3907
MIT License
775 stars 263 forks source link

Missing external dependencies #669

Closed Stikus closed 3 years ago

Stikus commented 3 years ago

Hello, I'm trying to switch from Cmake to meson build system and found several problems:

  1. I have the same problem with tests which you described here #668 - so I will wait for you to fix it
  2. I have missing dependencies - again - same as you:

    Run-time dependency bz2lib found: NO (tried pkgconfig and cmake)
    Run-time dependency htslib found: NO (tried pkgconfig and cmake)

    But I have both installed in my system:

    root@c653f49334a8:/soft/freebayes-1.3.3-src# bzip2 --version               
    bzip2, a block-sorting file compressor.  Version 1.0.6, 6-Sept-2010.       
    
    Copyright (C) 1996-2010 by Julian Seward.                               
    
    This program is free software; you can redistribute it and/or modify    
    it under the terms set out in the LICENSE file, which is included       
    in the bzip2-1.0.6 source distribution.                                 
    
    This program is distributed in the hope that it will be useful,         
    but WITHOUT ANY WARRANTY; without even the implied warranty of          
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the           
    LICENSE file for more details.                                          
    root@c653f49334a8:/soft/freebayes-1.3.3-src# apt update && apt install libbz2-dev    
    Hit:1 http://archive.ubuntu.com/ubuntu bionic InRelease                              
    Hit:2 http://ppa.launchpad.net/openjdk-r/ppa/ubuntu bionic InRelease                 
    Hit:3 http://archive.ubuntu.com/ubuntu bionic-updates InRelease                      
    Hit:4 http://archive.ubuntu.com/ubuntu bionic-backports InRelease                    
    Get:5 http://security.ubuntu.com/ubuntu bionic-security InRelease [88.7 kB]          
    Fetched 88.7 kB in 1s (109 kB/s)                                                     
    Reading package lists... Done                                                        
    Building dependency tree                                                             
    Reading state information... Done                                                    
    1 package can be upgraded. Run 'apt list --upgradable' to see it.                    
    Reading package lists... Done                                                        
    Building dependency tree                                                             
    Reading state information... Done                                                    
    libbz2-dev is already the newest version (1.0.6-8.1ubuntu0.2).                       
    0 upgraded, 0 newly installed, 0 to remove and 1 not upgraded.                       
    root@c653f49334a8:/soft/freebayes-1.3.3-src# pkg-config --print-provides htslib 
    htslib = 1.11                                                                   
    root@c653f49334a8:/soft/freebayes-1.3.3-src# pkg-config --modversion htslib     
    1.11                                                                            

    I've found way to point meson to htslib - I've added its path to PKG_CONFIG_PATH:

    root@c653f49334a8:/soft/freebayes-1.3.3-src# meson "$SOFT/freebayes-${FREEBAYES_VERSION}-src/build" --buildtype debug
    Using 'PKG_CONFIG_PATH' from environment with value: '/soft/htslib-1.11/lib/pkgconfig'                               
    Using 'PKG_CONFIG_PATH' from environment with value: '/soft/htslib-1.11/lib/pkgconfig'                               
    The Meson build system                                                                                               
    Version: 0.56.0                                                                                                      
    Source dir: /soft/freebayes-1.3.3-src                                                                                
    Build dir: /soft/freebayes-1.3.3-src/build                                                                           
    Build type: native build                                                                                             
    Project name: freebayes                                                                                              
    Project version: 1.3.3                                                                                               
    C compiler for the host machine: cc (gcc 7.5.0 "cc (Ubuntu 7.5.0-3ubuntu1~18.04) 7.5.0")                             
    C linker for the host machine: cc ld.bfd 2.30                                                                        
    C++ compiler for the host machine: c++ (gcc 7.5.0 "c++ (Ubuntu 7.5.0-3ubuntu1~18.04) 7.5.0")                         
    C++ linker for the host machine: c++ ld.bfd 2.30                                                                     
    Host machine cpu family: x86_64                                                                                      
    Host machine cpu: x86_64                                                                                             
    Dependency zlib found: YES 1.2.11 (cached)                                                                           
    Dependency liblzma found: YES 5.2.2 (cached)                                                                         
    Run-time dependency bz2lib found: NO (tried pkgconfig and cmake)
    Dependency htslib found: YES 1.11 (cached)                                                                           
    Dependency threads found: YES unknown (cached)                                                                       
    Program prove found: YES (/usr/bin/prove)                                                                            
    Build targets in project: 2                                                                                          

    Cmake should find BZip2:

    root@c653f49334a8:/soft/freebayes-1.3.3-src# find / -name 'Find*.cmake' | grep -i 'bzip2' 
    /soft/cmake-3.19.2-Linux-x86_64/share/cmake-3.19/Modules/FindBZip2.cmake                  

    But it's not, and I cannot find any way to fix it. Additional proof that Cmake should find bz2 - part of vcflib install log in same container:

    -- Found BZip2: /usr/lib/x86_64-linux-gnu/libbz2.so (found version "1.0.6")

    Here are some links:

Should this be changed to something like: bzip2_dep = meson.get_compiler('c').find_library('bz2', required : false) or I'm wrong?

Stikus commented 3 years ago

After vcflib installation (mentioned in https://github.com/vcflib/vcflib/issues/303) tests problem fixed:

root@74947168eb24:/soft/freebayes-1.3.3-src/build# ninja test
[0/1] Running all tests.                                    
1/5 T00  OK             0.23s                               
2/5 T01  OK             19.29s                              
3/5 T01b OK             9.91s                               
4/5 T02  OK             0.28s                               
5/5 T03  OK             0.13s                               

Ok:                 5                                       
Expected Fail:      0                                       
Fail:               0                                       
Unexpected Pass:    0                                       
Skipped:            0                                       
Timeout:            0                                       

Just for info.

pjotrp commented 3 years ago

Thanks, we should add it to the docs

jnumm commented 3 years ago

Note that in 3c92c0f15d422169f0a8ec5967f19e587e8b150c I removed bzip2_dep from meson.build altogether as it was not used.

BJWiley233 commented 3 years ago

I also have these missing library dependencies. I have htslib, vcflib, and tabix all installed. How do I tell ninja where these libraries are?

Run-time dependency htslib found: NO (tried pkgconfig and cmake)
Library tabixpp found: NO
Run-time dependency libvcflib found: NO (tried pkgconfig and cmake)
Run-time dependency libseqlib found: NO (tried pkgconfig and cmake)
pjotrp commented 3 years ago

@BJWiley233 Are you using the latest tree right now? And are you on Debian?

pjotrp commented 3 years ago

And what does

pkg-config --list-all

say?

BJWiley233 commented 3 years ago

I am running on my schools server. It is "Centos V7" on Linux. I do not have admin rights so I just install everything locally if I need an update. It's not the best model but my admins don't really do anything to help add stuff. I have htslib installed in a tools directory in my $HOME which contains tabix and also bcftools and vcflib all installed in my home directory and I usually link them when compiling other programs with cmake and make. This is my output from pkg-config --list-all. Maybe I should just use the pre-compiled binary? Does this binary have the fix for the QA and QS float issue?

zlib                zlib - zlib compression library
xfixes              Xfixes - X Fixes  Library
xf86dgaproto        XF86DGAProto - XF86DGA extension headers
kdb                 kdb - Kerberos database access libraries
xcb-composite       XCB Composite - XCB Composite Extension
randrproto          RandrProto - Randr extension headers
libpng15            libpng - Loads and saves PNG files
menu                menu - ncurses 5.9 add-on library
xcb-xevie           XCB Xevie - XCB Xevie Extension
libva-glx           libva-glx - Userspace Video Acceleration (VA) glx interface
libselinux          libselinux - SELinux utility library
tbbmalloc_proxy     Threading Building Blocks Scallable Malloc Proxy - Implementation of proxy that redirects memory allocation calls to TBB Scalable Memory Allocator
fontsproto          FontsProto - Fonts extension headers
xau                 Xau - X authorization file management libary
dmxproto            DMXProto - DMX extension headers
xcb-damage          XCB Damage - XCB Damage Extension
libyami             libyami - Intel open source media infrastructure base on libva.
libpcre2-16         libpcre2-16 - PCRE2 - Perl compatible regular expressions C library (2nd API) with 16 bit character support
uuid                uuid - Universally unique id library
xcb-xvmc            XCB XvMC - XCB XvMC Extension
xf86miscproto       XF86MiscProto - XF86Misc extension headers
libdrm              libdrm - Userspace interface to kernel DRM services
panelw              panelw - ncurses 5.9 add-on library
presentproto        PresentProto - Present extension headers
xproxymngproto      XProxyManagementProtocol - X Proxy Management Protocol headers
fontutil            FontUtil - Font utilities dirs
glproto             GLProto - GL extension headers
wayland-client      Wayland Client - Wayland client side library
libpcrecpp          libpcrecpp - PCRECPP - C++ wrapper for PCRE
libsepol            libsepol - SELinux policy library
libffi              libffi - Library supporting Foreign Function Interfaces
libdrm_nouveau      libdrm_nouveau - Userspace interface to nouveau kernel DRM services
xrender             Xrender - X Render Library
libva               libva - Userspace Video Acceleration (VA) core interface
wayland-server      Wayland Server - Server side implementation of the Wayland protocol
krb5                krb5 - An implementation of Kerberos network authentication
bigreqsproto        BigReqsProto - BigReqs extension headers
icu-io              icu-io - International Components for Unicode: Stream and I/O Library
xproto              Xproto - Xproto headers
liblzma             liblzma - General purpose data compression library
xext                Xext - Misc X Extension Library
xcb                 XCB - X-protocol C Binding
libRmath            libRmath - The Rmath function library
xcb-record          XCB Record - XCB Record Extension
pthread-stubs       pthread stubs - Stubs missing from libc for standard pthread functions
xcb-xtest           XCB XTEST - XCB XTEST Extension
videoproto          VideoProto - Video extension headers
python-2.7          Python - Python library
xcb-randr           XCB RandR - XCB RandR Extension
renderproto         RenderProto - Render extension headers
systemd             systemd - systemd System and Service Manager
xcb-present         XCB Present - XCB Present Extension
menuw               menuw - ncurses 5.9 add-on library
libssl              OpenSSL-libssl - Secure Sockets Layer and cryptography libraries
gnome-keybindings   gnome-keybindings - Keybindings configuration for GNOME applications
libpcre2-32         libpcre2-32 - PCRE2 - Perl compatible regular expressions C library (2nd API) with 32 bit character support
openssl             OpenSSL - Secure Sockets Layer and cryptography libraries and tools
libxml-2.0          libXML - libXML library version2.
fixesproto          FixesProto - X Fixes extension headers
dracut              dracut - dracut
xcb-sync            XCB Sync - XCB Sync Extension
egl                 egl - Mesa EGL library
ncurses             ncurses - ncurses 5.9 library
python              Python - Python library
expat               expat - expat XML parser
xcb-xv              XCB Xv - XCB Xv Extension
xcb-shm             XCB Shm - XCB Shm Extension
x11-xcb             X11 XCB - X Library XCB interface
xcb-shape           XCB Shape - XCB Shape Extension
wayland-egl-backend wayland-egl-backend - Backend wayland-egl interface
xcb-xkb             XCB XKB - XCB Keyboard Extension (EXPERIMENTAL)
dri3proto           DRI3Proto - DRI3 extension headers
damageproto         DamageProto - Damage extension headers
libR                libR - R as a library
krb5-gssapi         krb5-gssapi - Kerberos implementation of the GSSAPI
x11                 X11 - X Library
xdamage             Xdamage - X Damage  Library
usbutils            usbutils - USB device database
tinfo               tinfo - ncurses 5.9 terminal interface library
sqlite3             SQLite - SQL database engine
kbproto             KBProto - KB extension headers
xcb-xinput          XCB XInput - XCB XInput Extension (EXPERIMENTAL)
xcb-dri2            XCB DRI2 - XCB DRI2 Extension
xcb-dri3            XCB DRI3 - XCB DRI3 Extension
xcb-xinerama        XCB Xinerama - XCB Xinerama Extension
ncurses++w          ncurses++w - ncurses 5.9 add-on library
compositeproto      CompositeExt - Composite extension headers
xf86driproto        XF86DRIProto - XF86DRI extension headers
libpcre2-8          libpcre2-8 - PCRE2 - Perl compatible regular expressions C library (2nd API) with 8 bit character support
xcb-xselinux        XCB SELinux - XCB SELinux Extension
libdrm_amdgpu       libdrm_amdgpu - Userspace interface to kernel DRM services for amdgpu
dri2proto           DRI2Proto - DRI2 extension headers
tbbmalloc           Threading Building Blocks Scalable Allocator - Implementation of Scalable Memory Allocator of Threading Building Blocks
xxf86vm             Xxf86vm - XFree86 Video Mode Extension Library
icu-le              icu-le - International Components for Unicode: Layout library
libpcre16           libpcre16 - PCRE - Perl compatible regular expressions C library with 16 bit character support
mit-krb5-gssapi     mit-krb5-gssapi - Kerberos implementation of the GSSAPI
inputproto          InputProto - Input extension headers
resourceproto       ResourceProto - Resource extension headers
libdrm_radeon       libdrm_radeon - Userspace interface to kernel DRM services for radeon
xextproto           XExtProto - XExt extension headers
bash-completion     bash-completion - programmable completion for the bash shell
libpng              libpng - Loads and saves PNG files
xcb-dpms            XCB DPMS - XCB DPMS Extension
fontconfig          Fontconfig - Font configuration and customization library
libva-egl           libva-egl - Userspace Video Acceleration (VA) egl interface
ncurses++           ncurses++ - ncurses 5.9 add-on library
libcrypto           OpenSSL-libcrypto - OpenSSL cryptography library
python2             Python - Python library
form                form - ncurses 5.9 add-on library
com_err             com_err - Common error description library
icu-lx              icu-lx - International Components for Unicode: Paragraph Layout library
libpcreposix        libpcreposix - PCREPosix - Posix compatible interface to libpcre
libcurl             libcurl - Library to transfer files with ftp, http, etc.
wayland-cursor      Wayland Cursor - Wayland cursor helper library
tic                 tic - ncurses 5.9 add-on library
xf86vidmodeproto    XF86VidModeProto - XF86VidMode extension headers
wayland-scanner     Wayland Scanner - Wayland scanner
xcb-res             XCB Res - XCB X-Resource Extension
xcmiscproto         XCMiscProto - XCMisc extension headers
scrnsaverproto      ScrnSaverProto - ScrnSaver extension headers
xft                 Xft - X FreeType library
libdrm_intel        libdrm_intel - Userspace interface to intel kernel DRM services
libpcre2-posix      libpcre2-posix - Posix compatible interface to libpcre2-8
ruby                Ruby - Object Oriented Script Language
libva-x11           libva-x11 - Userspace Video Acceleration (VA) x11 interface
xineramaproto       XineramaProto - Xinerama extension headers
wayland-egl         wayland-egl - Frontend wayland-egl library
libva-drm           libva-drm - Userspace Video Acceleration (VA) drm interface
icu-uc              icu-uc - International Components for Unicode: Common and Data libraries
tbb                 Threading Building Blocks - The Threading Building Blocks library abstracts low-level threading details
shared-mime-info    shared-mime-info - Freedesktop common MIME database
ncursesw            ncursesw - ncurses 5.9 library
xf86bigfontproto    XF86BigFontProto - XF86BigFont extension headers
recordproto         RecordProto - Record extension headers
xcb-render          XCB Render - XCB Render Extension
kadm-client         kadm-client - Kerberos administration client library
icu-i18n            icu-i18n - International Components for Unicode: Internationalization library
libsqlite3x         sqlite3x - A C++ Wrapper for the SQLite3 embeddable SQL database engine
panel               panel - ncurses 5.9 add-on library
libpcre             libpcre - PCRE - Perl compatible regular expressions C library with 8 bit character support
libpcre32           libpcre32 - PCRE - Perl compatible regular expressions C library with 32 bit character support
libkms              libkms - Library that abstract aways the different mm interface for kernel drivers
libglvnd            libglvnd - Vendor-neutral OpenGL dispatch library vendor interface
freetype2           FreeType 2 - A free, high-quality, and portable font engine.
xcb-xf86dri         XCB XFree86-DRI - XCB XFree86-DRI Extension
gssrpc              gssrpc - GSSAPI RPC implementation
formw               formw - ncurses 5.9 add-on library
libverto            libverto - Event loop abstraction interface
mit-krb5            mit-krb5 - An implementation of Kerberos network authentication
xcb-screensaver     XCB Screensaver - XCB Screensaver Extension
tre                 TRE - TRE regexp matching library
libva-tpi           libva-tpi - Userspace Video Acceleration (VA) 3rd party interface
evieproto           EvIEExt - EvIE extension headers
xcb-xfixes          XCB XFixes - XCB XFixes Extension
xcb-glx             XCB GLX - XCB GLX Extension
kadm-server         kadm-server - Kerberos administration server library
udev                udev - udev
libva-wayland       libva-wayland - Userspace Video Acceleration (VA) wayland interface
pjotrp commented 3 years ago

pkg-config does most of the finding, so it is not surprising it is not working. You can, indeed, use the supplied binary. It is the latest version.

pjotrp commented 3 years ago

Oh wait, there is no binary. Sorry about that because I need to compile a static one and have not succeeded so far. How urgent is this, we could try to fix this together.

BJWiley233 commented 3 years ago

Not that urgent. I will actually talk to my PI about doing some phasing and I thought it could be beneficial to use "gvcfs" for tumour data. I am pretty new at phasing so not sure if that is even something that is done, phasing "gvcf" data.

pjotrp commented 3 years ago

OK, we have two options. I create a static binary or we try to build on your system by supplying arguments to meson/ninja. If you want to help send me an email pjotr dot public 13 at thebird.nl so we can communicate a bit easier.

BJWiley233 commented 3 years ago

Sounds good. I would love to learn how to add static libraries to meson/ninja. Ill send email now. I may not reply until later as I work overnight so going to sleep soon.

pjotrp commented 3 years ago

I think it should build correclty if you do a full git recursive checkout of the repository.

See https://github.com/freebayes/freebayes#development

BJWiley233 commented 3 years ago

The code in meson.build looks good. It finds sets htlib dependency fine but not sure why tabixpp, libvcflib, and libseqlib still are not found.

Run-time dependency htslib found: YES @-PACKAGE_VERSION@
Library tabixpp found: NO
Found CMake: /export/home/bwiley4/bin/cmake (3.18.3)
Run-time dependency libvcflib found: NO (tried pkgconfig and cmake)
Run-time dependency libseqlib found: NO (tried pkgconfig and cmake)
Stikus commented 3 years ago

tabixpp is not tabix. Look here - maybe you have the same problem: https://github.com/vcflib/vcflib/issues/303

BJWiley233 commented 3 years ago

Can this be installed locally and linked? I don't have admin rights on my server.

Stikus commented 3 years ago

According to last line: https://github.com/vcflib/vcflib/issues/303#issuecomment-750409535 I think yes. But @pjotrp for sure can help more than me.

jnumm commented 3 years ago

The code in meson.build looks good. It finds sets htlib dependency fine but not sure why tabixpp, libvcflib, and libseqlib still are not found.

You need to ignore the big fat NO in this case.

Move on to the ninja step (cd build && ninja or simply ninja -C build/) where ninja is supposed to compile the missing libraries using the git submodules that are provided with freebayes git checkout.

BJWiley233 commented 3 years ago

Ah I knew I should have posted that output initially above. So when I run ninja I get:

FAILED: libcustom_seqlib.a.p/contrib_SeqLib_src_ssw.c.o
cc -Ilibcustom_seqlib.a.p -I. -I.. -I../vcflib/src -I../vcflib/smithwaterman -I../vcflib/multichoose -I../vcflib/filevercmp -I../vcflib/fastahack -I../contrib -I../contrib/SeqLib -pipe -D_FILE_OFFSET_BITS=64 -g -fPIC -MD -MQ libcustom_seqlib.a.p/contrib_SeqLib_src_ssw.c.o -MF libcustom_seqlib.a.p/contrib_SeqLib_src_ssw.c.o.d -o libcustom_seqlib.a.p/contrib_SeqLib_src_ssw.c.o -c ../contrib/SeqLib/src/ssw.c
In file included from ../vcflib/src/simde/x86/sse2.h:35:0,
                 from ../contrib/SeqLib/src/ssw.c:39:

...some more compile lines with some Warnings no errors
ninja: build stopped: subcommand failed.

The cc on my server is old: cc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-44) I installed newer gcc version 9.3 but that is only when command gcc is used to compile and not cc Does that make any difference?

pjotrp commented 3 years ago

Please don't use an old compiler ;)

You can override the paths by setting CXX and CC. See https://github.com/freebayes/freebayes#compilation

BJWiley233 commented 3 years ago

Thanks I set CC to path of GCC-9.3.0/bin/gcc. Got to step 47/48 and saw failing of "Linking target". I am hoping I can solve by setting LD_LIBRARY_PATH?

[47/48] Linking target bamleftalign
FAILED: bamleftalign 
c++  -o bamleftalign bamleftalign.p/src_bamleftalign.cpp.o -Wl,--as-needed -Wl,--no-undefined -Wl,--start-group libfreebayes_common.a libcustom_tabixpp.a libcustom_vcflib.a libcustom_seqlib.a /usr/lib64/libz.so /usr/lib64/liblzma.so -pthread /export/home/bwiley4/tools/htslib/libhts.so -Wl,--end-group -Wl,-rpath,/export/home/bwiley4/tools/htslib -Wl,-rpath-link,/export/home/bwiley4/tools/htslib
libcustom_seqlib.a(contrib_SeqLib_src_BamReader.cpp.o): In function `SeqLib::_Bam::open_BAM_for_reading(SeqLib::ThreadPool)':
/export/home/bwiley4/tools/freebayes/build/../contrib/SeqLib/src/BamReader.cpp:216: undefined reference to `bam_hdr_destroy'
libcustom_seqlib.a(contrib_SeqLib_src_BamHeader.cpp.o): In function `SeqLib::BamHeader::BamHeader(std::vector<SeqLib::HeaderSequence, std::allocator<SeqLib::HeaderSequence> > const&)':
/export/home/bwiley4/tools/freebayes/build/../contrib/SeqLib/src/BamHeader.cpp:14: undefined reference to `bam_hdr_init'
libcustom_seqlib.a(contrib_SeqLib_src_BamHeader.cpp.o): In function `SeqLib::BamHeader::BamHeader(bam_hdr_t const*)':
/export/home/bwiley4/tools/freebayes/build/../contrib/SeqLib/src/BamHeader.cpp:72: undefined reference to `bam_hdr_dup'
libcustom_seqlib.a(contrib_SeqLib_src_BamHeader.cpp.o): In function `bam_hdr_delete::operator()(bam_hdr_t*)':
/export/home/bwiley4/tools/freebayes/build/../contrib/SeqLib/SeqLib/BamWalker.h:34: undefined reference to `bam_hdr_destroy'
collect2: error: ld returned 1 exit status
pjotrp commented 3 years ago

Oh wait, that error is actually related to htslib. The problem is that SeqLib uses a different include file. Are you using the latest git checkout of freebayes? There are two htslibs in view. htslib already installed on your system but Seqlib is not using its include files. If you confirm you are using the latest freebayes git repo I can have a look.

BJWiley233 commented 3 years ago

Yea i noticed it used my own htslib which was weird. Yes I checked the latest.

pjotrp commented 3 years ago

Can you email me the full output log of the build? It is in your build directory. Is your intention to build with the htslib on the system or the one in contrib/htslib? I may need to add a switch for the latter when the system says it has htslib.

BJWiley233 commented 3 years ago

I will email. Most people use system install of htslib or with programs that use make/cmake I just just -I and -L flags to CFLAGS and CXXFLAGS

BJWiley233 commented 3 years ago

Ok I got ninja to finish. I mistakenly actually set my PKG_CONFIG_PATH to htslib library. I do see a familiar error when I run freebayes now:

./freebayes: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by ./freebayes)
./freebayes: /usr/lib64/libstdc++.so.6: version `CXXABI_1.3.8' not found (required by ./freebayes)
./freebayes: /usr/lib64/libstdc++.so.6: version `CXXABI_1.3.9' not found (required by ./freebayes)
./freebayes: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.26' not found (required by ./freebayes)
./freebayes: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by ./freebayes)
BJWiley233 commented 3 years ago

Ok this is the familiar Anaconda environment and LD_PATH issue that I solved before. High-5! I got it installed. Time for bed :)

pjotrp commented 3 years ago

Woot! Mission accomplished.

pjotrp commented 3 years ago

@jnumm if someone wants to override the system/distro pkg-config htslib for the one in ./config/htslib submodule what would be the best way to tell meson? I can see this happen when htslib is really old on the underlying system. With autotools it would be a configure switch. I can also imagine adding a pkg-config .pc file in ./contrib/htslib.pc that is added to the PKG_CONFIG_PATH.

What would be the most elegant way to handle that?