iqbal-lab-org / minos

Variant call adjudication
MIT License
16 stars 5 forks source link

Compatibility issues between minos' gramtools.py script and gramtools' command #119

Closed ycode-sh closed 1 year ago

ycode-sh commented 2 years ago

I have not been able to successfully use minos as a result of errors associated with dependencies. Particularly, the options passed to gramtools when running "minos adjudicator" seems to be incorrect and often return an error. For example, the run_gramtools function in the minos/gramtools.py script specifies "quasimap" command. This is not recognized by gramtools and thus stops the run.

Already, I have spent several hours trying to detect and troubleshoot but still couldn't resolve the issues. Can anyone please help?

iqbal-lab commented 2 years ago

Hi there, can you explain how you installed minos? Version, method, etc?

ycode-sh commented 2 years ago

Thanks for your reply. First, I cloned the git repository and then installed with pip3 install. Then I tried running minos with my data and the "new" test data provided provided but gramtools always returned error. Second, I downloaded the tarball on the repository and installed according to instruction given but the problem persisted. PS: All dependencies are installed.

ycode-sh commented 2 years ago

I installed minos version 0.12.4

martinghunt commented 2 years ago

Which version of gramtools did you install? Minos needs commit 8af53f6c8c0d72ef95223e89ab82119b717044f2 of gramtools.

ycode-sh commented 2 years ago

I installed gramtools version 1.10.0

iqbal-lab commented 2 years ago

That would explain your problem then, minos needs commit 8af53f6c8c0d72ef95223e89ab82119b717044f2

ycode-sh commented 2 years ago

Thanks a lot. I have searched through the ten versions of gramtools and their respective commits. None had 8af53f6c8c0d72ef95223e89ab82119b717044f2 commit. Please can you help me with how to find the specific commit?

martinghunt commented 2 years ago
git clone https://github.com/iqbal-lab-org/gramtools
cd gramtools
git checkout 8af53f6c8c0d72ef95223e89ab82119b717044f2
ycode-sh commented 2 years ago

Thank you so much. I started working on it immediately you sent the solution. Indeed I was able to checkout the hash code but afterwards ran into a series of new problems. First, gramtools couldn't install properly again. Second, I tried running "minos adjudicate" with some of my data and ran into an error that has to do with "vt normalize", even though vt has been properly installed. I then used the test data but got an error referring me to the "run_gramtools" function in the gramtools.py script. I've been on this for the past 5 hours now. Please help me out

ycode-sh commented 2 years ago

git clone https://github.com/iqbal-lab-org/gramtools cd gramtools git checkout 8af53f6c8c0d72ef95223e89ab82119b717044f2 After running the commands above, I ran the following; bash ./gramtools/travis_build.sh pip install ./gramtools

I am not sure I did the right thing.

martinghunt commented 2 years ago

I recommend using Singularity or Docker if possible, because it means you don't have to do any of this stuff.

That said, to install gramtools, this should work:

git clone https://github.com/iqbal-lab-org/gramtools
cd gramtools
git checkout 8af53f6c8c0d72ef95223e89ab82119b717044f2
pip3 install .

If the last command doesn't work, then this should work (it is what the singularity and docker builds do):

git clone https://github.com/iqbal-lab-org/gramtools
cd gramtools
git checkout 8af53f6c8c0d72ef95223e89ab82119b717044f2
mkdir cmake-build
cd cmake-build
cmake .. -DCMAKE_BUILD_TYPE=REL_WITH_ASSERTS
make gram
cd ..
pip3 install -e .

The commands used for the build are all in this file: https://github.com/iqbal-lab-org/minos/blob/master/.ci/install_dependencies.sh

ycode-sh commented 2 years ago

Thank you very much. I will try it out and if it doesn't work, I will use the docket container just as you suggested. Thanks a lot

ycode-sh commented 2 years ago

Eventually, minos worked perfectly on docker. However, I'm using minos in a workflow that includes many other tools. To be sure the workflow works properly, I first have to test-run it locally, and thus need minos be installable locally too. I have tried following the installation protocol using the code contained in https://github.com/iqbal-lab-org/minos/blob/master/.ci/install_dependencies.sh but failed. The challenge has been with installing gram tools ( during the py-cortex-api build stage) and this is really frustrating. @martinghunt and @iqbal-lab please assist me.

ycode-sh commented 2 years ago

![Uploading 16683364195976951008292534107082.jpg…]()

ycode-sh commented 2 years ago

![Uploading 16683365514596457913364594174260.jpg…]()

martinghunt commented 1 year ago

Sorry, what are the compile errors? The files you've uploaded are not showing

ycode-sh commented 1 year ago

pip3 install -e . Obtaining file:///home/yemi_codes/gramtools Preparing metadata (setup.py) ... done Requirement already satisfied: scipy>=1.0.1 in /home/yemi_codes/miniconda3/lib/python3.9/site-packages (from gramtools==1.6.0) (1.9.3) Requirement already satisfied: pyvcf>=0.6.8 in /home/yemi_codes/miniconda3/lib/python3.9/site-packages (from gramtools==1.6.0) (0.6.8) Collecting py-cortex-api>=1.0 Using cached py-cortex-api-2.2.1.tar.gz (17 kB) Preparing metadata (setup.py) ... done Requirement already satisfied: cluster_vcf_records>=0.9.2 in /home/yemi_codes/miniconda3/lib/python3.9/site-packages (from gramtools==1.6.0) (0.13.3) Requirement already satisfied: bitarray in /home/yemi_codes/miniconda3/lib/python3.9/site-packages (from cluster_vcf_records>=0.9.2->gramtools==1.6.0) (2.6.0) Requirement already satisfied: pysam in /home/yemi_codes/miniconda3/lib/python3.9/site-packages (from cluster_vcf_records>=0.9.2->gramtools==1.6.0) (0.20.0) Requirement already satisfied: pyfastaq>=3.14.0 in /home/yemi_codes/miniconda3/lib/python3.9/site-packages (from cluster_vcf_records>=0.9.2->gramtools==1.6.0) (3.17.0) Requirement already satisfied: biopython==1.76 in /home/yemi_codes/miniconda3/lib/python3.9/site-packages (from py-cortex-api>=1.0->gramtools==1.6.0) (1.76) Requirement already satisfied: numpy in /home/yemi_codes/miniconda3/lib/python3.9/site-packages (from biopython==1.76->py-cortex-api>=1.0->gramtools==1.6.0) (1.23.4) Requirement already satisfied: setuptools in /home/yemi_codes/miniconda3/lib/python3.9/site-packages (from pyvcf>=0.6.8->gramtools==1.6.0) (65.5.1) Building wheels for collected packages: py-cortex-api Building wheel for py-cortex-api (setup.py) ... error error: subprocess-exited-with-error

× python setup.py bdist_wheel did not run successfully. │ exit code: 255 ╰─> [30 lines of output] running bdist_wheel running build running build_py START: Building backend dependencies Cloning into 'minimap2'... Note: switching to 'v2.17'.

  You are in 'detached HEAD' state. You can look around, make experimental
  changes and commit them, and you can discard any commits you make in this
  state without impacting any branches by switching back to a branch.

  If you want to create a new branch to retain commits you create, you may
  do so (now or later) by using -c with the switch command. Example:

    git switch -c <new-branch-name>

  Or undo this operation with:

    git switch -

  Turn off this advice by setting config variable advice.detachedHead to false

  HEAD is now at 7bc87b4 Release minimap2-2.17 (r941)
  bseq.c:1:10: fatal error: zlib.h: No such file or directory
      1 | #include <zlib.h>
        |          ^~~~~~~~
  compilation terminated.
  make: *** [Makefile:29: bseq.o] Error 1

  ERROR: backend compilation failed 2
  [end of output]

note: This error originates from a subprocess, and is likely not a problem with pip. ERROR: Failed building wheel for py-cortex-api Running setup.py clean for py-cortex-api Failed to build py-cortex-api Installing collected packages: py-cortex-api, gramtools Running setup.py install for py-cortex-api ... error error: subprocess-exited-with-error

× Running setup.py install for py-cortex-api did not run successfully. │ exit code: 255 ╰─> [80 lines of output] running install /home/yemi_codes/miniconda3/lib/python3.9/site-packages/setuptools/command/install.py:34: SetuptoolsDeprecationWarning: setup.py install is deprecated. Use build and pip and other standards-based tools. warnings.warn( running build running build_py START: Building backend dependencies --2022-11-15 15:01:35-- https://github.com/vcftools/vcftools/releases/download/v0.1.15/vcftools-0.1.15.tar.gz Resolving github.com (github.com)... 140.82.121.4 Connecting to github.com (github.com)|140.82.121.4|:443... connected. HTTP request sent, awaiting response... 302 Found Location: https://objects.githubusercontent.com/github-production-release-asset-2e65be/38052058/2e0f4764-22d4-11e7-8512-08df6111866d?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20221115%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20221115T140136Z&X-Amz-Expires=300&X-Amz-Signature=7482053d3ae70f3187bf9a2fedac72580c7028cbb14ed9f3f4e8bceb2835bcc5&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=38052058&response-content-disposition=attachment%3B%20filename%3Dvcftools-0.1.15.tar.gz&response-content-type=application%2Foctet-stream [following] --2022-11-15 15:01:36-- https://objects.githubusercontent.com/github-production-release-asset-2e65be/38052058/2e0f4764-22d4-11e7-8512-08df6111866d?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20221115%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20221115T140136Z&X-Amz-Expires=300&X-Amz-Signature=7482053d3ae70f3187bf9a2fedac72580c7028cbb14ed9f3f4e8bceb2835bcc5&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=38052058&response-content-disposition=attachment%3B%20filename%3Dvcftools-0.1.15.tar.gz&response-content-type=application%2Foctet-stream Resolving objects.githubusercontent.com (objects.githubusercontent.com)... 185.199.111.133, 185.199.108.133, 185.199.110.133, ... Connecting to objects.githubusercontent.com (objects.githubusercontent.com)|185.199.111.133|:443... connected. HTTP request sent, awaiting response... 200 OK Length: 481398 (470K) [application/octet-stream] Saving to: ‘vcftools-0.1.15.tar.gz’

       0K .......... .......... .......... .......... .......... 10%  234K 2s
      50K .......... .......... .......... .......... .......... 21%  337K 1s
     100K .......... .......... .......... .......... .......... 31% 2.38M 1s
     150K .......... .......... .......... .......... .......... 42% 1.26M 1s
     200K .......... .......... .......... .......... .......... 53%  650K 0s
     250K .......... .......... .......... .......... .......... 63%  715K 0s
     300K .......... .......... .......... .......... .......... 74% 3.43M 0s
     350K .......... .......... .......... .......... .......... 85% 2.07M 0s
     400K .......... .......... .......... .......... .......... 95% 4.95M 0s
     450K .......... ..........                                 100% 13.5M=0.6s

  2022-11-15 15:01:37 (762 KB/s) - ‘vcftools-0.1.15.tar.gz’ saved [481398/481398]

  Cloning into 'cortex'...
  Note: switching to 'c8147152cd4015c45057900e8fb600376d1d7fb3'.

  You are in 'detached HEAD' state. You can look around, make experimental
  changes and commit them, and you can discard any commits you make in this
  state without impacting any branches by switching back to a branch.

  If you want to create a new branch to retain commits you create, you may
  do so (now or later) by using -c with the switch command. Example:

    git switch -c <new-branch-name>

  Or undo this operation with:

    git switch -

  Turn off this advice by setting config variable advice.detachedHead to false

  HEAD is now at c8147152 Merge pull request #30 from martinghunt/arm_compile
  In file included from bgzf.c:32:
  bgzf.h:33:10: fatal error: zlib.h: No such file or directory
     33 | #include <zlib.h>
        |          ^~~~~~~~
  compilation terminated.
  make[1]: *** [Makefile:18: bgzf.o] Error 1
  make: *** [Makefile:18: lib] Error 1
  In file included from string_buffer.c:35:
  string_buffer.h:31:10: fatal error: zlib.h: No such file or directory
     31 | #include <zlib.h> // needed for gzFile
        |          ^~~~~~~~
  compilation terminated.
  make: *** [Makefile:15: all] Error 1
  /bin/sh: 1: [[: not found
  /bin/sh: 1: [[: not found
  In file included from ../htslib/htslib/hts.h:7,
                   from seq_file.c:28:
  ../htslib/htslib/bgzf.h:33:10: fatal error: zlib.h: No such file or directory
     33 | #include <zlib.h>
        |          ^~~~~~~~
  compilation terminated.
  make: *** [Makefile:39: seq_file.o] Error 1
  In file included from src/alignment_cmdline.c:21:
  libs/seq_file/seq_file.h:17:10: fatal error: zlib.h: No such file or directory
     17 | #include <zlib.h>
        |          ^~~~~~~~
  compilation terminated.
  make: *** [Makefile:29: src/alignment_cmdline.o] Error 1

  ERROR: backend compilation failed 2
  [end of output]

note: This error originates from a subprocess, and is likely not a problem with pip. error: legacy-install-failure

× Encountered error while trying to install package. ╰─> py-cortex-api

note: This is an issue with the package mentioned above, not pip. hint: See above for output from the failure.

ycode-sh commented 1 year ago

Here is the error message returned. I tried two different PCs but got the same error message

martinghunt commented 1 year ago
  bgzf.h:33:10: fatal error: zlib.h: No such file or directory
     33 | #include <zlib.h>

That means that zlib is not installed. The container build installs a bunch of dependencies (including zlib with apt-get install zlib1g-dev). It's using Ubuntu, so how and what you need to install will depend on your OS.

apt-get install -y \
  build-essential \
  cmake \
  automake \
  gcc \
  gdb \
  git \
  openjdk-17-jre \
  liblzma-dev \
  libcurl4-gnutls-dev \
  libbz2-dev \
  libhts-dev \
  libssl-dev \
  libjpeg-dev \
  pkg-config \
  python-dev \
  python3 \
  python3-pip \
  python3-setuptools \
  tabix \
  libvcflib-tools \
  wget \
  zlib1g-dev
ycode-sh commented 1 year ago

Thank you very much for your reply. First, my OS is Ubuntu 20.04 and that is why I could follow the installation protocol (as written in the install.dependency.sh file). I was also surprised to get such an error message because I have installed all the dependencies required over and over.
For the benefit of doubt, I ran this again: sudo apt install zlib1g-dev Reading package lists... Done Building dependency tree... Done Reading state information... Done zlib1g-dev is already the newest version (1:1.2.11.dfsg-2ubuntu9.2). 0 upgraded, 0 newly installed, 0 to remove and 35 not upgraded.

leoisl commented 1 year ago

hello @yemistats ,

I might have some new things to try based on the logs you provided. I can see you have zlib1g-dev installed through apt, but gramtools is being installed through pip3, which points to your conda env: /home/yemi_codes/miniconda3/. So there might be some chance that the conda env is not including the default include paths? apt install zlib1g-dev should in principle install zlib header file into /usr/include/, but conda might not be including this dir in the include paths, so gcc fails to find zlib when compiling minimap2/cortex/gramtools. So I am wondering if you could give us some more info. Which output do you get with:

find /usr/include/ -name zlib.h
find /usr/local/include/ -name zlib.h
which python
which python3
which pip
which pip3
find ~/miniconda3/include/ -name zlib.h
ycode-sh commented 1 year ago

Thank you very much for your reply. Running the code above with my conda environment deactivated, that is, conda deactivate, I got the result below yemi_codes@genomics-lab:$ find /usr/include/ -name zlib.h /usr/include/zlib.h yemi_codes@genomics-lab:$ find /usr/local/include/ -name zlib.h yemi_codes@genomics-lab:$ which python yemi_codes@genomics-lab:$ which python3 /usr/bin/python3 yemi_codes@genomics-lab:$ which pip /usr/bin/pip yemi_codes@genomics-lab:$ which pip3 /usr/bin/pip3 yemi_codes@genomics-lab:~$ find /miniconda3/include/ -name zlib.h /home/yemi_codes/miniconda3/include/zlib.h yemi_codes@genomics-lab:$

With my conda environment activated, that is, conda activate, I got this (base) yemi_codes@genomics-lab:$ find /usr/include/ -name zlib.h /usr/include/zlib.h (base) yemi_codes@genomics-lab:$ find /usr/local/include/ -name zlib.h (base) yemi_codes@genomics-lab:$ which python /home/yemi_codes/miniconda3/bin/python (base) yemi_codes@genomics-lab:$ which python3 /home/yemi_codes/miniconda3/bin/python3 (base) yemi_codes@genomics-lab:$ which pip /home/yemi_codes/miniconda3/bin/pip (base) yemi_codes@genomics-lab:$ which pip3 /home/yemi_codes/miniconda3/bin/pip3 (base) yemi_codes@genomics-lab:~$ find ~/miniconda3/include/ -name zlib.h /home/yemi_codes/miniconda3/include/zlib.h

I ran the code this way because I realized that I get different error messages when running minos installation codes with my conda environment activated as against when it is deactivated. So running pip3 install -e . with my conda environment deactivated, I got this

Defaulting to user installation because normal site-packages is not writeable Obtaining file:///home/yemi_codes/gramtools Preparing metadata (setup.py) ... done Requirement already satisfied: cluster_vcf_records>=0.9.2 in /home/yemi_codes/.local/lib/python3.10/site-packages (from gramtools==1.6.0) (0.13.3) Collecting py-cortex-api>=1.0 Using cached py-cortex-api-2.2.1.tar.gz (17 kB) Preparing metadata (setup.py) ... done Collecting pyvcf>=0.6.8 Using cached PyVCF-0.6.8.tar.gz (34 kB) Preparing metadata (setup.py) ... error error: subprocess-exited-with-error

× python setup.py egg_info did not run successfully. │ exit code: 1 ╰─> [1 lines of output] error in PyVCF setup command: use_2to3 is invalid. [end of output]

note: This error originates from a subprocess, and is likely not a problem with pip. error: metadata-generation-failed

× Encountered error while generating package metadata. ╰─> See above for output.

note: This is an issue with the package mentioned above, not pip. hint: See above for details.

Really, everything looks messed up but I will be so grateful to get the problem solved. Thank you very much

leoisl commented 1 year ago

I think in this case it might be simpler to still try to install minos/gramtools with the conda env activated, but could you try installing zlib (conda install -c conda-forge zlib) to your conda env before retrying minos/gramtools installation?

ycode-sh commented 1 year ago

Okay. You mean I should start all over again?

leoisl commented 1 year ago

No, just install zlib and try to resume I think

ycode-sh commented 1 year ago

Oh, I'm so sorry. I already started all over before seeing your message. However, now, I could not move past this stage.
This error message was returned when I ran the build code with my conda environment activated:

(base) yemi_codes@genomics-lab:~/gramtools/cmake-build$ make gram [ 14%] Built target zlib [ 16%] Performing configure step for 'htslib' checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking for ranlib... ranlib checking for special C compiler options needed for large files... no checking for _FILE_OFFSET_BITS value needed for large files... no checking for _LARGEFILE_SOURCE value needed for large files... no checking shared library type for unknown-Linux... plain .so checking how to run the C preprocessor... gcc -E checking for grep that handles long lines and -e... /usr/bin/grep checking for egrep... /usr/bin/grep -E checking for ANSI C header files... yes checking for sys/types.h... yes checking for sys/stat.h... yes checking for stdlib.h... yes checking for string.h... yes checking for memory.h... yes checking for strings.h... yes checking for inttypes.h... yes checking for stdint.h... yes checking for unistd.h... yes checking for stdlib.h... (cached) yes checking for unistd.h... (cached) yes checking for sys/param.h... yes checking for getpagesize... yes checking for working mmap... yes checking for gmtime_r... yes checking for fsync... yes checking for drand48... yes checking whether fdatasync is declared... yes checking for fdatasync... yes checking for library containing log... -lm checking for zlib.h... yes checking for inflate in -lz... yes checking for library containing recv... none required checking for bzlib.h... no checking for BZ2_bzBuffToBuffCompress in -lbz2... yes configure: error: libbzip2 development files not found

The CRAM format may use bzip2 compression, which is implemented in HTSlib by using compression routines from libbzip2 http://www.bzip.org/.

Building HTSlib requires libbzip2 development files to be installed on the build machine; you may need to ensure a package such as libbz2-dev (on Debian or Ubuntu Linux) or bzip2-devel (on RPM-based Linux distributions or Cygwin) is installed.

Either configure with --disable-bz2 (which will make some CRAM files produced elsewhere unreadable) or resolve this error to build HTSlib. make[3]: [libgramtools/CMakeFiles/htslib.dir/build.make:95: libgramtools/htslib-prefix/src/htslib-stamp/htslib-configure] Error 1 make[2]: [CMakeFiles/Makefile2:250: libgramtools/CMakeFiles/htslib.dir/all] Error 2 make[1]: [CMakeFiles/Makefile2:314: libgramtools/CMakeFiles/gram.dir/rule] Error 2 make: [Makefile:202: gram] Error 2

I tried installing libbzip2 but the error persisted (base) yemi_codes@genomics-lab:~/gramtools/cmake-build$ conda install -c anaconda bzip2 Collecting package metadata (current_repodata.json): done Solving environment: done

Package Plan

environment location: /home/yemi_codes/miniconda3

added / updated specs:

The following packages will be SUPERSEDED by a higher-priority channel:

ca-certificates conda-forge::ca-certificates-2022.9.2~ --> anaconda::ca-certificates-2022.07.19-h06a4308_0 None certifi conda-forge/noarch::certifi-2022.9.24~ --> anaconda/linux-64::certifi-2022.6.15-py39h06a4308_0 None

Proceed ([y]/n)? y

Preparing transaction: done Verifying transaction: done Executing transaction: done Retrieving notices: ...working... done

Then I deactivated the conda environment to run the build code again but got this error message:

yemi_codes@genomics-lab:~/gramtools$ mkdir cmake-build cd cmake-build cmake .. -DCMAKE_BUILD_TYPE=REL_WITH_ASSERTS -- The CXX compiler identification is GNU 11.3.0 -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Check for working CXX compiler: /usr/bin/c++ - skipped -- Detecting CXX compile features -- Detecting CXX compile features - done -- Found BZip2: /usr/lib/x86_64-linux-gnu/libbz2.so (found version "1.0.8") -- Looking for BZ2_bzCompressInit -- Looking for BZ2_bzCompressInit - found -- Configuring done -- Generating done -- Build files have been written to: /home/yemi_codes/gramtools/cmake-build yemi_codes@genomics-lab:~/gramtools/cmake-build$ make gram [ 1%] Creating directories for 'zlib' [ 2%] Performing download step for 'zlib' WARNING: timestamping does nothing in combination with -O. See the manual for details.

--2022-11-16 20:39:23-- https://github.com/madler/zlib/archive/v1.2.11.tar.gz Resolving github.com (github.com)... 140.82.121.4 Connecting to github.com (github.com)|140.82.121.4|:443... connected. HTTP request sent, awaiting response... 302 Found Location: https://codeload.github.com/madler/zlib/tar.gz/refs/tags/v1.2.11 [following] --2022-11-16 20:39:24-- https://codeload.github.com/madler/zlib/tar.gz/refs/tags/v1.2.11 Resolving codeload.github.com (codeload.github.com)... 140.82.121.10 Connecting to codeload.github.com (codeload.github.com)|140.82.121.10|:443... connected. HTTP request sent, awaiting response... 200 OK Length: 644492 (629K) [application/x-gzip] Saving to: ‘zlib.tar.gz’

zlib.tar.gz 100%[=================================================================>] 629.39K 517KB/s in 1.2s

2022-11-16 20:39:26 (517 KB/s) - ‘zlib.tar.gz’ saved [644492/644492]

[ 4%] Performing extract_tar step for 'zlib' [ 5%] No update step for 'zlib' [ 7%] No patch step for 'zlib' [ 8%] Performing configure step for 'zlib' Checking for gcc... Checking for shared library support... Building shared library libz.so.1.2.11 with gcc. Checking for size_t... Yes. Checking for off64_t... Yes. Checking for fseeko... Yes. Checking for strerror... Yes. Checking for unistd.h... Yes. Checking for stdarg.h... Yes. Checking whether to use vs[n]printf() or s[n]printf()... using vs[n]printf(). Checking for vsnprintf() in stdio.h... Yes. Checking for return value of vsnprintf()... Yes. Checking for attribute(visibility) support... Yes. [ 10%] Performing build step for 'zlib' cp libz.so.1.2.11 /home/yemi_codes/gramtools/cmake-build/libgramtools/lib chmod 755 /home/yemi_codes/gramtools/cmake-build/libgramtools/lib/libz.so.1.2.11 [ 11%] No install step for 'zlib' [ 13%] No test step for 'zlib' [ 14%] Completed 'zlib' [ 14%] Built target zlib [ 16%] Creating directories for 'htslib' [ 17%] Performing download step for 'htslib' --2022-11-16 20:39:32-- https://github.com/samtools/htslib/releases/download/1.6/htslib-1.6.tar.bz2 Resolving github.com (github.com)... 140.82.121.4 Connecting to github.com (github.com)|140.82.121.4|:443... connected. HTTP request sent, awaiting response... 302 Found Location: https://objects.githubusercontent.com/github-production-release-asset-2e65be/4339773/b81832ac-a472-11e7-9b4e-50a0ed925baa?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20221116%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20221116T193933Z&X-Amz-Expires=300&X-Amz-Signature=d24d26f01abc202f13a73fadd93ccf592dece13ea94f547afdb260b6b316165f&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=4339773&response-content-disposition=attachment%3B%20filename%3Dhtslib-1.6.tar.bz2&response-content-type=application%2Foctet-stream [following] --2022-11-16 20:39:33-- https://objects.githubusercontent.com/github-production-release-asset-2e65be/4339773/b81832ac-a472-11e7-9b4e-50a0ed925baa?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20221116%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20221116T193933Z&X-Amz-Expires=300&X-Amz-Signature=d24d26f01abc202f13a73fadd93ccf592dece13ea94f547afdb260b6b316165f&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=4339773&response-content-disposition=attachment%3B%20filename%3Dhtslib-1.6.tar.bz2&response-content-type=application%2Foctet-stream Resolving objects.githubusercontent.com (objects.githubusercontent.com)... 185.199.111.133, 185.199.110.133, 185.199.109.133, ... Connecting to objects.githubusercontent.com (objects.githubusercontent.com)|185.199.111.133|:443... connected. HTTP request sent, awaiting response... 200 OK Length: 1060747 (1.0M) [application/octet-stream] Saving to: ‘htslib-1.6.tar.bz2’

htslib-1.6.tar.bz2 100%[=================================================================>] 1.01M 906KB/s in 1.1s

2022-11-16 20:39:40 (906 KB/s) - ‘htslib-1.6.tar.bz2’ saved [1060747/1060747]

[ 19%] Performing extract_tar step for 'htslib' [ 20%] No update step for 'htslib' [ 22%] No patch step for 'htslib' [ 23%] Performing configure step for 'htslib' configure: error: cannot find required auxiliary files: config.guess config.sub make[3]: [libgramtools/CMakeFiles/htslib.dir/build.make:95: libgramtools/htslib-prefix/src/htslib-stamp/htslib-configure] Error 1 make[2]: [CMakeFiles/Makefile2:250: libgramtools/CMakeFiles/htslib.dir/all] Error 2 make[1]: [CMakeFiles/Makefile2:314: libgramtools/CMakeFiles/gram.dir/rule] Error 2 make: [Makefile:202: gram] Error 2

I apologize for any inconveniences. I will so glad to have this issue resolved. Thank you so much

ycode-sh commented 1 year ago

No, just install zlib and try to resume I think

(base) yemi_codes@genomics-lab:~/gramtools/cmake-build$ conda install -c conda-forge zlib Collecting package metadata (current_repodata.json): done Solving environment: done

Package Plan

environment location: /home/yemi_codes/miniconda3

added / updated specs:

The following packages will be UPDATED:

ca-certificates anaconda::ca-certificates-2022.07.19-~ --> conda-forge::ca-certificates-2022.9.24-ha878542_0 None certifi anaconda/linux-64::certifi-2022.6.15-~ --> conda-forge/noarch::certifi-2022.9.24-pyhd8ed1ab_0 None

Proceed ([y]/n)? y

Preparing transaction: done Verifying transaction: done Executing transaction: done Retrieving notices: ...working... done

But the error message still came up

leoisl commented 1 year ago

I think this will be easier if we try to install outside of the conda env, because you have all deps already installed, i.e. you've run:

apt-get install -y \
  build-essential \
  cmake \
  automake \
  gcc \
  gdb \
  git \
  openjdk-17-jre \
  liblzma-dev \
  libcurl4-gnutls-dev \
  libbz2-dev \
  libhts-dev \
  libssl-dev \
  libjpeg-dev \
  pkg-config \
  python-dev \
  python3 \
  python3-pip \
  python3-setuptools \
  tabix \
  libvcflib-tools \
  wget \
  zlib1g-dev

If we keep using the conda env, we will need to install all deps through conda. So could you please try:

conda deactivate  # let's try to install minos without conda env
pip3 install setuptools~=57.5.0  # this will fix the last issue you had with trying to install outside of conda env
pip3 install -e .

I think you might need to do this in a clean install (i.e. start all over)

ycode-sh commented 1 year ago

Thank you so much sir. Starting all over, I got this error message at the make gram stage of the build yemi_codes@genomics-lab:~/gramtools$ mkdir cmake-build cd cmake-build cmake .. -DCMAKE_BUILD_TYPE=REL_WITH_ASSERTS make gram -- The CXX compiler identification is GNU 11.3.0 -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Check for working CXX compiler: /usr/bin/c++ - skipped -- Detecting CXX compile features -- Detecting CXX compile features - done -- Found BZip2: /usr/lib/x86_64-linux-gnu/libbz2.so (found version "1.0.8") -- Looking for BZ2_bzCompressInit -- Looking for BZ2_bzCompressInit - found -- Configuring done -- Generating done -- Build files have been written to: /home/yemi_codes/gramtools/cmake-build [ 1%] Creating directories for 'zlib' [ 2%] Performing download step for 'zlib' WARNING: timestamping does nothing in combination with -O. See the manual for details.

--2022-11-16 22:01:09-- https://github.com/madler/zlib/archive/v1.2.11.tar.gz Resolving github.com (github.com)... 140.82.121.4 Connecting to github.com (github.com)|140.82.121.4|:443... connected. HTTP request sent, awaiting response... 302 Found Location: https://codeload.github.com/madler/zlib/tar.gz/refs/tags/v1.2.11 [following] --2022-11-16 22:01:11-- https://codeload.github.com/madler/zlib/tar.gz/refs/tags/v1.2.11 Resolving codeload.github.com (codeload.github.com)... 140.82.121.9 Connecting to codeload.github.com (codeload.github.com)|140.82.121.9|:443... connected. HTTP request sent, awaiting response... 200 OK Length: 644492 (629K) [application/x-gzip] Saving to: ‘zlib.tar.gz’

zlib.tar.gz 100%[=================================================================>] 629.39K 118KB/s in 5.3s

2022-11-16 22:01:17 (118 KB/s) - ‘zlib.tar.gz’ saved [644492/644492]

[ 4%] Performing extract_tar step for 'zlib' [ 5%] No update step for 'zlib' [ 7%] No patch step for 'zlib' [ 8%] Performing configure step for 'zlib' Checking for gcc... Checking for shared library support... Building shared library libz.so.1.2.11 with gcc. Checking for size_t... Yes. Checking for off64_t... Yes. Checking for fseeko... Yes. Checking for strerror... Yes. Checking for unistd.h... Yes. Checking for stdarg.h... Yes. Checking whether to use vs[n]printf() or s[n]printf()... using vs[n]printf(). Checking for vsnprintf() in stdio.h... Yes. Checking for return value of vsnprintf()... Yes. Checking for attribute(visibility) support... Yes. [ 10%] Performing build step for 'zlib' cp libz.so.1.2.11 /home/yemi_codes/gramtools/cmake-build/libgramtools/lib chmod 755 /home/yemi_codes/gramtools/cmake-build/libgramtools/lib/libz.so.1.2.11 [ 11%] No install step for 'zlib' [ 13%] No test step for 'zlib' [ 14%] Completed 'zlib' [ 14%] Built target zlib [ 16%] Creating directories for 'htslib' [ 17%] Performing download step for 'htslib' --2022-11-16 22:01:24-- https://github.com/samtools/htslib/releases/download/1.6/htslib-1.6.tar.bz2 Resolving github.com (github.com)... 140.82.121.4 Connecting to github.com (github.com)|140.82.121.4|:443... connected. HTTP request sent, awaiting response... 302 Found Location: https://objects.githubusercontent.com/github-production-release-asset-2e65be/4339773/b81832ac-a472-11e7-9b4e-50a0ed925baa?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20221116%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20221116T210125Z&X-Amz-Expires=300&X-Amz-Signature=2d09ac47773fcffcc9ae62f465ab3c6889eb8a05a629b0de8801bff4c7ea8761&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=4339773&response-content-disposition=attachment%3B%20filename%3Dhtslib-1.6.tar.bz2&response-content-type=application%2Foctet-stream [following] --2022-11-16 22:01:25-- https://objects.githubusercontent.com/github-production-release-asset-2e65be/4339773/b81832ac-a472-11e7-9b4e-50a0ed925baa?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20221116%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20221116T210125Z&X-Amz-Expires=300&X-Amz-Signature=2d09ac47773fcffcc9ae62f465ab3c6889eb8a05a629b0de8801bff4c7ea8761&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=4339773&response-content-disposition=attachment%3B%20filename%3Dhtslib-1.6.tar.bz2&response-content-type=application%2Foctet-stream Resolving objects.githubusercontent.com (objects.githubusercontent.com)... 185.199.108.133, 185.199.110.133, 185.199.109.133, ... Connecting to objects.githubusercontent.com (objects.githubusercontent.com)|185.199.108.133|:443... connected. HTTP request sent, awaiting response... 200 OK Length: 1060747 (1.0M) [application/octet-stream] Saving to: ‘htslib-1.6.tar.bz2’

htslib-1.6.tar.bz2 100%[=================================================================>] 1.01M 7.07KB/s in 14s

2022-11-16 22:01:46 (73.4 KB/s) - ‘htslib-1.6.tar.bz2’ saved [1060747/1060747]

[ 19%] Performing extract_tar step for 'htslib' [ 20%] No update step for 'htslib' [ 22%] No patch step for 'htslib' [ 23%] Performing configure step for 'htslib' configure: error: cannot find required auxiliary files: config.guess config.sub make[3]: [libgramtools/CMakeFiles/htslib.dir/build.make:95: libgramtools/htslib-prefix/src/htslib-stamp/htslib-configure] Error 1 make[2]: [CMakeFiles/Makefile2:250: libgramtools/CMakeFiles/htslib.dir/all] Error 2 make[1]: [CMakeFiles/Makefile2:314: libgramtools/CMakeFiles/gram.dir/rule] Error 2 make: [Makefile:202: gram] Error 2

leoisl commented 1 year ago

Thanks! There is an incompatibility issue between recent autoconf versions (>=2.70) and older htslib version (see https://github.com/pachterlab/kallisto/issues/303). @martinghunt I think this might break htslib and thus minos build for recent OSes, i.e. that use autoconf version >= 2.70. htslib already has a fix for that, we should update htslib commit in the gramtools version that minos use. @yemistats I think easiest solution is to downgrade autoconf: apt install autoconf=2.69 and retry.

ycode-sh commented 1 year ago

Oh thank you so much. After downgrading autoconf, make gram worked perfectly and gram target was built. But on running pip3 install -e . , I got this error feedback Defaulting to user installation because normal site-packages is not writeable Obtaining file:///home/yemi_codes/gramtools Preparing metadata (setup.py) ... done Collecting scipy>=1.0.1 Downloading scipy-1.9.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (33.7 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 33.7/33.7 MB 1.1 MB/s eta 0:00:00 Collecting pyvcf>=0.6.8 Using cached PyVCF-0.6.8.tar.gz (34 kB) Preparing metadata (setup.py) ... done Collecting py-cortex-api>=1.0 Using cached py-cortex-api-2.2.1.tar.gz (17 kB) Preparing metadata (setup.py) ... done Requirement already satisfied: cluster_vcf_records>=0.9.2 in /home/yemi_codes/.local/lib/python3.10/site-packages (from gramtools==1.6.0) (0.13.3) Requirement already satisfied: bitarray in /home/yemi_codes/.local/lib/python3.10/site-packages (from cluster_vcf_records>=0.9.2->gramtools==1.6.0) (2.6.0) Requirement already satisfied: pysam in /home/yemi_codes/.local/lib/python3.10/site-packages (from cluster_vcf_records>=0.9.2->gramtools==1.6.0) (0.20.0) Requirement already satisfied: pyfastaq>=3.14.0 in /home/yemi_codes/.local/lib/python3.10/site-packages (from cluster_vcf_records>=0.9.2->gramtools==1.6.0) (3.17.0) Requirement already satisfied: biopython==1.76 in /home/yemi_codes/.local/lib/python3.10/site-packages (from py-cortex-api>=1.0->gramtools==1.6.0) (1.76) Requirement already satisfied: numpy in /home/yemi_codes/.local/lib/python3.10/site-packages (from biopython==1.76->py-cortex-api>=1.0->gramtools==1.6.0) (1.23.4) Requirement already satisfied: setuptools in /home/yemi_codes/.local/lib/python3.10/site-packages (from pyvcf>=0.6.8->gramtools==1.6.0) (57.5.0) Building wheels for collected packages: py-cortex-api, pyvcf Building wheel for py-cortex-api (setup.py) ... error error: subprocess-exited-with-error

× python setup.py bdist_wheel did not run successfully. │ exit code: 255 ╰─> [976 lines of output] running bdist_wheel running build running build_py START: Building backend dependencies Cloning into 'minimap2'... Note: switching to 'v2.17'.

  You are in 'detached HEAD' state. You can look around, make experimental
  changes and commit them, and you can discard any commits you make in this
  state without impacting any branches by switching back to a branch.

  If you want to create a new branch to retain commits you create, you may
  do so (now or later) by using -c with the switch command. Example:

    git switch -c <new-branch-name>

  Or undo this operation with:

    git switch -

  Turn off this advice by setting config variable advice.detachedHead to false

  HEAD is now at 7bc87b4 Release minimap2-2.17 (r941)
  index.c: In function ‘mm_idx_load’:
  index.c:495:17: warning: ignoring return value of ‘fread’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
    495 |                 fread(&l, 1, 1, fp);
        |                 ^~~~~~~~~~~~~~~~~~~
  index.c:498:25: warning: ignoring return value of ‘fread’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
    498 |                         fread(s->name, 1, l, fp);
        |                         ^~~~~~~~~~~~~~~~~~~~~~~~
  index.c:501:17: warning: ignoring return value of ‘fread’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
    501 |                 fread(&s->len, 4, 1, fp);
        |                 ^~~~~~~~~~~~~~~~~~~~~~~~
  index.c:510:17: warning: ignoring return value of ‘fread’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
    510 |                 fread(&b->n, 4, 1, fp);
        |                 ^~~~~~~~~~~~~~~~~~~~~~
  index.c:512:17: warning: ignoring return value of ‘fread’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
    512 |                 fread(b->p, 8, b->n, fp);
        |                 ^~~~~~~~~~~~~~~~~~~~~~~~
  index.c:513:17: warning: ignoring return value of ‘fread’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
    513 |                 fread(&size, 4, 1, fp);
        |                 ^~~~~~~~~~~~~~~~~~~~~~
  index.c:520:25: warning: ignoring return value of ‘fread’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
    520 |                         fread(x, 8, 2, fp);
        |                         ^~~~~~~~~~~~~~~~~~
  index.c:528:17: warning: ignoring return value of ‘fread’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
    528 |                 fread(mi->S, 4, (sum_len + 7) / 8, fp);
        |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  hit.c: In function ‘mm_gen_regs’:
  hit.c:74:25: warning: argument 1 range [18446744071562067968, 18446744073709551615] exceeds maximum object size 9223372036854775807 [-Walloc-size-larger-than=]
     74 |         r = (mm_reg1_t*)calloc(n_u, sizeof(mm_reg1_t));
        |                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  In file included from hit.c:2:
  /usr/include/stdlib.h:543:14: note: in a call to allocation function ‘calloc’ declared here
    543 | extern void *calloc (size_t __nmemb, size_t __size)
        |              ^~~~~~
  format.c: In function ‘mm_write_sam3’:
  format.c:391:43: warning: variable ‘this_rev’ set but not used [-Wunused-but-set-variable]
    391 |         int this_rid = -1, this_pos = -1, this_rev = 0;
        |                                           ^~~~~~~~
  ar: `u' modifier ignored since `D' is the default (see `U')
  --2022-11-16 23:20:53--  https://github.com/vcftools/vcftools/releases/download/v0.1.15/vcftools-0.1.15.tar.gz
  Resolving github.com (github.com)... 140.82.121.3
  Connecting to github.com (github.com)|140.82.121.3|:443... connected.
  HTTP request sent, awaiting response... 302 Found
  Location: https://objects.githubusercontent.com/github-production-release-asset-2e65be/38052058/2e0f4764-22d4-11e7-8512-08df6111866d?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20221116%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20221116T222054Z&X-Amz-Expires=300&X-Amz-Signature=c78d5863ea7ba04fe4a72ee6a42796eff49cc21c662d107397d020308fd75713&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=38052058&response-content-disposition=attachment%3B%20filename%3Dvcftools-0.1.15.tar.gz&response-content-type=application%2Foctet-stream [following]
  --2022-11-16 23:20:54--  https://objects.githubusercontent.com/github-production-release-asset-2e65be/38052058/2e0f4764-22d4-11e7-8512-08df6111866d?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20221116%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20221116T222054Z&X-Amz-Expires=300&X-Amz-Signature=c78d5863ea7ba04fe4a72ee6a42796eff49cc21c662d107397d020308fd75713&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=38052058&response-content-disposition=attachment%3B%20filename%3Dvcftools-0.1.15.tar.gz&response-content-type=application%2Foctet-stream
  Resolving objects.githubusercontent.com (objects.githubusercontent.com)... 185.199.111.133, 185.199.110.133, 185.199.109.133, ...
  Connecting to objects.githubusercontent.com (objects.githubusercontent.com)|185.199.111.133|:443... connected.
  HTTP request sent, awaiting response... 200 OK
  Length: 481398 (470K) [application/octet-stream]
  Saving to: ‘vcftools-0.1.15.tar.gz’

       0K .......... .......... .......... .......... .......... 10%  132K 3s
      50K .......... .......... .......... .......... .......... 21%  122M 1s
     100K .......... .......... .......... .......... .......... 31%  251K 1s
     150K .......... .......... .......... .......... .......... 42%  796K 1s
     200K .......... .......... .......... .......... .......... 53%  857K 1s
     250K .......... .......... .......... .......... .......... 63% 1.06M 0s
     300K .......... .......... .......... .......... .......... 74% 1.18M 0s
     350K .......... .......... .......... .......... .......... 85%  688K 0s
     400K .......... .......... .......... .......... .......... 95%  812K 0s
     450K .......... ..........                                 100% 18.8M=0.9s

  2022-11-16 23:20:56 (510 KB/s) - ‘vcftools-0.1.15.tar.gz’ saved [481398/481398]

  bgzf.c: In function ‘bgzf_check_EOF’:
  bgzf.c:60:34: warning: ignoring return value of ‘fread’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
     60 | #define _bgzf_read(fp, buf, len) fread((buf), 1, (len), (FILE*)(fp))
        |                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  bgzf.c:622:9: note: in expansion of macro ‘_bgzf_read’
    622 |         _bgzf_read(fp->fp, buf, 28);
        |         ^~~~~~~~~~
  In file included from knetfile.c:46:
  knetfile.c: In function ‘kftp_send_cmd’:
  knetfile.h:9:32: warning: ignoring return value of ‘write’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
      9 | #define netwrite(fd, ptr, len) write(fd, ptr, len)
        |                                ^~~~~~~~~~~~~~~~~~~
  knetfile.c:236:9: note: in expansion of macro ‘netwrite’
    236 |         netwrite(ftp->ctrl_fd, cmd, strlen(cmd));
        |         ^~~~~~~~
  knetfile.c: In function ‘khttp_connect_file’:
  knetfile.h:9:32: warning: ignoring return value of ‘write’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
      9 | #define netwrite(fd, ptr, len) write(fd, ptr, len)
        |                                ^~~~~~~~~~~~~~~~~~~
  knetfile.c:415:9: note: in expansion of macro ‘netwrite’
    415 |         netwrite(fp->fd, buf, l);
        |         ^~~~~~~~
  Cloning into 'cortex'...
  Note: switching to 'c8147152cd4015c45057900e8fb600376d1d7fb3'.

  You are in 'detached HEAD' state. You can look around, make experimental
  changes and commit them, and you can discard any commits you make in this
  state without impacting any branches by switching back to a branch.

  If you want to create a new branch to retain commits you create, you may
  do so (now or later) by using -c with the switch command. Example:

    git switch -c <new-branch-name>

  Or undo this operation with:

    git switch -

  Turn off this advice by setting config variable advice.detachedHead to false

  HEAD is now at c8147152 Merge pull request #30 from martinghunt/arm_compile
  In file included from knetfile.c:46:
  knetfile.c: In function ‘kftp_send_cmd’:
  knetfile.h:9:32: warning: ignoring return value of ‘write’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
      9 | #define netwrite(fd, ptr, len) write(fd, ptr, len)
        |                                ^~~~~~~~~~~~~~~~~~~
  knetfile.c:236:9: note: in expansion of macro ‘netwrite’
    236 |         netwrite(ftp->ctrl_fd, cmd, strlen(cmd));
        |         ^~~~~~~~
  knetfile.c: In function ‘khttp_connect_file’:
  knetfile.h:9:32: warning: ignoring return value of ‘write’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
      9 | #define netwrite(fd, ptr, len) write(fd, ptr, len)
        |                                ^~~~~~~~~~~~~~~~~~~
  knetfile.c:415:9: note: in expansion of macro ‘netwrite’
    415 |         netwrite(fp->fd, buf, l);
        |         ^~~~~~~~
  hts.c: In function ‘hts_idx_init’:
  hts.c:236:63: warning: overflow in conversion from ‘uint32_t’ {aka ‘unsigned int’} to ‘int’ changes value from ‘idx->z.last_bin = 4294967295’ to ‘-1’ [-Woverflow]
    236 |         idx->z.save_bin = idx->z.save_tid = idx->z.last_tid = idx->z.last_bin = 0xffffffffu;
        |                                                               ^~~
  hts.c: In function ‘hts_idx_load_local’:
  hts.c:621:17: warning: ignoring return value of ‘fread’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
    621 |                 fread(magic, 1, 4, fp);
        |                 ^~~~~~~~~~~~~~~~~~~~~~
  hts.c:622:17: warning: ignoring return value of ‘fread’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
    622 |                 fread(&n, 4, 1, fp);
        |                 ^~~~~~~~~~~~~~~~~~~
  vcf.c: In function ‘bcf_hdr_parse_line2’:
  vcf.c:39:29: warning: overflow in conversion from ‘uint32_t’ {aka ‘unsigned int’} to ‘int’ changes value from ‘*info = 4294967295’ to ‘-1’ [-Woverflow]
     39 |         *id_beg = *id_end = *info = -1;
        |                             ^
  vcf.c: In function ‘bcf_hdr_parse_sample_line’:
  vcf.c:128:14: warning: variable ‘d’ set but not used [-Wunused-but-set-variable]
    128 |     vdict_t *d = (vdict_t*)h->dict[BCF_DT_ID];
        |              ^
  vcf.c: In function ‘vcf_format1’:
  vcf.c:1258:18: warning: variable ‘ptr’ set but not used [-Wunused-but-set-variable]
   1258 |         uint8_t *ptr = (uint8_t*)v->shared.s;
        |                  ^~~
  In file included from /usr/include/string.h:535,
                   from sam.c:2:
  In function ‘strncpy’,
      inlined from ‘bam_hdr_write’ at sam.c:101:2:
  /usr/include/x86_64-linux-gnu/bits/string_fortified.h:95:10: warning: ‘__builtin_strncpy’ output truncated before terminating nul copying 4 bytes from a string of the same length [-Wstringop-truncation]
     95 |   return __builtin___strncpy_chk (__dest, __src, __len,
        |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     96 |                                   __glibc_objsize (__dest));
        |                                   ~~~~~~~~~~~~~~~~~~~~~~~~~
  tbx.c: In function ‘tbx_seqnames’:
  tbx.c:247:5: warning: this ‘for’ clause does not guard... [-Wmisleading-indentation]
    247 |     for (tid=0; tid<m; tid++)
        |     ^~~
  tbx.c:249:9: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘for’
    249 |         *n = m;
        |         ^
  ar: `u' modifier ignored since `D' is the default (see `U')
  In file included from bamshuf.c:7:
  bamshuf.c:47:29: warning: ‘elem_lt’ is static but used in inline function ‘__ks_insertsort_bamshuf’ which is not static
     47 | KSORT_INIT(bamshuf, elem_t, elem_lt)
        |                             ^~~~~~~
  htslib/ksort.h:46:46: note: in definition of macro ‘KSORT_INIT’
     46 |                         for (j = i; j > s && __sort_lt(*j, *(j-1)); --j) {                      \
        |                                              ^~~~~~~~~
  In file included from vcfcheck.c:7:
  htslib/vcfutils.h:75:12: warning: inline function ‘gt_type’ declared but never defined
     75 | inline int gt_type(bcf_fmt_t *fmt_ptr, int isample, int *ial);
        |            ^~~~~~~
  In file included from vcfisec.c:11:
  htslib/vcfutils.h:75:12: warning: inline function ‘gt_type’ declared but never defined
     75 | inline int gt_type(bcf_fmt_t *fmt_ptr, int isample, int *ial);
        |            ^~~~~~~
  In file included from vcfmerge.c:6:
  htslib/vcfutils.h:75:12: warning: inline function ‘gt_type’ declared but never defined
     75 | inline int gt_type(bcf_fmt_t *fmt_ptr, int isample, int *ial);
        |            ^~~~~~~
  vcfmerge.c: In function ‘merge_vcf’:
  vcfmerge.c:991:46: warning: ‘__builtin___snprintf_chk’ output may be truncated before the last format character [-Wformat-truncation=]
    991 |             char buf[10]; snprintf(buf,10,"%d",i+1);
        |                                              ^
  In file included from /usr/include/stdio.h:894,
                   from vcfmerge.c:1:
  /usr/include/x86_64-linux-gnu/bits/stdio2.h:71:10: note: ‘__builtin___snprintf_chk’ output between 2 and 11 bytes into a destination of size 10
     71 |   return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1,
        |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     72 |                                    __glibc_objsize (__s), __fmt,
        |                                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     73 |                                    __va_arg_pack ());
        |                                    ~~~~~~~~~~~~~~~~~
  /usr/bin/ld: vcfcheck.o: in function `do_sample_stats':
  /tmp/pip-install-75jw3aes/py-cortex-api_a68f5c2ab09748d889b1992c643b55a7/cortex/ext/cortex/libs/htslib/vcfcheck.c:358: undefined reference to `gt_type'
  /usr/bin/ld: /tmp/pip-install-75jw3aes/py-cortex-api_a68f5c2ab09748d889b1992c643b55a7/cortex/ext/cortex/libs/htslib/vcfcheck.c:419: undefined reference to `gt_type'
  /usr/bin/ld: /tmp/pip-install-75jw3aes/py-cortex-api_a68f5c2ab09748d889b1992c643b55a7/cortex/ext/cortex/libs/htslib/vcfcheck.c:423: undefined reference to `gt_type'
  /usr/bin/ld: /tmp/pip-install-75jw3aes/py-cortex-api_a68f5c2ab09748d889b1992c643b55a7/cortex/ext/cortex/libs/htslib/vcfcheck.c:459: undefined reference to `gt_type'
  /usr/bin/ld: /tmp/pip-install-75jw3aes/py-cortex-api_a68f5c2ab09748d889b1992c643b55a7/cortex/ext/cortex/libs/htslib/vcfcheck.c:461: undefined reference to `gt_type'
  collect2: error: ld returned 1 exit status
  make: *** [Makefile:21: htscmd] Error 1
  In file included from /usr/include/string.h:535,
                   from string_buffer.c:32:
  In function ‘strncpy’,
      inlined from ‘strbuf_append_strn’ at string_buffer.c:283:3,
      inlined from ‘strbuf_append_str’ at string_buffer.c:275:3:
  /usr/include/x86_64-linux-gnu/bits/string_fortified.h:95:10: warning: ‘__builtin_strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
     95 |   return __builtin___strncpy_chk (__dest, __src, __len,
        |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     96 |                                   __glibc_objsize (__dest));
        |                                   ~~~~~~~~~~~~~~~~~~~~~~~~~
  string_buffer.c: In function ‘strbuf_append_str’:
  string_buffer.c:274:20: note: length computed here
    274 |   size_t str_len = strlen(txt);
        |                    ^~~~~~~~~~~
  ar: `u' modifier ignored since `D' is the default (see `U')
  /bin/sh: 1: [[: not found
  /bin/sh: 1: [[: not found
  ar: `u' modifier ignored since `D' is the default (see `U')
  /bin/sh: 1: [[: not found
  /bin/sh: 1: [[: not found
  /bin/sh: 1: [[: not found
  /bin/sh: 1: [[: not found
  In file included from /usr/include/x86_64-linux-gnu/bits/libc-header-start.h:33,
                   from /usr/include/stdlib.h:26,
                   from src/alignment_cmdline.c:16:
  /usr/include/features.h:194:3: warning: #warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE" [-Wcpp]
    194 | # warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE"
        |   ^~~~~~~
  In file included from /usr/include/x86_64-linux-gnu/bits/libc-header-start.h:33,
                   from /usr/include/stdlib.h:26,
                   from src/alignment_scoring_load.c:13:
  /usr/include/features.h:194:3: warning: #warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE" [-Wcpp]
    194 | # warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE"
        |   ^~~~~~~
  ar: `u' modifier ignored since `D' is the default (see `U')
  In file included from /usr/include/x86_64-linux-gnu/bits/libc-header-start.h:33,
                   from /usr/include/stdlib.h:26,
                   from strbuf_test.c:14:
  /usr/include/features.h:194:3: warning: #warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE" [-Wcpp]
    194 | # warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE"
        |   ^~~~~~~
  In file included from /usr/include/x86_64-linux-gnu/bits/libc-header-start.h:33,
                   from /usr/include/stdlib.h:26,
                   from tools/dna_cat.c:11:
  /usr/include/features.h:194:3: warning: #warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE" [-Wcpp]
    194 | # warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE"
        |   ^~~~~~~
  In file included from /usr/include/x86_64-linux-gnu/bits/libc-header-start.h:33,
                   from /usr/include/stdlib.h:26,
                   from tools/dna_demux.c:12:
  /usr/include/features.h:194:3: warning: #warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE" [-Wcpp]
    194 | # warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE"
        |   ^~~~~~~
  seq_test.c: In function ‘main’:
  seq_test.c:40:9: warning: this statement may fall through [-Wimplicit-fallthrough=]
     40 |         print_usage(argv[0]);
        |         ^~~~~~~~~~~~~~~~~~~~
  seq_test.c:41:7: note: here
     41 |       default: abort();
        |       ^~~~~~~
  ar: `u' modifier ignored since `D' is the default (see `U')
  In file included from /usr/include/x86_64-linux-gnu/bits/libc-header-start.h:33,
                   from /usr/include/stdlib.h:26,
                   from src/alignment_cmdline.c:16:
  /usr/include/features.h:194:3: warning: #warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE" [-Wcpp]
    194 | # warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE"
        |   ^~~~~~~
  In file included from /usr/include/x86_64-linux-gnu/bits/libc-header-start.h:33,
                   from /usr/include/stdlib.h:26,
                   from src/alignment_scoring_load.c:13:
  /usr/include/features.h:194:3: warning: #warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE" [-Wcpp]
    194 | # warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE"
        |   ^~~~~~~
  In file included from /usr/include/x86_64-linux-gnu/bits/libc-header-start.h:33,
                   from /usr/include/stdlib.h:26,
                   from src/tools/nw_cmdline.c:13:
  /usr/include/features.h:194:3: warning: #warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE" [-Wcpp]
    194 | # warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE"
        |   ^~~~~~~
  In file included from /usr/include/x86_64-linux-gnu/bits/libc-header-start.h:33,
                   from /usr/include/stdlib.h:26,
                   from src/alignment_cmdline.c:16:
  /usr/include/features.h:194:3: warning: #warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE" [-Wcpp]
    194 | # warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE"
        |   ^~~~~~~
  In file included from /usr/include/x86_64-linux-gnu/bits/libc-header-start.h:33,
                   from /usr/include/stdlib.h:26,
                   from src/alignment_scoring_load.c:13:
  /usr/include/features.h:194:3: warning: #warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE" [-Wcpp]
    194 | # warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE"
        |   ^~~~~~~
  In file included from /usr/include/x86_64-linux-gnu/bits/libc-header-start.h:33,
                   from /usr/include/stdlib.h:26,
                   from src/tools/sw_cmdline.c:13:
  /usr/include/features.h:194:3: warning: #warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE" [-Wcpp]
    194 | # warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE"
        |   ^~~~~~~
  In file included from /usr/include/x86_64-linux-gnu/bits/libc-header-start.h:33,
                   from /usr/include/stdlib.h:26,
                   from src/alignment_cmdline.c:16:
  /usr/include/features.h:194:3: warning: #warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE" [-Wcpp]
    194 | # warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE"
        |   ^~~~~~~
  In file included from /usr/include/x86_64-linux-gnu/bits/libc-header-start.h:33,
                   from /usr/include/stdlib.h:26,
                   from src/alignment_scoring_load.c:13:
  /usr/include/features.h:194:3: warning: #warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE" [-Wcpp]
    194 | # warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE"
        |   ^~~~~~~
  In file included from /usr/include/x86_64-linux-gnu/bits/libc-header-start.h:33,
                   from /usr/include/stdlib.h:26,
                   from src/tools/lcs_cmdline.c:13:
  /usr/include/features.h:194:3: warning: #warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE" [-Wcpp]
    194 | # warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE"
        |   ^~~~~~~
  In file included from include/cortex_var/many_colours/element.h:45,
                   from include/cortex_var/many_colours/genotyping_element.h:39,
                   from src/cortex_var/many_colours/genotyping_element.c:37:
  include/basic/binary_kmer.h:70:58: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     70 | boolean binary_kmer_comparison_operator(const BinaryKmer const left, const BinaryKmer const right);
        |                                                          ^~~~~
  include/basic/binary_kmer.h:70:87: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     70 | boolean binary_kmer_comparison_operator(const BinaryKmer const left, const BinaryKmer const right);
        |                                                                                       ^~~~~
  include/basic/binary_kmer.h:71:48: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     71 | boolean binary_kmer_less_than(const BinaryKmer const left, const BinaryKmer const right,short kmer_size);
        |                                                ^~~~~
  include/basic/binary_kmer.h:71:77: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     71 | boolean binary_kmer_less_than(const BinaryKmer const left, const BinaryKmer const right,short kmer_size);
        |                                                                             ^~~~~
  In file included from include/cortex_var/many_colours/element.h:45,
                   from include/cortex_var/many_colours/genotyping_element.h:39,
                   from include/hash_table/open_hash/little_hash_for_genotyping.h:34,
                   from src/hash_table/open_hash/little_hash_for_genotyping.c:35:
  include/basic/binary_kmer.h:70:58: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     70 | boolean binary_kmer_comparison_operator(const BinaryKmer const left, const BinaryKmer const right);
        |                                                          ^~~~~
  include/basic/binary_kmer.h:70:87: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     70 | boolean binary_kmer_comparison_operator(const BinaryKmer const left, const BinaryKmer const right);
        |                                                                                       ^~~~~
  include/basic/binary_kmer.h:71:48: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     71 | boolean binary_kmer_less_than(const BinaryKmer const left, const BinaryKmer const right,short kmer_size);
        |                                                ^~~~~
  include/basic/binary_kmer.h:71:77: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     71 | boolean binary_kmer_less_than(const BinaryKmer const left, const BinaryKmer const right,short kmer_size);
        |                                                                             ^~~~~
  In file included from include/cortex_var/many_colours/element.h:45,
                   from include/cortex_var/core/graph_info.h:38,
                   from include/cortex_var/core/model_info.h:35,
                   from src/cortex_var/core/model_info.c:31:
  include/basic/binary_kmer.h:70:58: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     70 | boolean binary_kmer_comparison_operator(const BinaryKmer const left, const BinaryKmer const right);
        |                                                          ^~~~~
  include/basic/binary_kmer.h:70:87: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     70 | boolean binary_kmer_comparison_operator(const BinaryKmer const left, const BinaryKmer const right);
        |                                                                                       ^~~~~
  include/basic/binary_kmer.h:71:48: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     71 | boolean binary_kmer_less_than(const BinaryKmer const left, const BinaryKmer const right,short kmer_size);
        |                                                ^~~~~
  include/basic/binary_kmer.h:71:77: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     71 | boolean binary_kmer_less_than(const BinaryKmer const left, const BinaryKmer const right,short kmer_size);
        |                                                                             ^~~~~
  In file included from include/cortex_var/many_colours/element.h:45,
                   from include/cortex_var/core/db_complex_genotyping.h:35,
                   from src/cortex_var/core/genome_complexity.c:39:
  include/basic/binary_kmer.h:70:58: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     70 | boolean binary_kmer_comparison_operator(const BinaryKmer const left, const BinaryKmer const right);
        |                                                          ^~~~~
  include/basic/binary_kmer.h:70:87: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     70 | boolean binary_kmer_comparison_operator(const BinaryKmer const left, const BinaryKmer const right);
        |                                                                                       ^~~~~
  include/basic/binary_kmer.h:71:48: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     71 | boolean binary_kmer_less_than(const BinaryKmer const left, const BinaryKmer const right,short kmer_size);
        |                                                ^~~~~
  include/basic/binary_kmer.h:71:77: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     71 | boolean binary_kmer_less_than(const BinaryKmer const left, const BinaryKmer const right,short kmer_size);
        |                                                                             ^~~~~
  In file included from src/basic/global.c:34:
  include/basic/binary_kmer.h:70:58: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     70 | boolean binary_kmer_comparison_operator(const BinaryKmer const left, const BinaryKmer const right);
        |                                                          ^~~~~
  include/basic/binary_kmer.h:70:87: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     70 | boolean binary_kmer_comparison_operator(const BinaryKmer const left, const BinaryKmer const right);
        |                                                                                       ^~~~~
  include/basic/binary_kmer.h:71:48: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     71 | boolean binary_kmer_less_than(const BinaryKmer const left, const BinaryKmer const right,short kmer_size);
        |                                                ^~~~~
  include/basic/binary_kmer.h:71:77: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     71 | boolean binary_kmer_less_than(const BinaryKmer const left, const BinaryKmer const right,short kmer_size);
        |                                                                             ^~~~~
  src/basic/global.c: In function ‘strbuf_remove_all_whitespace’:
  src/basic/global.c:191:9: warning: implicit declaration of function ‘isspace’ [-Wimplicit-function-declaration]
    191 |     if(!isspace(str[i]))
        |         ^~~~~~~
  src/basic/global.c:36:1: note: include ‘<ctype.h>’ or provide a declaration of ‘isspace’
     35 | #include <limits.h>
    +++ |+#include <ctype.h>
     36 |
  In file included from include/cortex_var/many_colours/element.h:45,
                   from include/cortex_var/core/graph_info.h:38,
                   from include/cortex_var/core/db_variants.h:39,
                   from src/cortex_var/core/db_complex_genotyping.c:35:
  include/basic/binary_kmer.h:70:58: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     70 | boolean binary_kmer_comparison_operator(const BinaryKmer const left, const BinaryKmer const right);
        |                                                          ^~~~~
  include/basic/binary_kmer.h:70:87: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     70 | boolean binary_kmer_comparison_operator(const BinaryKmer const left, const BinaryKmer const right);
        |                                                                                       ^~~~~
  include/basic/binary_kmer.h:71:48: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     71 | boolean binary_kmer_less_than(const BinaryKmer const left, const BinaryKmer const right,short kmer_size);
        |                                                ^~~~~
  include/basic/binary_kmer.h:71:77: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     71 | boolean binary_kmer_less_than(const BinaryKmer const left, const BinaryKmer const right,short kmer_size);
        |                                                                             ^~~~~
  src/cortex_var/core/db_complex_genotyping.c:1643:8: warning: ‘get_covg_in_union_of_colours_to_genotype’ defined but not used [-Wunused-function]
   1643 |   Covg get_covg_in_union_of_colours_to_genotype(dBNode* e)
        |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  src/cortex_var/core/db_complex_genotyping.c:657:11: warning: ‘condition_is_error_supernode’ defined but not used [-Wunused-function]
    657 |   boolean condition_is_error_supernode(dBNode** path, int len,  int* count_error_nodes, Covg* count_error_covg)
        |           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
  src/cortex_var/core/db_complex_genotyping.c:594:8: warning: ‘count_errors_1bp_and_further_from_desired_genotype’ defined but not used [-Wunused-function]
    594 |   void count_errors_1bp_and_further_from_desired_genotype( dBNode* e, int* total_1bp_away, int* total_further,
        |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  src/cortex_var/core/db_complex_genotyping.c:445:8: warning: ‘get_number_nodes_outside_our_expected_two_alleles_with_covg’ defined but not used [-Wunused-function]
    445 |   void get_number_nodes_outside_our_expected_two_alleles_with_covg( dBNode* e, Covg* total)
        |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  src/cortex_var/core/db_complex_genotyping.c:425:8: warning: ‘element_get_covg_indiv’ defined but not used [-Wunused-function]
    425 |   Covg element_get_covg_indiv(const dBNode* e)
        |        ^~~~~~~~~~~~~~~~~~~~~~
  src/cortex_var/core/db_complex_genotyping.c:420:9: warning: ‘element_get_colour_indiv’ defined but not used [-Wunused-function]
    420 |   Edges element_get_colour_indiv(const Element* e)
        |         ^~~~~~~~~~~~~~~~~~~~~~~~
  In file included from include/cortex_var/many_colours/element.h:45,
                   from src/cortex_var/many_colours/cortex_var.c:39:
  include/basic/binary_kmer.h:70:58: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     70 | boolean binary_kmer_comparison_operator(const BinaryKmer const left, const BinaryKmer const right);
        |                                                          ^~~~~
  include/basic/binary_kmer.h:70:87: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     70 | boolean binary_kmer_comparison_operator(const BinaryKmer const left, const BinaryKmer const right);
        |                                                                                       ^~~~~
  include/basic/binary_kmer.h:71:48: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     71 | boolean binary_kmer_less_than(const BinaryKmer const left, const BinaryKmer const right,short kmer_size);
        |                                                ^~~~~
  include/basic/binary_kmer.h:71:77: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     71 | boolean binary_kmer_less_than(const BinaryKmer const left, const BinaryKmer const right,short kmer_size);
        |                                                                             ^~~~~
  src/cortex_var/many_colours/cortex_var.c: In function ‘bubble_caller_condition’:
  src/cortex_var/many_colours/cortex_var.c:470:36: warning: unused variable ‘R’ [-Wunused-variable]
    470 |                     uint64_t       R = (uint64_t) (model_info->ginfo->mean_read_length[i]);
        |                                    ^
  At top level:
  src/cortex_var/many_colours/cortex_var.c:685:8: warning: ‘get_covg_in_union_all_colours_except_ref’ defined but not used [-Wunused-function]
    685 |   Covg get_covg_in_union_all_colours_except_ref(const dBNode* e)
        |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  src/cortex_var/many_colours/cortex_var.c: In function ‘main’:
  src/cortex_var/many_colours/cortex_var.c:1388:26: warning: ‘%s’ directive writing up to 999 bytes into a region of size 300 [-Wformat-overflow=]
   1388 |       sprintf(tmp_dump, "%s.temporary_delete_me", cmd_line->output_aligned_overlap_binname);
        |                          ^~
  In file included from /usr/include/stdio.h:894,
                   from src/cortex_var/many_colours/cortex_var.c:31:
  /usr/include/x86_64-linux-gnu/bits/stdio2.h:38:10: note: ‘__builtin___sprintf_chk’ output between 21 and 1020 bytes into a destination of size 300
     38 |   return __builtin___sprintf_chk (__s, __USE_FORTIFY_LEVEL - 1,
        |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     39 |                                   __glibc_objsize (__s), __fmt,
        |                                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     40 |                                   __va_arg_pack ());
        |                                   ~~~~~~~~~~~~~~~~~
  In file included from src/basic/binary_kmer.c:36:
  include/basic/binary_kmer.h:70:58: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     70 | boolean binary_kmer_comparison_operator(const BinaryKmer const left, const BinaryKmer const right);
        |                                                          ^~~~~
  include/basic/binary_kmer.h:70:87: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     70 | boolean binary_kmer_comparison_operator(const BinaryKmer const left, const BinaryKmer const right);
        |                                                                                       ^~~~~
  include/basic/binary_kmer.h:71:48: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     71 | boolean binary_kmer_less_than(const BinaryKmer const left, const BinaryKmer const right,short kmer_size);
        |                                                ^~~~~
  include/basic/binary_kmer.h:71:77: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     71 | boolean binary_kmer_less_than(const BinaryKmer const left, const BinaryKmer const right,short kmer_size);
        |                                                                             ^~~~~
  src/basic/binary_kmer.c:71:58: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     71 | boolean binary_kmer_comparison_operator(const BinaryKmer const left, const BinaryKmer const right)
        |                                                          ^~~~~
  src/basic/binary_kmer.c:71:87: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     71 | boolean binary_kmer_comparison_operator(const BinaryKmer const left, const BinaryKmer const right)
        |                                                                                       ^~~~~
  src/basic/binary_kmer.c:92:48: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     92 | boolean binary_kmer_less_than(const BinaryKmer const left, const BinaryKmer const right, short kmer_size)
        |                                                ^~~~~
  src/basic/binary_kmer.c:92:77: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     92 | boolean binary_kmer_less_than(const BinaryKmer const left, const BinaryKmer const right, short kmer_size)
        |                                                                             ^~~~~
  src/basic/binary_kmer.c: In function ‘binary_kmer_left_shift_one_base’:
  src/basic/binary_kmer.c:148:13: warning: array subscript [-1023, -1] is outside array bounds of ‘bitfield_of_64bits[1]’ {aka ‘long unsigned int[1]’} [-Warray-bounds]
    148 |     kmer[i] <<= 2;
        |             ^~~
  src/basic/binary_kmer.c:141:49: note: while referencing ‘kmer’
    141 | void binary_kmer_left_shift_one_base(BinaryKmer kmer, short kmer_size)
        |                                      ~~~~~~~~~~~^~~~
  src/basic/binary_kmer.c:148:13: warning: array subscript [-1023, -1] is outside array bounds of ‘bitfield_of_64bits[1]’ {aka ‘long unsigned int[1]’} [-Warray-bounds]
    148 |     kmer[i] <<= 2;
        |     ~~~~~~~~^~~~~
  src/basic/binary_kmer.c:141:49: note: while referencing ‘kmer’
    141 | void binary_kmer_left_shift_one_base(BinaryKmer kmer, short kmer_size)
        |                                      ~~~~~~~~~~~^~~~
  src/basic/binary_kmer.c:149:13: warning: array subscript [-1023, -1] is outside array bounds of ‘bitfield_of_64bits[1]’ {aka ‘long unsigned int[1]’} [-Warray-bounds]
    149 |     kmer[i] |= (kmer[i+1] >> 62); // & 0x3
        |     ~~~~~~~~^~~~~~~~~~~~~~~~~~~~
  src/basic/binary_kmer.c:141:49: note: while referencing ‘kmer’
    141 | void binary_kmer_left_shift_one_base(BinaryKmer kmer, short kmer_size)
        |                                      ~~~~~~~~~~~^~~~
  In file included from include/cortex_var/many_colours/element.h:45,
                   from src/cortex_var/many_colours/element.c:45:
  include/basic/binary_kmer.h:70:58: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     70 | boolean binary_kmer_comparison_operator(const BinaryKmer const left, const BinaryKmer const right);
        |                                                          ^~~~~
  include/basic/binary_kmer.h:70:87: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     70 | boolean binary_kmer_comparison_operator(const BinaryKmer const left, const BinaryKmer const right);
        |                                                                                       ^~~~~
  include/basic/binary_kmer.h:71:48: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     71 | boolean binary_kmer_less_than(const BinaryKmer const left, const BinaryKmer const right,short kmer_size);
        |                                                ^~~~~
  include/basic/binary_kmer.h:71:77: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     71 | boolean binary_kmer_less_than(const BinaryKmer const left, const BinaryKmer const right,short kmer_size);
        |                                                                             ^~~~~
  In file included from include/cortex_var/many_colours/element.h:45,
                   from include/hash_table/hash_value.h:34,
                   from src/hash_table/hash_key/bob_jenkins/hash_value.c:37:
  include/basic/binary_kmer.h:70:58: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     70 | boolean binary_kmer_comparison_operator(const BinaryKmer const left, const BinaryKmer const right);
        |                                                          ^~~~~
  include/basic/binary_kmer.h:70:87: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     70 | boolean binary_kmer_comparison_operator(const BinaryKmer const left, const BinaryKmer const right);
        |                                                                                       ^~~~~
  include/basic/binary_kmer.h:71:48: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     71 | boolean binary_kmer_less_than(const BinaryKmer const left, const BinaryKmer const right,short kmer_size);
        |                                                ^~~~~
  include/basic/binary_kmer.h:71:77: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     71 | boolean binary_kmer_less_than(const BinaryKmer const left, const BinaryKmer const right,short kmer_size);
        |                                                                             ^~~~~
  In file included from include/cortex_var/many_colours/element.h:45,
                   from include/hash_table/open_hash/hash_table.h:38,
                   from src/hash_table/open_hash/hash_table.c:35:
  include/basic/binary_kmer.h:70:58: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     70 | boolean binary_kmer_comparison_operator(const BinaryKmer const left, const BinaryKmer const right);
        |                                                          ^~~~~
  include/basic/binary_kmer.h:70:87: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     70 | boolean binary_kmer_comparison_operator(const BinaryKmer const left, const BinaryKmer const right);
        |                                                                                       ^~~~~
  include/basic/binary_kmer.h:71:48: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     71 | boolean binary_kmer_less_than(const BinaryKmer const left, const BinaryKmer const right,short kmer_size);
        |                                                ^~~~~
  include/basic/binary_kmer.h:71:77: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     71 | boolean binary_kmer_less_than(const BinaryKmer const left, const BinaryKmer const right,short kmer_size);
        |                                                                             ^~~~~
  In file included from src/cortex_var/core/dB_graph.c:36:
  include/basic/binary_kmer.h:70:58: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     70 | boolean binary_kmer_comparison_operator(const BinaryKmer const left, const BinaryKmer const right);
        |                                                          ^~~~~
  include/basic/binary_kmer.h:70:87: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     70 | boolean binary_kmer_comparison_operator(const BinaryKmer const left, const BinaryKmer const right);
        |                                                                                       ^~~~~
  include/basic/binary_kmer.h:71:48: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     71 | boolean binary_kmer_less_than(const BinaryKmer const left, const BinaryKmer const right,short kmer_size);
        |                                                ^~~~~
  include/basic/binary_kmer.h:71:77: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     71 | boolean binary_kmer_less_than(const BinaryKmer const left, const BinaryKmer const right,short kmer_size);
        |                                                                             ^~~~~
  In file included from include/cortex_var/many_colours/element.h:45,
                   from src/cortex_var/core/dB_graph_population.c:40:
  include/basic/binary_kmer.h:70:58: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     70 | boolean binary_kmer_comparison_operator(const BinaryKmer const left, const BinaryKmer const right);
        |                                                          ^~~~~
  include/basic/binary_kmer.h:70:87: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     70 | boolean binary_kmer_comparison_operator(const BinaryKmer const left, const BinaryKmer const right);
        |                                                                                       ^~~~~
  include/basic/binary_kmer.h:71:48: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     71 | boolean binary_kmer_less_than(const BinaryKmer const left, const BinaryKmer const right,short kmer_size);
        |                                                ^~~~~
  include/basic/binary_kmer.h:71:77: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     71 | boolean binary_kmer_less_than(const BinaryKmer const left, const BinaryKmer const right,short kmer_size);
        |                                                                             ^~~~~
  src/cortex_var/core/dB_graph_population.c:3011:43: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
   3011 | boolean are_two_lists_identical(const int const * list1, int len_list1, const int const * list2, int len_list2)
        |                                           ^~~~~
  src/cortex_var/core/dB_graph_population.c:3011:83: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
   3011 | boolean are_two_lists_identical(const int const * list1, int len_list1, const int const * list2, int len_list2)
        |                                                                                   ^~~~~
  src/cortex_var/core/dB_graph_population.c:3091:9: warning: ‘get_union_second_list_colours’ defined but not used [-Wunused-function]
   3091 |   Edges get_union_second_list_colours(const dBNode* e)
        |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  src/cortex_var/core/dB_graph_population.c:3079:9: warning: ‘get_union_first_list_colours’ defined but not used [-Wunused-function]
   3079 |   Edges get_union_first_list_colours(const dBNode* e)
        |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
  src/cortex_var/core/dB_graph_population.c:616:9: warning: ‘set_to_zero’ defined but not used [-Wunused-function]
    616 |   Edges set_to_zero(Edges edge)
        |         ^~~~~~~~~~~
  In file included from src/cortex_var/core/dB_graph_supernode.c:40:
  include/basic/binary_kmer.h:70:58: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     70 | boolean binary_kmer_comparison_operator(const BinaryKmer const left, const BinaryKmer const right);
        |                                                          ^~~~~
  include/basic/binary_kmer.h:70:87: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     70 | boolean binary_kmer_comparison_operator(const BinaryKmer const left, const BinaryKmer const right);
        |                                                                                       ^~~~~
  include/basic/binary_kmer.h:71:48: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     71 | boolean binary_kmer_less_than(const BinaryKmer const left, const BinaryKmer const right,short kmer_size);
        |                                                ^~~~~
  include/basic/binary_kmer.h:71:77: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     71 | boolean binary_kmer_less_than(const BinaryKmer const left, const BinaryKmer const right,short kmer_size);
        |                                                                             ^~~~~
  In file included from include/cortex_var/many_colours/element.h:45,
                   from include/cortex_var/core/graph_info.h:38,
                   from include/cortex_var/core/db_variants.h:39,
                   from src/cortex_var/core/db_variants.c:35:
  include/basic/binary_kmer.h:70:58: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     70 | boolean binary_kmer_comparison_operator(const BinaryKmer const left, const BinaryKmer const right);
        |                                                          ^~~~~
  include/basic/binary_kmer.h:70:87: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     70 | boolean binary_kmer_comparison_operator(const BinaryKmer const left, const BinaryKmer const right);
        |                                                                                       ^~~~~
  include/basic/binary_kmer.h:71:48: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     71 | boolean binary_kmer_less_than(const BinaryKmer const left, const BinaryKmer const right,short kmer_size);
        |                                                ^~~~~
  include/basic/binary_kmer.h:71:77: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     71 | boolean binary_kmer_less_than(const BinaryKmer const left, const BinaryKmer const right,short kmer_size);
        |                                                                             ^~~~~
  src/cortex_var/core/db_variants.c: In function ‘get_all_haploid_genotype_log_likelihoods_at_bubble_call_for_one_colour’:
  src/cortex_var/core/db_variants.c:649:8: warning: unused variable ‘initial_covg_plus_upward_jumps_branch2’ [-Wunused-variable]
    649 |   Covg initial_covg_plus_upward_jumps_branch2 =
        |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  src/cortex_var/core/db_variants.c:647:8: warning: unused variable ‘initial_covg_plus_upward_jumps_branch1’ [-Wunused-variable]
    647 |   Covg initial_covg_plus_upward_jumps_branch1 =
        |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  src/cortex_var/core/db_variants.c: In function ‘get_num_effective_reads_on_branch’:
  src/cortex_var/core/db_variants.c:833:15: warning: variable ‘eff_read_len’ set but not used [-Wunused-but-set-variable]
    833 |           int eff_read_len = 100;
        |               ^~~~~~~~~~~~
  src/cortex_var/core/db_variants.c: In function ‘min_covg_on_allele_in_specific_colour’:
  src/cortex_var/core/db_variants.c:1231:7: warning: unused variable ‘index’ [-Wunused-variable]
   1231 |   int index=0;
        |       ^~~~~
  In file included from include/cortex_var/many_colours/element.h:45,
                   from include/cortex_var/core/graph_info.h:38,
                   from include/cortex_var/core/model_info.h:35,
                   from include/cortex_var/core/model_selection.h:35,
                   from include/cortex_var/many_colours/cmd_line.h:39,
                   from src/cortex_var/many_colours/cmd_line.c:43:
  include/basic/binary_kmer.h:70:58: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     70 | boolean binary_kmer_comparison_operator(const BinaryKmer const left, const BinaryKmer const right);
        |                                                          ^~~~~
  include/basic/binary_kmer.h:70:87: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     70 | boolean binary_kmer_comparison_operator(const BinaryKmer const left, const BinaryKmer const right);
        |                                                                                       ^~~~~
  include/basic/binary_kmer.h:71:48: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     71 | boolean binary_kmer_less_than(const BinaryKmer const left, const BinaryKmer const right,short kmer_size);
        |                                                ^~~~~
  include/basic/binary_kmer.h:71:77: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     71 | boolean binary_kmer_less_than(const BinaryKmer const left, const BinaryKmer const right,short kmer_size);
        |                                                                             ^~~~~
  src/cortex_var/many_colours/cmd_line.c: In function ‘parse_cmdline_inner_loop’:
  src/cortex_var/many_colours/cmd_line.c:1423:11: warning: this ‘if’ clause does not guard... [-Wmisleading-indentation]
   1423 |           if (optarg==NULL)
        |           ^~
  src/cortex_var/many_colours/cmd_line.c:1426:13: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘if’
   1426 |             if (strcmp(optarg, "EachColourADiploidSample")==0)
        |             ^~
  src/cortex_var/many_colours/cmd_line.c: In function ‘check_cmdline’:
  src/cortex_var/many_colours/cmd_line.c:2207:33: warning: ‘%s’ directive writing up to 999 bytes into a region of size 392 [-Wformat-overflow=]
   2207 |           sprintf(tmp, "Between %s (containing %d colours) and %s (containing %d colours), you have exceeded the compile-time limit on colours, %d\n",
        |                                 ^~
  src/cortex_var/many_colours/cmd_line.c:2207:24: note: directive argument in the range [1, 2147483647]
   2207 |           sprintf(tmp, "Between %s (containing %d colours) and %s (containing %d colours), you have exceeded the compile-time limit on colours, %d\n",
        |                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  In file included from /usr/include/stdio.h:894,
                   from src/cortex_var/many_colours/cmd_line.c:32:
  /usr/include/x86_64-linux-gnu/bits/stdio2.h:38:10: note: ‘__builtin___sprintf_chk’ output between 117 and 2124 bytes into a destination of size 400
     38 |   return __builtin___sprintf_chk (__s, __USE_FORTIFY_LEVEL - 1,
        |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     39 |                                   __glibc_objsize (__s), __fmt,
        |                                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     40 |                                   __va_arg_pack ());
        |                                   ~~~~~~~~~~~~~~~~~
  src/cortex_var/many_colours/cmd_line.c:2198:44: warning: ‘%s’ directive writing up to 999 bytes into a region of size 381 [-Wformat-overflow=]
   2198 |           sprintf(tmp, "Multicolour binary %s contains %d colours, but cortex_var is compiled to support a maximum of %d colours\n",
        |                                            ^~
  src/cortex_var/many_colours/cmd_line.c:2198:24: note: directive argument in the range [2, 2147483647]
   2198 |           sprintf(tmp, "Multicolour binary %s contains %d colours, but cortex_var is compiled to support a maximum of %d colours\n",
        |                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  In file included from /usr/include/stdio.h:894,
                   from src/cortex_var/many_colours/cmd_line.c:32:
  /usr/include/x86_64-linux-gnu/bits/stdio2.h:38:10: note: ‘__builtin___sprintf_chk’ output between 102 and 1110 bytes into a destination of size 400
     38 |   return __builtin___sprintf_chk (__s, __USE_FORTIFY_LEVEL - 1,
        |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     39 |                                   __glibc_objsize (__s), __fmt,
        |                                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     40 |                                   __va_arg_pack ());
        |                                   ~~~~~~~~~~~~~~~~~
  src/cortex_var/many_colours/cmd_line.c:2192:40: warning: ‘%s’ directive writing up to 999 bytes into a region of size 385 [-Wformat-overflow=]
   2192 |           sprintf(tmp, "Corrupt binary %s - signature claims to have <=0 colours within\n", cmd_ptr->multicolour_bin);
        |                                        ^~
  In file included from /usr/include/stdio.h:894,
                   from src/cortex_var/many_colours/cmd_line.c:32:
  /usr/include/x86_64-linux-gnu/bits/stdio2.h:38:10: note: ‘__builtin___sprintf_chk’ output between 63 and 1062 bytes into a destination of size 400
     38 |   return __builtin___sprintf_chk (__s, __USE_FORTIFY_LEVEL - 1,
        |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     39 |                                   __glibc_objsize (__s), __fmt,
        |                                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     40 |                                   __va_arg_pack ());
        |                                   ~~~~~~~~~~~~~~~~~
  src/cortex_var/many_colours/cmd_line.c:2183:36: warning: ‘%s’ directive writing up to 999 bytes into a region of size 388 [-Wformat-overflow=]
   2183 |           sprintf(tmp,"This binary %s is not compatible with the current de Bruijn graph parameters, error code %d\n",
        |                                    ^~
  src/cortex_var/many_colours/cmd_line.c:2183:23: note: using the range [-2147483648, 2147483647] for directive argument
   2183 |           sprintf(tmp,"This binary %s is not compatible with the current de Bruijn graph parameters, error code %d\n",
        |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  In file included from /usr/include/stdio.h:894,
                   from src/cortex_var/many_colours/cmd_line.c:32:
  /usr/include/x86_64-linux-gnu/bits/stdio2.h:38:10: note: ‘__builtin___sprintf_chk’ output between 90 and 1099 bytes into a destination of size 400
     38 |   return __builtin___sprintf_chk (__s, __USE_FORTIFY_LEVEL - 1,
        |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     39 |                                   __glibc_objsize (__s), __fmt,
        |                                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     40 |                                   __va_arg_pack ());
        |                                   ~~~~~~~~~~~~~~~~~
  src/cortex_var/many_colours/cmd_line.c:2163:55: warning: ‘%s’ directive writing up to 999 bytes into a region of size 369 [-Wformat-overflow=]
   2163 |           sprintf(tmp,"Unable to open multicolour bin %s for initial sanity checks\n", cmd_ptr->multicolour_bin) ;
        |                                                       ^~
  In file included from /usr/include/stdio.h:894,
                   from src/cortex_var/many_colours/cmd_line.c:32:
  /usr/include/x86_64-linux-gnu/bits/stdio2.h:38:10: note: ‘__builtin___sprintf_chk’ output between 59 and 1058 bytes into a destination of size 400
     38 |   return __builtin___sprintf_chk (__s, __USE_FORTIFY_LEVEL - 1,
        |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     39 |                                   __glibc_objsize (__s), __fmt,
        |                                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     40 |                                   __va_arg_pack ());
        |                                   ~~~~~~~~~~~~~~~~~
  In file included from /usr/include/string.h:535,
                   from src/cortex_var/many_colours/cmd_line.c:34:
  In function ‘strncpy’,
      inlined from ‘parse_commasep_or_open_square_brack_sep_list.part.0’ at src/cortex_var/many_colours/cmd_line.c:3104:6:
  /usr/include/x86_64-linux-gnu/bits/string_fortified.h:95:10: warning: ‘__builtin___strncpy_chk’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
     95 |   return __builtin___strncpy_chk (__dest, __src, __len,
        |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     96 |                                   __glibc_objsize (__dest));
        |                                   ~~~~~~~~~~~~~~~~~~~~~~~~~
  src/cortex_var/many_colours/cmd_line.c: In function ‘parse_commasep_or_open_square_brack_sep_list.part.0’:
  src/cortex_var/many_colours/cmd_line.c:3104:13: note: length computed here
   3104 |             strncpy(list, arg, strlen(arg));
        |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  In file included from include/cortex_var/many_colours/element.h:45,
                   from include/hash_table/open_hash/hash_table.h:38,
                   from include/cortex_var/core/dB_graph.h:39,
                   from src/cortex_var/core/graph_info.c:36:
  include/basic/binary_kmer.h:70:58: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     70 | boolean binary_kmer_comparison_operator(const BinaryKmer const left, const BinaryKmer const right);
        |                                                          ^~~~~
  include/basic/binary_kmer.h:70:87: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     70 | boolean binary_kmer_comparison_operator(const BinaryKmer const left, const BinaryKmer const right);
        |                                                                                       ^~~~~
  include/basic/binary_kmer.h:71:48: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     71 | boolean binary_kmer_less_than(const BinaryKmer const left, const BinaryKmer const right,short kmer_size);
        |                                                ^~~~~
  include/basic/binary_kmer.h:71:77: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     71 | boolean binary_kmer_less_than(const BinaryKmer const left, const BinaryKmer const right,short kmer_size);
        |                                                                             ^~~~~
  In file included from include/cortex_var/many_colours/element.h:45,
                   from include/cortex_var/core/db_differentiation.h:40,
                   from src/cortex_var/core/db_differentiation.c:33:
  include/basic/binary_kmer.h:70:58: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     70 | boolean binary_kmer_comparison_operator(const BinaryKmer const left, const BinaryKmer const right);
        |                                                          ^~~~~
  include/basic/binary_kmer.h:70:87: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     70 | boolean binary_kmer_comparison_operator(const BinaryKmer const left, const BinaryKmer const right);
        |                                                                                       ^~~~~
  include/basic/binary_kmer.h:71:48: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     71 | boolean binary_kmer_less_than(const BinaryKmer const left, const BinaryKmer const right,short kmer_size);
        |                                                ^~~~~
  include/basic/binary_kmer.h:71:77: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     71 | boolean binary_kmer_less_than(const BinaryKmer const left, const BinaryKmer const right,short kmer_size);
        |                                                                             ^~~~~
  In file included from include/cortex_var/many_colours/element.h:45,
                   from include/cortex_var/core/maths.h:34,
                   from src/cortex_var/core/model_selection.c:34:
  include/basic/binary_kmer.h:70:58: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     70 | boolean binary_kmer_comparison_operator(const BinaryKmer const left, const BinaryKmer const right);
        |                                                          ^~~~~
  include/basic/binary_kmer.h:70:87: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     70 | boolean binary_kmer_comparison_operator(const BinaryKmer const left, const BinaryKmer const right);
        |                                                                                       ^~~~~
  include/basic/binary_kmer.h:71:48: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     71 | boolean binary_kmer_less_than(const BinaryKmer const left, const BinaryKmer const right,short kmer_size);
        |                                                ^~~~~
  include/basic/binary_kmer.h:71:77: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     71 | boolean binary_kmer_less_than(const BinaryKmer const left, const BinaryKmer const right,short kmer_size);
        |                                                                             ^~~~~
  src/cortex_var/core/model_selection.c: In function ‘calculate_integrated_loglikelihood_of_repeat_model_given_data’:
  src/cortex_var/core/model_selection.c:419:1: warning: control reaches end of non-void function [-Wreturn-type]
    419 | }
        | ^
  In file included from include/cortex_var/many_colours/element.h:45,
                   from include/cortex_var/core/maths.h:34,
                   from src/cortex_var/core/maths.c:34:
  include/basic/binary_kmer.h:70:58: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     70 | boolean binary_kmer_comparison_operator(const BinaryKmer const left, const BinaryKmer const right);
        |                                                          ^~~~~
  include/basic/binary_kmer.h:70:87: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     70 | boolean binary_kmer_comparison_operator(const BinaryKmer const left, const BinaryKmer const right);
        |                                                                                       ^~~~~
  include/basic/binary_kmer.h:71:48: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     71 | boolean binary_kmer_less_than(const BinaryKmer const left, const BinaryKmer const right,short kmer_size);
        |                                                ^~~~~
  include/basic/binary_kmer.h:71:77: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     71 | boolean binary_kmer_less_than(const BinaryKmer const left, const BinaryKmer const right,short kmer_size);
        |                                                                             ^~~~~
  In file included from include/cortex_var/many_colours/element.h:45,
                   from src/cortex_var/core/seq_error_rate_estimation.c:38:
  include/basic/binary_kmer.h:70:58: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     70 | boolean binary_kmer_comparison_operator(const BinaryKmer const left, const BinaryKmer const right);
        |                                                          ^~~~~
  include/basic/binary_kmer.h:70:87: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     70 | boolean binary_kmer_comparison_operator(const BinaryKmer const left, const BinaryKmer const right);
        |                                                                                       ^~~~~
  include/basic/binary_kmer.h:71:48: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     71 | boolean binary_kmer_less_than(const BinaryKmer const left, const BinaryKmer const right,short kmer_size);
        |                                                ^~~~~
  include/basic/binary_kmer.h:71:77: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     71 | boolean binary_kmer_less_than(const BinaryKmer const left, const BinaryKmer const right,short kmer_size);
        |                                                                             ^~~~~
  src/cortex_var/core/seq_error_rate_estimation.c: In function ‘estimate_seq_error_rate_from_snps_for_each_colour’:
  src/cortex_var/core/seq_error_rate_estimation.c:126:5: warning: ‘%s’ directive argument is null [-Wformat-overflow=]
    126 |     die("Cannot get absolute path to seq_error colours: %s\n", filename_abs_path);
        |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  In file included from src/cortex_var/core/file_reader.c:48:
  include/basic/binary_kmer.h:70:58: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     70 | boolean binary_kmer_comparison_operator(const BinaryKmer const left, const BinaryKmer const right);
        |                                                          ^~~~~
  include/basic/binary_kmer.h:70:87: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     70 | boolean binary_kmer_comparison_operator(const BinaryKmer const left, const BinaryKmer const right);
        |                                                                                       ^~~~~
  include/basic/binary_kmer.h:71:48: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     71 | boolean binary_kmer_less_than(const BinaryKmer const left, const BinaryKmer const right,short kmer_size);
        |                                                ^~~~~
  include/basic/binary_kmer.h:71:77: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     71 | boolean binary_kmer_less_than(const BinaryKmer const left, const BinaryKmer const right,short kmer_size);
        |                                                                             ^~~~~
  src/cortex_var/core/file_reader.c: In function ‘load_all_binaries_for_given_person_given_filename_of_file_listing_their_binaries’:
  src/cortex_var/core/file_reader.c:1945:29: warning: unused variable ‘ecode’ [-Wunused-variable]
   1945 |       BinaryHeaderErrorCode ecode=EValid;
        |                             ^~~~~
  In file included from /usr/include/string.h:535,
                   from src/cortex_var/core/file_reader.c:34:
  In function ‘strncpy’,
      inlined from ‘read_next_variant_from_full_flank_file’ at src/cortex_var/core/file_reader.c:2911:3:
  /usr/include/x86_64-linux-gnu/bits/string_fortified.h:95:10: warning: ‘__builtin_strncpy’ specified bound depends on the length of the source argument [-Wstringop-truncation]
     95 |   return __builtin___strncpy_chk (__dest, __src, __len,
        |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     96 |                                   __glibc_objsize (__dest));
        |                                   ~~~~~~~~~~~~~~~~~~~~~~~~~
  src/cortex_var/core/file_reader.c: In function ‘read_next_variant_from_full_flank_file’:
  src/cortex_var/core/file_reader.c:2911:39: note: length computed here
   2911 |   strncpy(var->seq5p, seq->seq, (int) strlen(seq->seq));
        |                                       ^~~~~~~~~~~~~~~~
  In file included from /usr/include/string.h:535,
                   from src/cortex_var/core/file_reader.c:34:
  In function ‘strncpy’,
      inlined from ‘read_next_variant_from_full_flank_file’ at src/cortex_var/core/file_reader.c:2942:3:
  /usr/include/x86_64-linux-gnu/bits/string_fortified.h:95:10: warning: ‘__builtin_strncpy’ specified bound depends on the length of the source argument [-Wstringop-truncation]
     95 |   return __builtin___strncpy_chk (__dest, __src, __len,
        |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     96 |                                   __glibc_objsize (__dest));
        |                                   ~~~~~~~~~~~~~~~~~~~~~~~~~
  src/cortex_var/core/file_reader.c: In function ‘read_next_variant_from_full_flank_file’:
  src/cortex_var/core/file_reader.c:2942:41: note: length computed here
   2942 |   strncpy(var->seq_one, seq->seq, (int) strlen(seq->seq));
        |                                         ^~~~~~~~~~~~~~~~
  In file included from /usr/include/string.h:535,
                   from src/cortex_var/core/file_reader.c:34:
  In function ‘strncpy’,
      inlined from ‘read_next_variant_from_full_flank_file’ at src/cortex_var/core/file_reader.c:2958:3:
  /usr/include/x86_64-linux-gnu/bits/string_fortified.h:95:10: warning: ‘__builtin_strncpy’ specified bound depends on the length of the source argument [-Wstringop-truncation]
     95 |   return __builtin___strncpy_chk (__dest, __src, __len,
        |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     96 |                                   __glibc_objsize (__dest));
        |                                   ~~~~~~~~~~~~~~~~~~~~~~~~~
  src/cortex_var/core/file_reader.c: In function ‘read_next_variant_from_full_flank_file’:
  src/cortex_var/core/file_reader.c:2958:43: note: length computed here
   2958 |   strncpy(var->seq_other, seq->seq, (int) strlen(seq->seq));
        |                                           ^~~~~~~~~~~~~~~~
  In file included from /usr/include/string.h:535,
                   from src/cortex_var/core/file_reader.c:34:
  In function ‘strncpy’,
      inlined from ‘read_next_variant_from_full_flank_file’ at src/cortex_var/core/file_reader.c:2975:7:
  /usr/include/x86_64-linux-gnu/bits/string_fortified.h:95:10: warning: ‘__builtin_strncpy’ specified bound depends on the length of the source argument [-Wstringop-truncation]
     95 |   return __builtin___strncpy_chk (__dest, __src, __len,
        |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     96 |                                   __glibc_objsize (__dest));
        |                                   ~~~~~~~~~~~~~~~~~~~~~~~~~
  src/cortex_var/core/file_reader.c: In function ‘read_next_variant_from_full_flank_file’:
  src/cortex_var/core/file_reader.c:2975:43: note: length computed here
   2975 |       strncpy(var->seq3p, seq->seq, (int) strlen(seq->seq));
        |                                           ^~~~~~~~~~~~~~~~
  src/cortex_var/core/file_reader.c: In function ‘load_population_as_binaries_from_graph’:
  src/cortex_var/core/file_reader.c:2008:5: warning: ‘%s’ directive argument is null [-Wformat-overflow=]
   2008 |     die("Cannot get absolute path to colours: %s\n", filename_abs_path);
        |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  In file included from include/cortex_var/core/error_correction.h:50,
                   from src/cortex_var/core/error_correction.c:37:
  include/basic/binary_kmer.h:70:58: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     70 | boolean binary_kmer_comparison_operator(const BinaryKmer const left, const BinaryKmer const right);
        |                                                          ^~~~~
  include/basic/binary_kmer.h:70:87: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     70 | boolean binary_kmer_comparison_operator(const BinaryKmer const left, const BinaryKmer const right);
        |                                                                                       ^~~~~
  include/basic/binary_kmer.h:71:48: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     71 | boolean binary_kmer_less_than(const BinaryKmer const left, const BinaryKmer const right,short kmer_size);
        |                                                ^~~~~
  include/basic/binary_kmer.h:71:77: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     71 | boolean binary_kmer_less_than(const BinaryKmer const left, const BinaryKmer const right,short kmer_size);
        |                                                                             ^~~~~
  src/cortex_var/core/error_correction.c: In function ‘take_n_greedy_random_steps’:
  src/cortex_var/core/error_correction.c:863:8: warning: variable ‘tmp_seq’ set but not used [-Wunused-but-set-variable]
    863 |   char tmp_seq[db_graph->kmer_size+1];
        |        ^~~~~~~
  src/cortex_var/core/error_correction.c:861:40: warning: unused variable ‘nucleotide2’ [-Wunused-variable]
    861 |   Nucleotide nucleotide,rev_nucleotide,nucleotide2;
        |                                        ^~~~~~~~~~~
  /usr/bin/ld: src/obj/cortex_var/many_colours/little_hash_for_genotyping.o:(.bss+0x0): multiple definition of `DEBUG'; src/obj/cortex_var/many_colours/genotyping_element.o:(.bss+0x1): first defined here
  /usr/bin/ld: src/obj/cortex_var/many_colours/model_info.o:(.bss+0x0): multiple definition of `DEBUG'; src/obj/cortex_var/many_colours/genotyping_element.o:(.bss+0x1): first defined here
  /usr/bin/ld: src/obj/cortex_var/many_colours/genome_complexity.o:(.bss+0x0): multiple definition of `DEBUG'; src/obj/cortex_var/many_colours/genotyping_element.o:(.bss+0x1): first defined here
  /usr/bin/ld: src/obj/cortex_var/many_colours/global.o:(.bss+0x0): multiple definition of `DEBUG'; src/obj/cortex_var/many_colours/genotyping_element.o:(.bss+0x1): first defined here
  /usr/bin/ld: src/obj/cortex_var/many_colours/db_complex_genotyping.o:(.bss+0x0): multiple definition of `DEBUG'; src/obj/cortex_var/many_colours/genotyping_element.o:(.bss+0x1): first defined here
  /usr/bin/ld: src/obj/cortex_var/many_colours/cortex_var.o:(.bss+0x0): multiple definition of `DEBUG'; src/obj/cortex_var/many_colours/genotyping_element.o:(.bss+0x1): first defined here
  /usr/bin/ld: src/obj/cortex_var/many_colours/binary_kmer.o:(.bss+0x0): multiple definition of `DEBUG'; src/obj/cortex_var/many_colours/genotyping_element.o:(.bss+0x1): first defined here
  /usr/bin/ld: src/obj/cortex_var/many_colours/element.o:(.bss+0x1): multiple definition of `DEBUG'; src/obj/cortex_var/many_colours/genotyping_element.o:(.bss+0x1): first defined here
  /usr/bin/ld: src/obj/cortex_var/many_colours/seq.o:(.bss+0x821): multiple definition of `DEBUG'; src/obj/cortex_var/many_colours/genotyping_element.o:(.bss+0x1): first defined here
  /usr/bin/ld: src/obj/cortex_var/many_colours/hash_value.o:(.bss+0x0): multiple definition of `DEBUG'; src/obj/cortex_var/many_colours/genotyping_element.o:(.bss+0x1): first defined here
  /usr/bin/ld: src/obj/cortex_var/many_colours/hash_table.o:(.bss+0x0): multiple definition of `DEBUG'; src/obj/cortex_var/many_colours/genotyping_element.o:(.bss+0x1): first defined here
  /usr/bin/ld: src/obj/cortex_var/many_colours/dB_graph.o:(.bss+0x0): multiple definition of `DEBUG'; src/obj/cortex_var/many_colours/genotyping_element.o:(.bss+0x1): first defined here
  /usr/bin/ld: src/obj/cortex_var/many_colours/dB_graph_population.o:(.bss+0x0): multiple definition of `DEBUG'; src/obj/cortex_var/many_colours/genotyping_element.o:(.bss+0x1): first defined here
  /usr/bin/ld: src/obj/cortex_var/many_colours/dB_graph_supernode.o:(.bss+0x0): multiple definition of `DEBUG'; src/obj/cortex_var/many_colours/genotyping_element.o:(.bss+0x1): first defined here
  /usr/bin/ld: src/obj/cortex_var/many_colours/db_variants.o:(.bss+0x1): multiple definition of `DEBUG'; src/obj/cortex_var/many_colours/genotyping_element.o:(.bss+0x1): first defined here
  /usr/bin/ld: src/obj/cortex_var/many_colours/cmd_line.o:(.bss+0x0): multiple definition of `DEBUG'; src/obj/cortex_var/many_colours/genotyping_element.o:(.bss+0x1): first defined here
  /usr/bin/ld: src/obj/cortex_var/many_colours/event_encoding.o:(.bss+0x0): multiple definition of `DEBUG'; src/obj/cortex_var/many_colours/genotyping_element.o:(.bss+0x1): first defined here
  /usr/bin/ld: src/obj/cortex_var/many_colours/graph_info.o:(.bss+0x0): multiple definition of `DEBUG'; src/obj/cortex_var/many_colours/genotyping_element.o:(.bss+0x1): first defined here
  /usr/bin/ld: src/obj/cortex_var/many_colours/db_differentiation.o:(.bss+0x0): multiple definition of `DEBUG'; src/obj/cortex_var/many_colours/genotyping_element.o:(.bss+0x1): first defined here
  /usr/bin/ld: src/obj/cortex_var/many_colours/model_selection.o:(.bss+0x0): multiple definition of `DEBUG'; src/obj/cortex_var/many_colours/genotyping_element.o:(.bss+0x1): first defined here
  /usr/bin/ld: src/obj/cortex_var/many_colours/maths.o:(.bss+0x0): multiple definition of `DEBUG'; src/obj/cortex_var/many_colours/genotyping_element.o:(.bss+0x1): first defined here
  /usr/bin/ld: src/obj/cortex_var/many_colours/seq_error_rate_estimation.o:(.bss+0x0): multiple definition of `DEBUG'; src/obj/cortex_var/many_colours/genotyping_element.o:(.bss+0x1): first defined here
  /usr/bin/ld: src/obj/cortex_var/many_colours/file_reader.o:(.bss+0x0): multiple definition of `DEBUG'; src/obj/cortex_var/many_colours/genotyping_element.o:(.bss+0x1): first defined here
  /usr/bin/ld: src/obj/cortex_var/many_colours/error_correction.o:(.bss+0x0): multiple definition of `DEBUG'; src/obj/cortex_var/many_colours/genotyping_element.o:(.bss+0x1): first defined here
  collect2: error: ld returned 1 exit status
  make: *** [Makefile:169: cortex_var] Error 1

  ERROR: backend compilation failed 2
  [end of output]

note: This error originates from a subprocess, and is likely not a problem with pip. ERROR: Failed building wheel for py-cortex-api Running setup.py clean for py-cortex-api Building wheel for pyvcf (setup.py) ... done Created wheel for pyvcf: filename=PyVCF-0.6.8-py3-none-any.whl size=36007 sha256=0a566c53370af6d525a3cbb05d3cbc3b77cf3ff0dfc4f0e1c00341d62a6d5628 Stored in directory: /home/yemi_codes/.cache/pip/wheels/da/88/3b/b691691894da44fc597c93ba7f953a46d1413ed7411906a6d2 Successfully built pyvcf Failed to build py-cortex-api Installing collected packages: scipy, pyvcf, py-cortex-api, gramtools Running setup.py install for py-cortex-api ... error error: subprocess-exited-with-error

× Running setup.py install for py-cortex-api did not run successfully. │ exit code: 255 ╰─> [9 lines of output] running install running build running build_py START: Building backend dependencies fatal: destination path 'minimap2' already exists and is not an empty directory. ./cortex/ext/install_dependencies.sh: line 16: cd: minimap2_dir: No such file or directory make: *** No targets specified and no makefile found. Stop.

  ERROR: backend compilation failed 2
  [end of output]

note: This error originates from a subprocess, and is likely not a problem with pip. error: legacy-install-failure

× Encountered error while trying to install package. ╰─> py-cortex-api

note: This is an issue with the package mentioned above, not pip. hint: See above for output from the failure.

Please help me look into this too. Thank you very much sir

leoisl commented 1 year ago

I think your issue relates to this: https://stackoverflow.com/questions/69908418/multiple-definition-of-first-defined-here-on-gcc-10-2-1-but-not-gcc-8-3-0 , i.e. your GCC version is >= 10.2.1 which is incompatible with cortex code with default params. Could you retry with this?

CFLAGS="-fcommon" pip3 install -e .
ycode-sh commented 1 year ago

Thank you so much for prompt reply. I tried this but got the same error message. yemi_codes@genomics-lab:~/gramtools$ CFLAGS="-fcommon" pip3 install -e . Defaulting to user installation because normal site-packages is not writeable Obtaining file:///home/yemi_codes/gramtools Preparing metadata (setup.py) ... done Requirement already satisfied: scipy>=1.0.1 in /home/yemi_codes/.local/lib/python3.10/site-packages (from gramtools==1.6.0) (1.9.3) Requirement already satisfied: pyvcf>=0.6.8 in /home/yemi_codes/.local/lib/python3.10/site-packages (from gramtools==1.6.0) (0.6.8) Collecting py-cortex-api>=1.0 Using cached py-cortex-api-2.2.1.tar.gz (17 kB) Preparing metadata (setup.py) ... done Requirement already satisfied: cluster_vcf_records>=0.9.2 in /home/yemi_codes/.local/lib/python3.10/site-packages (from gramtools==1.6.0) (0.13.3) Requirement already satisfied: bitarray in /home/yemi_codes/.local/lib/python3.10/site-packages (from cluster_vcf_records>=0.9.2->gramtools==1.6.0) (2.6.0) Requirement already satisfied: pysam in /home/yemi_codes/.local/lib/python3.10/site-packages (from cluster_vcf_records>=0.9.2->gramtools==1.6.0) (0.20.0) Requirement already satisfied: pyfastaq>=3.14.0 in /home/yemi_codes/.local/lib/python3.10/site-packages (from cluster_vcf_records>=0.9.2->gramtools==1.6.0) (3.17.0) Requirement already satisfied: biopython==1.76 in /home/yemi_codes/.local/lib/python3.10/site-packages (from py-cortex-api>=1.0->gramtools==1.6.0) (1.76) Requirement already satisfied: numpy in /home/yemi_codes/.local/lib/python3.10/site-packages (from biopython==1.76->py-cortex-api>=1.0->gramtools==1.6.0) (1.23.4) Requirement already satisfied: setuptools in /home/yemi_codes/.local/lib/python3.10/site-packages (from pyvcf>=0.6.8->gramtools==1.6.0) (57.5.0) Building wheels for collected packages: py-cortex-api Building wheel for py-cortex-api (setup.py) ... error error: subprocess-exited-with-error

× python setup.py bdist_wheel did not run successfully. │ exit code: 255 ╰─> [954 lines of output] running bdist_wheel running build running build_py START: Building backend dependencies Cloning into 'minimap2'... Note: switching to 'v2.17'.

  You are in 'detached HEAD' state. You can look around, make experimental
  changes and commit them, and you can discard any commits you make in this
  state without impacting any branches by switching back to a branch.

  If you want to create a new branch to retain commits you create, you may
  do so (now or later) by using -c with the switch command. Example:

    git switch -c <new-branch-name>

  Or undo this operation with:

    git switch -

  Turn off this advice by setting config variable advice.detachedHead to false

  HEAD is now at 7bc87b4 Release minimap2-2.17 (r941)
  index.c: In function ‘mm_idx_load’:
  index.c:495:17: warning: ignoring return value of ‘fread’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
    495 |                 fread(&l, 1, 1, fp);
        |                 ^~~~~~~~~~~~~~~~~~~
  index.c:498:25: warning: ignoring return value of ‘fread’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
    498 |                         fread(s->name, 1, l, fp);
        |                         ^~~~~~~~~~~~~~~~~~~~~~~~
  index.c:501:17: warning: ignoring return value of ‘fread’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
    501 |                 fread(&s->len, 4, 1, fp);
        |                 ^~~~~~~~~~~~~~~~~~~~~~~~
  index.c:510:17: warning: ignoring return value of ‘fread’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
    510 |                 fread(&b->n, 4, 1, fp);
        |                 ^~~~~~~~~~~~~~~~~~~~~~
  index.c:512:17: warning: ignoring return value of ‘fread’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
    512 |                 fread(b->p, 8, b->n, fp);
        |                 ^~~~~~~~~~~~~~~~~~~~~~~~
  index.c:513:17: warning: ignoring return value of ‘fread’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
    513 |                 fread(&size, 4, 1, fp);
        |                 ^~~~~~~~~~~~~~~~~~~~~~
  index.c:520:25: warning: ignoring return value of ‘fread’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
    520 |                         fread(x, 8, 2, fp);
        |                         ^~~~~~~~~~~~~~~~~~
  index.c:528:17: warning: ignoring return value of ‘fread’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
    528 |                 fread(mi->S, 4, (sum_len + 7) / 8, fp);
        |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  hit.c: In function ‘mm_gen_regs’:
  hit.c:74:25: warning: argument 1 range [18446744071562067968, 18446744073709551615] exceeds maximum object size 9223372036854775807 [-Walloc-size-larger-than=]
     74 |         r = (mm_reg1_t*)calloc(n_u, sizeof(mm_reg1_t));
        |                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  In file included from hit.c:2:
  /usr/include/stdlib.h:543:14: note: in a call to allocation function ‘calloc’ declared here
    543 | extern void *calloc (size_t __nmemb, size_t __size)
        |              ^~~~~~
  format.c: In function ‘mm_write_sam3’:
  format.c:391:43: warning: variable ‘this_rev’ set but not used [-Wunused-but-set-variable]
    391 |         int this_rid = -1, this_pos = -1, this_rev = 0;
        |                                           ^~~~~~~~
  ar: `u' modifier ignored since `D' is the default (see `U')
  --2022-11-17 12:36:41--  https://github.com/vcftools/vcftools/releases/download/v0.1.15/vcftools-0.1.15.tar.gz
  Resolving github.com (github.com)... 140.82.121.3
  Connecting to github.com (github.com)|140.82.121.3|:443... connected.
  HTTP request sent, awaiting response... 302 Found
  Location: https://objects.githubusercontent.com/github-production-release-asset-2e65be/38052058/2e0f4764-22d4-11e7-8512-08df6111866d?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20221117%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20221117T113643Z&X-Amz-Expires=300&X-Amz-Signature=b97d58395dca7127d14f3bd48063c0108f402e109dfef8a82475f5ce3e09e2ce&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=38052058&response-content-disposition=attachment%3B%20filename%3Dvcftools-0.1.15.tar.gz&response-content-type=application%2Foctet-stream [following]
  --2022-11-17 12:36:42--  https://objects.githubusercontent.com/github-production-release-asset-2e65be/38052058/2e0f4764-22d4-11e7-8512-08df6111866d?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20221117%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20221117T113643Z&X-Amz-Expires=300&X-Amz-Signature=b97d58395dca7127d14f3bd48063c0108f402e109dfef8a82475f5ce3e09e2ce&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=38052058&response-content-disposition=attachment%3B%20filename%3Dvcftools-0.1.15.tar.gz&response-content-type=application%2Foctet-stream
  Resolving objects.githubusercontent.com (objects.githubusercontent.com)... 185.199.108.133, 185.199.109.133, 185.199.111.133, ...
  Connecting to objects.githubusercontent.com (objects.githubusercontent.com)|185.199.108.133|:443... connected.
  HTTP request sent, awaiting response... 200 OK
  Length: 481398 (470K) [application/octet-stream]
  Saving to: ‘vcftools-0.1.15.tar.gz’

       0K .......... .......... .......... .......... .......... 10%  266K 2s
      50K .......... .......... .......... .......... .......... 21%  458K 1s
     100K .......... .......... .......... .......... .......... 31% 1.02M 1s
     150K .......... .......... .......... .......... .......... 42% 1.44M 1s
     200K .......... .......... .......... .......... .......... 53%  833K 0s
     250K .......... .......... .......... .......... .......... 63% 1.45M 0s
     300K .......... .......... .......... .......... .......... 74% 2.74M 0s
     350K .......... .......... .......... .......... .......... 85% 2.17M 0s
     400K .......... .......... .......... .......... .......... 95% 2.89M 0s
     450K .......... ..........                                 100% 4.98M=0.5s

  2022-11-17 12:36:44 (881 KB/s) - ‘vcftools-0.1.15.tar.gz’ saved [481398/481398]

  Cloning into 'cortex'...
  Note: switching to 'c8147152cd4015c45057900e8fb600376d1d7fb3'.

  You are in 'detached HEAD' state. You can look around, make experimental
  changes and commit them, and you can discard any commits you make in this
  state without impacting any branches by switching back to a branch.

  If you want to create a new branch to retain commits you create, you may
  do so (now or later) by using -c with the switch command. Example:

    git switch -c <new-branch-name>

  Or undo this operation with:

    git switch -

  Turn off this advice by setting config variable advice.detachedHead to false

  HEAD is now at c8147152 Merge pull request #30 from martinghunt/arm_compile
  In file included from knetfile.c:46:
  knetfile.c: In function ‘kftp_send_cmd’:
  knetfile.h:9:32: warning: ignoring return value of ‘write’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
      9 | #define netwrite(fd, ptr, len) write(fd, ptr, len)
        |                                ^~~~~~~~~~~~~~~~~~~
  knetfile.c:236:9: note: in expansion of macro ‘netwrite’
    236 |         netwrite(ftp->ctrl_fd, cmd, strlen(cmd));
        |         ^~~~~~~~
  knetfile.c: In function ‘khttp_connect_file’:
  knetfile.h:9:32: warning: ignoring return value of ‘write’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
      9 | #define netwrite(fd, ptr, len) write(fd, ptr, len)
        |                                ^~~~~~~~~~~~~~~~~~~
  knetfile.c:415:9: note: in expansion of macro ‘netwrite’
    415 |         netwrite(fp->fd, buf, l);
        |         ^~~~~~~~
  hts.c: In function ‘hts_idx_init’:
  hts.c:236:63: warning: overflow in conversion from ‘uint32_t’ {aka ‘unsigned int’} to ‘int’ changes value from ‘idx->z.last_bin = 4294967295’ to ‘-1’ [-Woverflow]
    236 |         idx->z.save_bin = idx->z.save_tid = idx->z.last_tid = idx->z.last_bin = 0xffffffffu;
        |                                                               ^~~
  hts.c: In function ‘hts_idx_load_local’:
  hts.c:621:17: warning: ignoring return value of ‘fread’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
    621 |                 fread(magic, 1, 4, fp);
        |                 ^~~~~~~~~~~~~~~~~~~~~~
  hts.c:622:17: warning: ignoring return value of ‘fread’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
    622 |                 fread(&n, 4, 1, fp);
        |                 ^~~~~~~~~~~~~~~~~~~
  vcf.c: In function ‘bcf_hdr_parse_line2’:
  vcf.c:39:29: warning: overflow in conversion from ‘uint32_t’ {aka ‘unsigned int’} to ‘int’ changes value from ‘*info = 4294967295’ to ‘-1’ [-Woverflow]
     39 |         *id_beg = *id_end = *info = -1;
        |                             ^
  vcf.c: In function ‘bcf_hdr_parse_sample_line’:
  vcf.c:128:14: warning: variable ‘d’ set but not used [-Wunused-but-set-variable]
    128 |     vdict_t *d = (vdict_t*)h->dict[BCF_DT_ID];
        |              ^
  vcf.c: In function ‘vcf_format1’:
  vcf.c:1258:18: warning: variable ‘ptr’ set but not used [-Wunused-but-set-variable]
   1258 |         uint8_t *ptr = (uint8_t*)v->shared.s;
        |                  ^~~
  In file included from /usr/include/string.h:535,
                   from sam.c:2:
  In function ‘strncpy’,
      inlined from ‘bam_hdr_write’ at sam.c:101:2:
  /usr/include/x86_64-linux-gnu/bits/string_fortified.h:95:10: warning: ‘__builtin_strncpy’ output truncated before terminating nul copying 4 bytes from a string of the same length [-Wstringop-truncation]
     95 |   return __builtin___strncpy_chk (__dest, __src, __len,
        |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     96 |                                   __glibc_objsize (__dest));
        |                                   ~~~~~~~~~~~~~~~~~~~~~~~~~
  tbx.c: In function ‘tbx_seqnames’:
  tbx.c:247:5: warning: this ‘for’ clause does not guard... [-Wmisleading-indentation]
    247 |     for (tid=0; tid<m; tid++)
        |     ^~~
  tbx.c:249:9: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘for’
    249 |         *n = m;
        |         ^
  ar: `u' modifier ignored since `D' is the default (see `U')
  In file included from bamshuf.c:7:
  bamshuf.c:47:29: warning: ‘elem_lt’ is static but used in inline function ‘__ks_insertsort_bamshuf’ which is not static
     47 | KSORT_INIT(bamshuf, elem_t, elem_lt)
        |                             ^~~~~~~
  htslib/ksort.h:46:46: note: in definition of macro ‘KSORT_INIT’
     46 |                         for (j = i; j > s && __sort_lt(*j, *(j-1)); --j) {                      \
        |                                              ^~~~~~~~~
  In file included from vcfcheck.c:7:
  htslib/vcfutils.h:75:12: warning: inline function ‘gt_type’ declared but never defined
     75 | inline int gt_type(bcf_fmt_t *fmt_ptr, int isample, int *ial);
        |            ^~~~~~~
  In file included from vcfisec.c:11:
  htslib/vcfutils.h:75:12: warning: inline function ‘gt_type’ declared but never defined
     75 | inline int gt_type(bcf_fmt_t *fmt_ptr, int isample, int *ial);
        |            ^~~~~~~
  In file included from vcfmerge.c:6:
  htslib/vcfutils.h:75:12: warning: inline function ‘gt_type’ declared but never defined
     75 | inline int gt_type(bcf_fmt_t *fmt_ptr, int isample, int *ial);
        |            ^~~~~~~
  vcfmerge.c: In function ‘merge_vcf’:
  vcfmerge.c:991:46: warning: ‘__builtin___snprintf_chk’ output may be truncated before the last format character [-Wformat-truncation=]
    991 |             char buf[10]; snprintf(buf,10,"%d",i+1);
        |                                              ^
  In file included from /usr/include/stdio.h:894,
                   from vcfmerge.c:1:
  /usr/include/x86_64-linux-gnu/bits/stdio2.h:71:10: note: ‘__builtin___snprintf_chk’ output between 2 and 11 bytes into a destination of size 10
     71 |   return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1,
        |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     72 |                                    __glibc_objsize (__s), __fmt,
        |                                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     73 |                                    __va_arg_pack ());
        |                                    ~~~~~~~~~~~~~~~~~
  /usr/bin/ld: vcfcheck.o: in function `do_sample_stats':
  /tmp/pip-install-z3aazfep/py-cortex-api_c6a31751fa79445b857266e0aa78e214/cortex/ext/cortex/libs/htslib/vcfcheck.c:358: undefined reference to `gt_type'
  /usr/bin/ld: /tmp/pip-install-z3aazfep/py-cortex-api_c6a31751fa79445b857266e0aa78e214/cortex/ext/cortex/libs/htslib/vcfcheck.c:419: undefined reference to `gt_type'
  /usr/bin/ld: /tmp/pip-install-z3aazfep/py-cortex-api_c6a31751fa79445b857266e0aa78e214/cortex/ext/cortex/libs/htslib/vcfcheck.c:423: undefined reference to `gt_type'
  /usr/bin/ld: /tmp/pip-install-z3aazfep/py-cortex-api_c6a31751fa79445b857266e0aa78e214/cortex/ext/cortex/libs/htslib/vcfcheck.c:459: undefined reference to `gt_type'
  /usr/bin/ld: /tmp/pip-install-z3aazfep/py-cortex-api_c6a31751fa79445b857266e0aa78e214/cortex/ext/cortex/libs/htslib/vcfcheck.c:461: undefined reference to `gt_type'
  collect2: error: ld returned 1 exit status
  make: *** [Makefile:21: htscmd] Error 1
  In file included from /usr/include/string.h:535,
                   from string_buffer.c:32:
  In function ‘strncpy’,
      inlined from ‘strbuf_append_strn’ at string_buffer.c:283:3,
      inlined from ‘strbuf_append_str’ at string_buffer.c:275:3:
  /usr/include/x86_64-linux-gnu/bits/string_fortified.h:95:10: warning: ‘__builtin_strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
     95 |   return __builtin___strncpy_chk (__dest, __src, __len,
        |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     96 |                                   __glibc_objsize (__dest));
        |                                   ~~~~~~~~~~~~~~~~~~~~~~~~~
  string_buffer.c: In function ‘strbuf_append_str’:
  string_buffer.c:274:20: note: length computed here
    274 |   size_t str_len = strlen(txt);
        |                    ^~~~~~~~~~~
  ar: `u' modifier ignored since `D' is the default (see `U')
  /bin/sh: 1: [[: not found
  /bin/sh: 1: [[: not found
  ar: `u' modifier ignored since `D' is the default (see `U')
  /bin/sh: 1: [[: not found
  /bin/sh: 1: [[: not found
  /bin/sh: 1: [[: not found
  /bin/sh: 1: [[: not found
  In file included from /usr/include/x86_64-linux-gnu/bits/libc-header-start.h:33,
                   from /usr/include/stdlib.h:26,
                   from src/alignment_cmdline.c:16:
  /usr/include/features.h:194:3: warning: #warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE" [-Wcpp]
    194 | # warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE"
        |   ^~~~~~~
  In file included from /usr/include/x86_64-linux-gnu/bits/libc-header-start.h:33,
                   from /usr/include/stdlib.h:26,
                   from src/alignment_scoring_load.c:13:
  /usr/include/features.h:194:3: warning: #warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE" [-Wcpp]
    194 | # warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE"
        |   ^~~~~~~
  ar: `u' modifier ignored since `D' is the default (see `U')
  In file included from /usr/include/x86_64-linux-gnu/bits/libc-header-start.h:33,
                   from /usr/include/stdlib.h:26,
                   from strbuf_test.c:14:
  /usr/include/features.h:194:3: warning: #warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE" [-Wcpp]
    194 | # warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE"
        |   ^~~~~~~
  In file included from /usr/include/x86_64-linux-gnu/bits/libc-header-start.h:33,
                   from /usr/include/stdlib.h:26,
                   from tools/dna_cat.c:11:
  /usr/include/features.h:194:3: warning: #warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE" [-Wcpp]
    194 | # warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE"
        |   ^~~~~~~
  In file included from /usr/include/x86_64-linux-gnu/bits/libc-header-start.h:33,
                   from /usr/include/stdlib.h:26,
                   from tools/dna_demux.c:12:
  /usr/include/features.h:194:3: warning: #warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE" [-Wcpp]
    194 | # warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE"
        |   ^~~~~~~
  seq_test.c: In function ‘main’:
  seq_test.c:40:9: warning: this statement may fall through [-Wimplicit-fallthrough=]
     40 |         print_usage(argv[0]);
        |         ^~~~~~~~~~~~~~~~~~~~
  seq_test.c:41:7: note: here
     41 |       default: abort();
        |       ^~~~~~~
  ar: `u' modifier ignored since `D' is the default (see `U')
  In file included from /usr/include/x86_64-linux-gnu/bits/libc-header-start.h:33,
                   from /usr/include/stdlib.h:26,
                   from src/alignment_cmdline.c:16:
  /usr/include/features.h:194:3: warning: #warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE" [-Wcpp]
    194 | # warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE"
        |   ^~~~~~~
  In file included from /usr/include/x86_64-linux-gnu/bits/libc-header-start.h:33,
                   from /usr/include/stdlib.h:26,
                   from src/alignment_scoring_load.c:13:
  /usr/include/features.h:194:3: warning: #warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE" [-Wcpp]
    194 | # warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE"
        |   ^~~~~~~
  In file included from /usr/include/x86_64-linux-gnu/bits/libc-header-start.h:33,
                   from /usr/include/stdlib.h:26,
                   from src/tools/nw_cmdline.c:13:
  /usr/include/features.h:194:3: warning: #warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE" [-Wcpp]
    194 | # warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE"
        |   ^~~~~~~
  In file included from /usr/include/x86_64-linux-gnu/bits/libc-header-start.h:33,
                   from /usr/include/stdlib.h:26,
                   from src/alignment_cmdline.c:16:
  /usr/include/features.h:194:3: warning: #warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE" [-Wcpp]
    194 | # warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE"
        |   ^~~~~~~
  In file included from /usr/include/x86_64-linux-gnu/bits/libc-header-start.h:33,
                   from /usr/include/stdlib.h:26,
                   from src/alignment_scoring_load.c:13:
  /usr/include/features.h:194:3: warning: #warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE" [-Wcpp]
    194 | # warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE"
        |   ^~~~~~~
  In file included from /usr/include/x86_64-linux-gnu/bits/libc-header-start.h:33,
                   from /usr/include/stdlib.h:26,
                   from src/tools/sw_cmdline.c:13:
  /usr/include/features.h:194:3: warning: #warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE" [-Wcpp]
    194 | # warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE"
        |   ^~~~~~~
  In file included from /usr/include/x86_64-linux-gnu/bits/libc-header-start.h:33,
                   from /usr/include/stdlib.h:26,
                   from src/alignment_cmdline.c:16:
  /usr/include/features.h:194:3: warning: #warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE" [-Wcpp]
    194 | # warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE"
        |   ^~~~~~~
  In file included from /usr/include/x86_64-linux-gnu/bits/libc-header-start.h:33,
                   from /usr/include/stdlib.h:26,
                   from src/alignment_scoring_load.c:13:
  /usr/include/features.h:194:3: warning: #warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE" [-Wcpp]
    194 | # warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE"
        |   ^~~~~~~
  In file included from /usr/include/x86_64-linux-gnu/bits/libc-header-start.h:33,
                   from /usr/include/stdlib.h:26,
                   from src/tools/lcs_cmdline.c:13:
  /usr/include/features.h:194:3: warning: #warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE" [-Wcpp]
    194 | # warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE"
        |   ^~~~~~~
  In file included from include/cortex_var/many_colours/element.h:45,
                   from include/cortex_var/many_colours/genotyping_element.h:39,
                   from src/cortex_var/many_colours/genotyping_element.c:37:
  include/basic/binary_kmer.h:70:58: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     70 | boolean binary_kmer_comparison_operator(const BinaryKmer const left, const BinaryKmer const right);
        |                                                          ^~~~~
  include/basic/binary_kmer.h:70:87: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     70 | boolean binary_kmer_comparison_operator(const BinaryKmer const left, const BinaryKmer const right);
        |                                                                                       ^~~~~
  include/basic/binary_kmer.h:71:48: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     71 | boolean binary_kmer_less_than(const BinaryKmer const left, const BinaryKmer const right,short kmer_size);
        |                                                ^~~~~
  include/basic/binary_kmer.h:71:77: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     71 | boolean binary_kmer_less_than(const BinaryKmer const left, const BinaryKmer const right,short kmer_size);
        |                                                                             ^~~~~
  In file included from include/cortex_var/many_colours/element.h:45,
                   from include/cortex_var/many_colours/genotyping_element.h:39,
                   from include/hash_table/open_hash/little_hash_for_genotyping.h:34,
                   from src/hash_table/open_hash/little_hash_for_genotyping.c:35:
  include/basic/binary_kmer.h:70:58: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     70 | boolean binary_kmer_comparison_operator(const BinaryKmer const left, const BinaryKmer const right);
        |                                                          ^~~~~
  include/basic/binary_kmer.h:70:87: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     70 | boolean binary_kmer_comparison_operator(const BinaryKmer const left, const BinaryKmer const right);
        |                                                                                       ^~~~~
  include/basic/binary_kmer.h:71:48: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     71 | boolean binary_kmer_less_than(const BinaryKmer const left, const BinaryKmer const right,short kmer_size);
        |                                                ^~~~~
  include/basic/binary_kmer.h:71:77: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     71 | boolean binary_kmer_less_than(const BinaryKmer const left, const BinaryKmer const right,short kmer_size);
        |                                                                             ^~~~~
  In file included from include/cortex_var/many_colours/element.h:45,
                   from include/cortex_var/core/graph_info.h:38,
                   from include/cortex_var/core/model_info.h:35,
                   from src/cortex_var/core/model_info.c:31:
  include/basic/binary_kmer.h:70:58: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     70 | boolean binary_kmer_comparison_operator(const BinaryKmer const left, const BinaryKmer const right);
        |                                                          ^~~~~
  include/basic/binary_kmer.h:70:87: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     70 | boolean binary_kmer_comparison_operator(const BinaryKmer const left, const BinaryKmer const right);
        |                                                                                       ^~~~~
  include/basic/binary_kmer.h:71:48: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     71 | boolean binary_kmer_less_than(const BinaryKmer const left, const BinaryKmer const right,short kmer_size);
        |                                                ^~~~~
  include/basic/binary_kmer.h:71:77: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     71 | boolean binary_kmer_less_than(const BinaryKmer const left, const BinaryKmer const right,short kmer_size);
        |                                                                             ^~~~~
  In file included from include/cortex_var/many_colours/element.h:45,
                   from include/cortex_var/core/db_complex_genotyping.h:35,
                   from src/cortex_var/core/genome_complexity.c:39:
  include/basic/binary_kmer.h:70:58: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     70 | boolean binary_kmer_comparison_operator(const BinaryKmer const left, const BinaryKmer const right);
        |                                                          ^~~~~
  include/basic/binary_kmer.h:70:87: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     70 | boolean binary_kmer_comparison_operator(const BinaryKmer const left, const BinaryKmer const right);
        |                                                                                       ^~~~~
  include/basic/binary_kmer.h:71:48: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     71 | boolean binary_kmer_less_than(const BinaryKmer const left, const BinaryKmer const right,short kmer_size);
        |                                                ^~~~~
  include/basic/binary_kmer.h:71:77: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     71 | boolean binary_kmer_less_than(const BinaryKmer const left, const BinaryKmer const right,short kmer_size);
        |                                                                             ^~~~~
  In file included from src/basic/global.c:34:
  include/basic/binary_kmer.h:70:58: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     70 | boolean binary_kmer_comparison_operator(const BinaryKmer const left, const BinaryKmer const right);
        |                                                          ^~~~~
  include/basic/binary_kmer.h:70:87: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     70 | boolean binary_kmer_comparison_operator(const BinaryKmer const left, const BinaryKmer const right);
        |                                                                                       ^~~~~
  include/basic/binary_kmer.h:71:48: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     71 | boolean binary_kmer_less_than(const BinaryKmer const left, const BinaryKmer const right,short kmer_size);
        |                                                ^~~~~
  include/basic/binary_kmer.h:71:77: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     71 | boolean binary_kmer_less_than(const BinaryKmer const left, const BinaryKmer const right,short kmer_size);
        |                                                                             ^~~~~
  src/basic/global.c: In function ‘strbuf_remove_all_whitespace’:
  src/basic/global.c:191:9: warning: implicit declaration of function ‘isspace’ [-Wimplicit-function-declaration]
    191 |     if(!isspace(str[i]))
        |         ^~~~~~~
  src/basic/global.c:36:1: note: include ‘<ctype.h>’ or provide a declaration of ‘isspace’
     35 | #include <limits.h>
    +++ |+#include <ctype.h>
     36 |
  In file included from include/cortex_var/many_colours/element.h:45,
                   from include/cortex_var/core/graph_info.h:38,
                   from include/cortex_var/core/db_variants.h:39,
                   from src/cortex_var/core/db_complex_genotyping.c:35:
  include/basic/binary_kmer.h:70:58: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     70 | boolean binary_kmer_comparison_operator(const BinaryKmer const left, const BinaryKmer const right);
        |                                                          ^~~~~
  include/basic/binary_kmer.h:70:87: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     70 | boolean binary_kmer_comparison_operator(const BinaryKmer const left, const BinaryKmer const right);
        |                                                                                       ^~~~~
  include/basic/binary_kmer.h:71:48: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     71 | boolean binary_kmer_less_than(const BinaryKmer const left, const BinaryKmer const right,short kmer_size);
        |                                                ^~~~~
  include/basic/binary_kmer.h:71:77: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     71 | boolean binary_kmer_less_than(const BinaryKmer const left, const BinaryKmer const right,short kmer_size);
        |                                                                             ^~~~~
  src/cortex_var/core/db_complex_genotyping.c:1643:8: warning: ‘get_covg_in_union_of_colours_to_genotype’ defined but not used [-Wunused-function]
   1643 |   Covg get_covg_in_union_of_colours_to_genotype(dBNode* e)
        |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  src/cortex_var/core/db_complex_genotyping.c:657:11: warning: ‘condition_is_error_supernode’ defined but not used [-Wunused-function]
    657 |   boolean condition_is_error_supernode(dBNode** path, int len,  int* count_error_nodes, Covg* count_error_covg)
        |           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
  src/cortex_var/core/db_complex_genotyping.c:594:8: warning: ‘count_errors_1bp_and_further_from_desired_genotype’ defined but not used [-Wunused-function]
    594 |   void count_errors_1bp_and_further_from_desired_genotype( dBNode* e, int* total_1bp_away, int* total_further,
        |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  src/cortex_var/core/db_complex_genotyping.c:445:8: warning: ‘get_number_nodes_outside_our_expected_two_alleles_with_covg’ defined but not used [-Wunused-function]
    445 |   void get_number_nodes_outside_our_expected_two_alleles_with_covg( dBNode* e, Covg* total)
        |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  src/cortex_var/core/db_complex_genotyping.c:425:8: warning: ‘element_get_covg_indiv’ defined but not used [-Wunused-function]
    425 |   Covg element_get_covg_indiv(const dBNode* e)
        |        ^~~~~~~~~~~~~~~~~~~~~~
  src/cortex_var/core/db_complex_genotyping.c:420:9: warning: ‘element_get_colour_indiv’ defined but not used [-Wunused-function]
    420 |   Edges element_get_colour_indiv(const Element* e)
        |         ^~~~~~~~~~~~~~~~~~~~~~~~
  In file included from include/cortex_var/many_colours/element.h:45,
                   from src/cortex_var/many_colours/cortex_var.c:39:
  include/basic/binary_kmer.h:70:58: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     70 | boolean binary_kmer_comparison_operator(const BinaryKmer const left, const BinaryKmer const right);
        |                                                          ^~~~~
  include/basic/binary_kmer.h:70:87: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     70 | boolean binary_kmer_comparison_operator(const BinaryKmer const left, const BinaryKmer const right);
        |                                                                                       ^~~~~
  include/basic/binary_kmer.h:71:48: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     71 | boolean binary_kmer_less_than(const BinaryKmer const left, const BinaryKmer const right,short kmer_size);
        |                                                ^~~~~
  include/basic/binary_kmer.h:71:77: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     71 | boolean binary_kmer_less_than(const BinaryKmer const left, const BinaryKmer const right,short kmer_size);
        |                                                                             ^~~~~
  src/cortex_var/many_colours/cortex_var.c: In function ‘bubble_caller_condition’:
  src/cortex_var/many_colours/cortex_var.c:470:36: warning: unused variable ‘R’ [-Wunused-variable]
    470 |                     uint64_t       R = (uint64_t) (model_info->ginfo->mean_read_length[i]);
        |                                    ^
  At top level:
  src/cortex_var/many_colours/cortex_var.c:685:8: warning: ‘get_covg_in_union_all_colours_except_ref’ defined but not used [-Wunused-function]
    685 |   Covg get_covg_in_union_all_colours_except_ref(const dBNode* e)
        |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  src/cortex_var/many_colours/cortex_var.c: In function ‘main’:
  src/cortex_var/many_colours/cortex_var.c:1388:26: warning: ‘%s’ directive writing up to 999 bytes into a region of size 300 [-Wformat-overflow=]
   1388 |       sprintf(tmp_dump, "%s.temporary_delete_me", cmd_line->output_aligned_overlap_binname);
        |                          ^~
  In file included from /usr/include/stdio.h:894,
                   from src/cortex_var/many_colours/cortex_var.c:31:
  /usr/include/x86_64-linux-gnu/bits/stdio2.h:38:10: note: ‘__builtin___sprintf_chk’ output between 21 and 1020 bytes into a destination of size 300
     38 |   return __builtin___sprintf_chk (__s, __USE_FORTIFY_LEVEL - 1,
        |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     39 |                                   __glibc_objsize (__s), __fmt,
        |                                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     40 |                                   __va_arg_pack ());
        |                                   ~~~~~~~~~~~~~~~~~
  In file included from src/basic/binary_kmer.c:36:
  include/basic/binary_kmer.h:70:58: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     70 | boolean binary_kmer_comparison_operator(const BinaryKmer const left, const BinaryKmer const right);
        |                                                          ^~~~~
  include/basic/binary_kmer.h:70:87: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     70 | boolean binary_kmer_comparison_operator(const BinaryKmer const left, const BinaryKmer const right);
        |                                                                                       ^~~~~
  include/basic/binary_kmer.h:71:48: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     71 | boolean binary_kmer_less_than(const BinaryKmer const left, const BinaryKmer const right,short kmer_size);
        |                                                ^~~~~
  include/basic/binary_kmer.h:71:77: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     71 | boolean binary_kmer_less_than(const BinaryKmer const left, const BinaryKmer const right,short kmer_size);
        |                                                                             ^~~~~
  src/basic/binary_kmer.c:71:58: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     71 | boolean binary_kmer_comparison_operator(const BinaryKmer const left, const BinaryKmer const right)
        |                                                          ^~~~~
  src/basic/binary_kmer.c:71:87: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     71 | boolean binary_kmer_comparison_operator(const BinaryKmer const left, const BinaryKmer const right)
        |                                                                                       ^~~~~
  src/basic/binary_kmer.c:92:48: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     92 | boolean binary_kmer_less_than(const BinaryKmer const left, const BinaryKmer const right, short kmer_size)
        |                                                ^~~~~
  src/basic/binary_kmer.c:92:77: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     92 | boolean binary_kmer_less_than(const BinaryKmer const left, const BinaryKmer const right, short kmer_size)
        |                                                                             ^~~~~
  src/basic/binary_kmer.c: In function ‘binary_kmer_left_shift_one_base’:
  src/basic/binary_kmer.c:148:13: warning: array subscript [-1023, -1] is outside array bounds of ‘bitfield_of_64bits[1]’ {aka ‘long unsigned int[1]’} [-Warray-bounds]
    148 |     kmer[i] <<= 2;
        |             ^~~
  src/basic/binary_kmer.c:141:49: note: while referencing ‘kmer’
    141 | void binary_kmer_left_shift_one_base(BinaryKmer kmer, short kmer_size)
        |                                      ~~~~~~~~~~~^~~~
  src/basic/binary_kmer.c:148:13: warning: array subscript [-1023, -1] is outside array bounds of ‘bitfield_of_64bits[1]’ {aka ‘long unsigned int[1]’} [-Warray-bounds]
    148 |     kmer[i] <<= 2;
        |     ~~~~~~~~^~~~~
  src/basic/binary_kmer.c:141:49: note: while referencing ‘kmer’
    141 | void binary_kmer_left_shift_one_base(BinaryKmer kmer, short kmer_size)
        |                                      ~~~~~~~~~~~^~~~
  src/basic/binary_kmer.c:149:13: warning: array subscript [-1023, -1] is outside array bounds of ‘bitfield_of_64bits[1]’ {aka ‘long unsigned int[1]’} [-Warray-bounds]
    149 |     kmer[i] |= (kmer[i+1] >> 62); // & 0x3
        |     ~~~~~~~~^~~~~~~~~~~~~~~~~~~~
  src/basic/binary_kmer.c:141:49: note: while referencing ‘kmer’
    141 | void binary_kmer_left_shift_one_base(BinaryKmer kmer, short kmer_size)
        |                                      ~~~~~~~~~~~^~~~
  In file included from include/cortex_var/many_colours/element.h:45,
                   from src/cortex_var/many_colours/element.c:45:
  include/basic/binary_kmer.h:70:58: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     70 | boolean binary_kmer_comparison_operator(const BinaryKmer const left, const BinaryKmer const right);
        |                                                          ^~~~~
  include/basic/binary_kmer.h:70:87: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     70 | boolean binary_kmer_comparison_operator(const BinaryKmer const left, const BinaryKmer const right);
        |                                                                                       ^~~~~
  include/basic/binary_kmer.h:71:48: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     71 | boolean binary_kmer_less_than(const BinaryKmer const left, const BinaryKmer const right,short kmer_size);
        |                                                ^~~~~
  include/basic/binary_kmer.h:71:77: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     71 | boolean binary_kmer_less_than(const BinaryKmer const left, const BinaryKmer const right,short kmer_size);
        |                                                                             ^~~~~
  In file included from include/cortex_var/many_colours/element.h:45,
                   from include/hash_table/hash_value.h:34,
                   from src/hash_table/hash_key/bob_jenkins/hash_value.c:37:
  include/basic/binary_kmer.h:70:58: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     70 | boolean binary_kmer_comparison_operator(const BinaryKmer const left, const BinaryKmer const right);
        |                                                          ^~~~~
  include/basic/binary_kmer.h:70:87: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     70 | boolean binary_kmer_comparison_operator(const BinaryKmer const left, const BinaryKmer const right);
        |                                                                                       ^~~~~
  include/basic/binary_kmer.h:71:48: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     71 | boolean binary_kmer_less_than(const BinaryKmer const left, const BinaryKmer const right,short kmer_size);
        |                                                ^~~~~
  include/basic/binary_kmer.h:71:77: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     71 | boolean binary_kmer_less_than(const BinaryKmer const left, const BinaryKmer const right,short kmer_size);
        |                                                                             ^~~~~
  In file included from include/cortex_var/many_colours/element.h:45,
                   from include/hash_table/open_hash/hash_table.h:38,
                   from src/hash_table/open_hash/hash_table.c:35:
  include/basic/binary_kmer.h:70:58: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     70 | boolean binary_kmer_comparison_operator(const BinaryKmer const left, const BinaryKmer const right);
        |                                                          ^~~~~
  include/basic/binary_kmer.h:70:87: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     70 | boolean binary_kmer_comparison_operator(const BinaryKmer const left, const BinaryKmer const right);
        |                                                                                       ^~~~~
  include/basic/binary_kmer.h:71:48: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     71 | boolean binary_kmer_less_than(const BinaryKmer const left, const BinaryKmer const right,short kmer_size);
        |                                                ^~~~~
  include/basic/binary_kmer.h:71:77: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     71 | boolean binary_kmer_less_than(const BinaryKmer const left, const BinaryKmer const right,short kmer_size);
        |                                                                             ^~~~~
  In file included from src/cortex_var/core/dB_graph.c:36:
  include/basic/binary_kmer.h:70:58: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     70 | boolean binary_kmer_comparison_operator(const BinaryKmer const left, const BinaryKmer const right);
        |                                                          ^~~~~
  include/basic/binary_kmer.h:70:87: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     70 | boolean binary_kmer_comparison_operator(const BinaryKmer const left, const BinaryKmer const right);
        |                                                                                       ^~~~~
  include/basic/binary_kmer.h:71:48: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     71 | boolean binary_kmer_less_than(const BinaryKmer const left, const BinaryKmer const right,short kmer_size);
        |                                                ^~~~~
  include/basic/binary_kmer.h:71:77: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     71 | boolean binary_kmer_less_than(const BinaryKmer const left, const BinaryKmer const right,short kmer_size);
        |                                                                             ^~~~~
  In file included from include/cortex_var/many_colours/element.h:45,
                   from src/cortex_var/core/dB_graph_population.c:40:
  include/basic/binary_kmer.h:70:58: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     70 | boolean binary_kmer_comparison_operator(const BinaryKmer const left, const BinaryKmer const right);
        |                                                          ^~~~~
  include/basic/binary_kmer.h:70:87: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     70 | boolean binary_kmer_comparison_operator(const BinaryKmer const left, const BinaryKmer const right);
        |                                                                                       ^~~~~
  include/basic/binary_kmer.h:71:48: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     71 | boolean binary_kmer_less_than(const BinaryKmer const left, const BinaryKmer const right,short kmer_size);
        |                                                ^~~~~
  include/basic/binary_kmer.h:71:77: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     71 | boolean binary_kmer_less_than(const BinaryKmer const left, const BinaryKmer const right,short kmer_size);
        |                                                                             ^~~~~
  src/cortex_var/core/dB_graph_population.c:3011:43: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
   3011 | boolean are_two_lists_identical(const int const * list1, int len_list1, const int const * list2, int len_list2)
        |                                           ^~~~~
  src/cortex_var/core/dB_graph_population.c:3011:83: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
   3011 | boolean are_two_lists_identical(const int const * list1, int len_list1, const int const * list2, int len_list2)
        |                                                                                   ^~~~~
  src/cortex_var/core/dB_graph_population.c:3091:9: warning: ‘get_union_second_list_colours’ defined but not used [-Wunused-function]
   3091 |   Edges get_union_second_list_colours(const dBNode* e)
        |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  src/cortex_var/core/dB_graph_population.c:3079:9: warning: ‘get_union_first_list_colours’ defined but not used [-Wunused-function]
   3079 |   Edges get_union_first_list_colours(const dBNode* e)
        |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
  src/cortex_var/core/dB_graph_population.c:616:9: warning: ‘set_to_zero’ defined but not used [-Wunused-function]
    616 |   Edges set_to_zero(Edges edge)
        |         ^~~~~~~~~~~
  In file included from src/cortex_var/core/dB_graph_supernode.c:40:
  include/basic/binary_kmer.h:70:58: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     70 | boolean binary_kmer_comparison_operator(const BinaryKmer const left, const BinaryKmer const right);
        |                                                          ^~~~~
  include/basic/binary_kmer.h:70:87: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     70 | boolean binary_kmer_comparison_operator(const BinaryKmer const left, const BinaryKmer const right);
        |                                                                                       ^~~~~
  include/basic/binary_kmer.h:71:48: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     71 | boolean binary_kmer_less_than(const BinaryKmer const left, const BinaryKmer const right,short kmer_size);
        |                                                ^~~~~
  include/basic/binary_kmer.h:71:77: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     71 | boolean binary_kmer_less_than(const BinaryKmer const left, const BinaryKmer const right,short kmer_size);
        |                                                                             ^~~~~
  In file included from include/cortex_var/many_colours/element.h:45,
                   from include/cortex_var/core/graph_info.h:38,
                   from include/cortex_var/core/db_variants.h:39,
                   from src/cortex_var/core/db_variants.c:35:
  include/basic/binary_kmer.h:70:58: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     70 | boolean binary_kmer_comparison_operator(const BinaryKmer const left, const BinaryKmer const right);
        |                                                          ^~~~~
  include/basic/binary_kmer.h:70:87: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     70 | boolean binary_kmer_comparison_operator(const BinaryKmer const left, const BinaryKmer const right);
        |                                                                                       ^~~~~
  include/basic/binary_kmer.h:71:48: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     71 | boolean binary_kmer_less_than(const BinaryKmer const left, const BinaryKmer const right,short kmer_size);
        |                                                ^~~~~
  include/basic/binary_kmer.h:71:77: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     71 | boolean binary_kmer_less_than(const BinaryKmer const left, const BinaryKmer const right,short kmer_size);
        |                                                                             ^~~~~
  src/cortex_var/core/db_variants.c: In function ‘get_all_haploid_genotype_log_likelihoods_at_bubble_call_for_one_colour’:
  src/cortex_var/core/db_variants.c:649:8: warning: unused variable ‘initial_covg_plus_upward_jumps_branch2’ [-Wunused-variable]
    649 |   Covg initial_covg_plus_upward_jumps_branch2 =
        |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  src/cortex_var/core/db_variants.c:647:8: warning: unused variable ‘initial_covg_plus_upward_jumps_branch1’ [-Wunused-variable]
    647 |   Covg initial_covg_plus_upward_jumps_branch1 =
        |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  src/cortex_var/core/db_variants.c: In function ‘get_num_effective_reads_on_branch’:
  src/cortex_var/core/db_variants.c:833:15: warning: variable ‘eff_read_len’ set but not used [-Wunused-but-set-variable]
    833 |           int eff_read_len = 100;
        |               ^~~~~~~~~~~~
  src/cortex_var/core/db_variants.c: In function ‘min_covg_on_allele_in_specific_colour’:
  src/cortex_var/core/db_variants.c:1231:7: warning: unused variable ‘index’ [-Wunused-variable]
   1231 |   int index=0;
        |       ^~~~~
  In file included from include/cortex_var/many_colours/element.h:45,
                   from include/cortex_var/core/graph_info.h:38,
                   from include/cortex_var/core/model_info.h:35,
                   from include/cortex_var/core/model_selection.h:35,
                   from include/cortex_var/many_colours/cmd_line.h:39,
                   from src/cortex_var/many_colours/cmd_line.c:43:
  include/basic/binary_kmer.h:70:58: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     70 | boolean binary_kmer_comparison_operator(const BinaryKmer const left, const BinaryKmer const right);
        |                                                          ^~~~~
  include/basic/binary_kmer.h:70:87: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     70 | boolean binary_kmer_comparison_operator(const BinaryKmer const left, const BinaryKmer const right);
        |                                                                                       ^~~~~
  include/basic/binary_kmer.h:71:48: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     71 | boolean binary_kmer_less_than(const BinaryKmer const left, const BinaryKmer const right,short kmer_size);
        |                                                ^~~~~
  include/basic/binary_kmer.h:71:77: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     71 | boolean binary_kmer_less_than(const BinaryKmer const left, const BinaryKmer const right,short kmer_size);
        |                                                                             ^~~~~
  src/cortex_var/many_colours/cmd_line.c: In function ‘parse_cmdline_inner_loop’:
  src/cortex_var/many_colours/cmd_line.c:1423:11: warning: this ‘if’ clause does not guard... [-Wmisleading-indentation]
   1423 |           if (optarg==NULL)
        |           ^~
  src/cortex_var/many_colours/cmd_line.c:1426:13: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘if’
   1426 |             if (strcmp(optarg, "EachColourADiploidSample")==0)
        |             ^~
  src/cortex_var/many_colours/cmd_line.c: In function ‘check_cmdline’:
  src/cortex_var/many_colours/cmd_line.c:2207:33: warning: ‘%s’ directive writing up to 999 bytes into a region of size 392 [-Wformat-overflow=]
   2207 |           sprintf(tmp, "Between %s (containing %d colours) and %s (containing %d colours), you have exceeded the compile-time limit on colours, %d\n",
        |                                 ^~
  src/cortex_var/many_colours/cmd_line.c:2207:24: note: directive argument in the range [1, 2147483647]
   2207 |           sprintf(tmp, "Between %s (containing %d colours) and %s (containing %d colours), you have exceeded the compile-time limit on colours, %d\n",
        |                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  In file included from /usr/include/stdio.h:894,
                   from src/cortex_var/many_colours/cmd_line.c:32:
  /usr/include/x86_64-linux-gnu/bits/stdio2.h:38:10: note: ‘__builtin___sprintf_chk’ output between 117 and 2124 bytes into a destination of size 400
     38 |   return __builtin___sprintf_chk (__s, __USE_FORTIFY_LEVEL - 1,
        |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     39 |                                   __glibc_objsize (__s), __fmt,
        |                                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     40 |                                   __va_arg_pack ());
        |                                   ~~~~~~~~~~~~~~~~~
  src/cortex_var/many_colours/cmd_line.c:2198:44: warning: ‘%s’ directive writing up to 999 bytes into a region of size 381 [-Wformat-overflow=]
   2198 |           sprintf(tmp, "Multicolour binary %s contains %d colours, but cortex_var is compiled to support a maximum of %d colours\n",
        |                                            ^~
  src/cortex_var/many_colours/cmd_line.c:2198:24: note: directive argument in the range [2, 2147483647]
   2198 |           sprintf(tmp, "Multicolour binary %s contains %d colours, but cortex_var is compiled to support a maximum of %d colours\n",
        |                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  In file included from /usr/include/stdio.h:894,
                   from src/cortex_var/many_colours/cmd_line.c:32:
  /usr/include/x86_64-linux-gnu/bits/stdio2.h:38:10: note: ‘__builtin___sprintf_chk’ output between 102 and 1110 bytes into a destination of size 400
     38 |   return __builtin___sprintf_chk (__s, __USE_FORTIFY_LEVEL - 1,
        |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     39 |                                   __glibc_objsize (__s), __fmt,
        |                                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     40 |                                   __va_arg_pack ());
        |                                   ~~~~~~~~~~~~~~~~~
  src/cortex_var/many_colours/cmd_line.c:2192:40: warning: ‘%s’ directive writing up to 999 bytes into a region of size 385 [-Wformat-overflow=]
   2192 |           sprintf(tmp, "Corrupt binary %s - signature claims to have <=0 colours within\n", cmd_ptr->multicolour_bin);
        |                                        ^~
  In file included from /usr/include/stdio.h:894,
                   from src/cortex_var/many_colours/cmd_line.c:32:
  /usr/include/x86_64-linux-gnu/bits/stdio2.h:38:10: note: ‘__builtin___sprintf_chk’ output between 63 and 1062 bytes into a destination of size 400
     38 |   return __builtin___sprintf_chk (__s, __USE_FORTIFY_LEVEL - 1,
        |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     39 |                                   __glibc_objsize (__s), __fmt,
        |                                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     40 |                                   __va_arg_pack ());
        |                                   ~~~~~~~~~~~~~~~~~
  src/cortex_var/many_colours/cmd_line.c:2183:36: warning: ‘%s’ directive writing up to 999 bytes into a region of size 388 [-Wformat-overflow=]
   2183 |           sprintf(tmp,"This binary %s is not compatible with the current de Bruijn graph parameters, error code %d\n",
        |                                    ^~
  src/cortex_var/many_colours/cmd_line.c:2183:23: note: using the range [-2147483648, 2147483647] for directive argument
   2183 |           sprintf(tmp,"This binary %s is not compatible with the current de Bruijn graph parameters, error code %d\n",
        |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  In file included from /usr/include/stdio.h:894,
                   from src/cortex_var/many_colours/cmd_line.c:32:
  /usr/include/x86_64-linux-gnu/bits/stdio2.h:38:10: note: ‘__builtin___sprintf_chk’ output between 90 and 1099 bytes into a destination of size 400
     38 |   return __builtin___sprintf_chk (__s, __USE_FORTIFY_LEVEL - 1,
        |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     39 |                                   __glibc_objsize (__s), __fmt,
        |                                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     40 |                                   __va_arg_pack ());
        |                                   ~~~~~~~~~~~~~~~~~
  src/cortex_var/many_colours/cmd_line.c:2163:55: warning: ‘%s’ directive writing up to 999 bytes into a region of size 369 [-Wformat-overflow=]
   2163 |           sprintf(tmp,"Unable to open multicolour bin %s for initial sanity checks\n", cmd_ptr->multicolour_bin) ;
        |                                                       ^~
  In file included from /usr/include/stdio.h:894,
                   from src/cortex_var/many_colours/cmd_line.c:32:
  /usr/include/x86_64-linux-gnu/bits/stdio2.h:38:10: note: ‘__builtin___sprintf_chk’ output between 59 and 1058 bytes into a destination of size 400
     38 |   return __builtin___sprintf_chk (__s, __USE_FORTIFY_LEVEL - 1,
        |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     39 |                                   __glibc_objsize (__s), __fmt,
        |                                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     40 |                                   __va_arg_pack ());
        |                                   ~~~~~~~~~~~~~~~~~
  In file included from /usr/include/string.h:535,
                   from src/cortex_var/many_colours/cmd_line.c:34:
  In function ‘strncpy’,
      inlined from ‘parse_commasep_or_open_square_brack_sep_list.part.0’ at src/cortex_var/many_colours/cmd_line.c:3104:6:
  /usr/include/x86_64-linux-gnu/bits/string_fortified.h:95:10: warning: ‘__builtin___strncpy_chk’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
     95 |   return __builtin___strncpy_chk (__dest, __src, __len,
        |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     96 |                                   __glibc_objsize (__dest));
        |                                   ~~~~~~~~~~~~~~~~~~~~~~~~~
  src/cortex_var/many_colours/cmd_line.c: In function ‘parse_commasep_or_open_square_brack_sep_list.part.0’:
  src/cortex_var/many_colours/cmd_line.c:3104:13: note: length computed here
   3104 |             strncpy(list, arg, strlen(arg));
        |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  In file included from include/cortex_var/many_colours/element.h:45,
                   from include/hash_table/open_hash/hash_table.h:38,
                   from include/cortex_var/core/dB_graph.h:39,
                   from src/cortex_var/core/graph_info.c:36:
  include/basic/binary_kmer.h:70:58: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     70 | boolean binary_kmer_comparison_operator(const BinaryKmer const left, const BinaryKmer const right);
        |                                                          ^~~~~
  include/basic/binary_kmer.h:70:87: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     70 | boolean binary_kmer_comparison_operator(const BinaryKmer const left, const BinaryKmer const right);
        |                                                                                       ^~~~~
  include/basic/binary_kmer.h:71:48: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     71 | boolean binary_kmer_less_than(const BinaryKmer const left, const BinaryKmer const right,short kmer_size);
        |                                                ^~~~~
  include/basic/binary_kmer.h:71:77: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     71 | boolean binary_kmer_less_than(const BinaryKmer const left, const BinaryKmer const right,short kmer_size);
        |                                                                             ^~~~~
  In file included from include/cortex_var/many_colours/element.h:45,
                   from include/cortex_var/core/db_differentiation.h:40,
                   from src/cortex_var/core/db_differentiation.c:33:
  include/basic/binary_kmer.h:70:58: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     70 | boolean binary_kmer_comparison_operator(const BinaryKmer const left, const BinaryKmer const right);
        |                                                          ^~~~~
  include/basic/binary_kmer.h:70:87: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     70 | boolean binary_kmer_comparison_operator(const BinaryKmer const left, const BinaryKmer const right);
        |                                                                                       ^~~~~
  include/basic/binary_kmer.h:71:48: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     71 | boolean binary_kmer_less_than(const BinaryKmer const left, const BinaryKmer const right,short kmer_size);
        |                                                ^~~~~
  include/basic/binary_kmer.h:71:77: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     71 | boolean binary_kmer_less_than(const BinaryKmer const left, const BinaryKmer const right,short kmer_size);
        |                                                                             ^~~~~
  In file included from include/cortex_var/many_colours/element.h:45,
                   from include/cortex_var/core/maths.h:34,
                   from src/cortex_var/core/model_selection.c:34:
  include/basic/binary_kmer.h:70:58: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     70 | boolean binary_kmer_comparison_operator(const BinaryKmer const left, const BinaryKmer const right);
        |                                                          ^~~~~
  include/basic/binary_kmer.h:70:87: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     70 | boolean binary_kmer_comparison_operator(const BinaryKmer const left, const BinaryKmer const right);
        |                                                                                       ^~~~~
  include/basic/binary_kmer.h:71:48: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     71 | boolean binary_kmer_less_than(const BinaryKmer const left, const BinaryKmer const right,short kmer_size);
        |                                                ^~~~~
  include/basic/binary_kmer.h:71:77: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     71 | boolean binary_kmer_less_than(const BinaryKmer const left, const BinaryKmer const right,short kmer_size);
        |                                                                             ^~~~~
  src/cortex_var/core/model_selection.c: In function ‘calculate_integrated_loglikelihood_of_repeat_model_given_data’:
  src/cortex_var/core/model_selection.c:419:1: warning: control reaches end of non-void function [-Wreturn-type]
    419 | }
        | ^
  In file included from include/cortex_var/many_colours/element.h:45,
                   from include/cortex_var/core/maths.h:34,
                   from src/cortex_var/core/maths.c:34:
  include/basic/binary_kmer.h:70:58: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     70 | boolean binary_kmer_comparison_operator(const BinaryKmer const left, const BinaryKmer const right);
        |                                                          ^~~~~
  include/basic/binary_kmer.h:70:87: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     70 | boolean binary_kmer_comparison_operator(const BinaryKmer const left, const BinaryKmer const right);
        |                                                                                       ^~~~~
  include/basic/binary_kmer.h:71:48: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     71 | boolean binary_kmer_less_than(const BinaryKmer const left, const BinaryKmer const right,short kmer_size);
        |                                                ^~~~~
  include/basic/binary_kmer.h:71:77: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     71 | boolean binary_kmer_less_than(const BinaryKmer const left, const BinaryKmer const right,short kmer_size);
        |                                                                             ^~~~~
  In file included from include/cortex_var/many_colours/element.h:45,
                   from src/cortex_var/core/seq_error_rate_estimation.c:38:
  include/basic/binary_kmer.h:70:58: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     70 | boolean binary_kmer_comparison_operator(const BinaryKmer const left, const BinaryKmer const right);
        |                                                          ^~~~~
  include/basic/binary_kmer.h:70:87: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     70 | boolean binary_kmer_comparison_operator(const BinaryKmer const left, const BinaryKmer const right);
        |                                                                                       ^~~~~
  include/basic/binary_kmer.h:71:48: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     71 | boolean binary_kmer_less_than(const BinaryKmer const left, const BinaryKmer const right,short kmer_size);
        |                                                ^~~~~
  include/basic/binary_kmer.h:71:77: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     71 | boolean binary_kmer_less_than(const BinaryKmer const left, const BinaryKmer const right,short kmer_size);
        |                                                                             ^~~~~
  src/cortex_var/core/seq_error_rate_estimation.c: In function ‘estimate_seq_error_rate_from_snps_for_each_colour’:
  src/cortex_var/core/seq_error_rate_estimation.c:126:5: warning: ‘%s’ directive argument is null [-Wformat-overflow=]
    126 |     die("Cannot get absolute path to seq_error colours: %s\n", filename_abs_path);
        |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  In file included from src/cortex_var/core/file_reader.c:48:
  include/basic/binary_kmer.h:70:58: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     70 | boolean binary_kmer_comparison_operator(const BinaryKmer const left, const BinaryKmer const right);
        |                                                          ^~~~~
  include/basic/binary_kmer.h:70:87: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     70 | boolean binary_kmer_comparison_operator(const BinaryKmer const left, const BinaryKmer const right);
        |                                                                                       ^~~~~
  include/basic/binary_kmer.h:71:48: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     71 | boolean binary_kmer_less_than(const BinaryKmer const left, const BinaryKmer const right,short kmer_size);
        |                                                ^~~~~
  include/basic/binary_kmer.h:71:77: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     71 | boolean binary_kmer_less_than(const BinaryKmer const left, const BinaryKmer const right,short kmer_size);
        |                                                                             ^~~~~
  src/cortex_var/core/file_reader.c: In function ‘load_all_binaries_for_given_person_given_filename_of_file_listing_their_binaries’:
  src/cortex_var/core/file_reader.c:1945:29: warning: unused variable ‘ecode’ [-Wunused-variable]
   1945 |       BinaryHeaderErrorCode ecode=EValid;
        |                             ^~~~~
  In file included from /usr/include/string.h:535,
                   from src/cortex_var/core/file_reader.c:34:
  In function ‘strncpy’,
      inlined from ‘read_next_variant_from_full_flank_file’ at src/cortex_var/core/file_reader.c:2911:3:
  /usr/include/x86_64-linux-gnu/bits/string_fortified.h:95:10: warning: ‘__builtin_strncpy’ specified bound depends on the length of the source argument [-Wstringop-truncation]
     95 |   return __builtin___strncpy_chk (__dest, __src, __len,
        |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     96 |                                   __glibc_objsize (__dest));
        |                                   ~~~~~~~~~~~~~~~~~~~~~~~~~
  src/cortex_var/core/file_reader.c: In function ‘read_next_variant_from_full_flank_file’:
  src/cortex_var/core/file_reader.c:2911:39: note: length computed here
   2911 |   strncpy(var->seq5p, seq->seq, (int) strlen(seq->seq));
        |                                       ^~~~~~~~~~~~~~~~
  In file included from /usr/include/string.h:535,
                   from src/cortex_var/core/file_reader.c:34:
  In function ‘strncpy’,
      inlined from ‘read_next_variant_from_full_flank_file’ at src/cortex_var/core/file_reader.c:2942:3:
  /usr/include/x86_64-linux-gnu/bits/string_fortified.h:95:10: warning: ‘__builtin_strncpy’ specified bound depends on the length of the source argument [-Wstringop-truncation]
     95 |   return __builtin___strncpy_chk (__dest, __src, __len,
        |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     96 |                                   __glibc_objsize (__dest));
        |                                   ~~~~~~~~~~~~~~~~~~~~~~~~~
  src/cortex_var/core/file_reader.c: In function ‘read_next_variant_from_full_flank_file’:
  src/cortex_var/core/file_reader.c:2942:41: note: length computed here
   2942 |   strncpy(var->seq_one, seq->seq, (int) strlen(seq->seq));
        |                                         ^~~~~~~~~~~~~~~~
  In file included from /usr/include/string.h:535,
                   from src/cortex_var/core/file_reader.c:34:
  In function ‘strncpy’,
      inlined from ‘read_next_variant_from_full_flank_file’ at src/cortex_var/core/file_reader.c:2958:3:
  /usr/include/x86_64-linux-gnu/bits/string_fortified.h:95:10: warning: ‘__builtin_strncpy’ specified bound depends on the length of the source argument [-Wstringop-truncation]
     95 |   return __builtin___strncpy_chk (__dest, __src, __len,
        |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     96 |                                   __glibc_objsize (__dest));
        |                                   ~~~~~~~~~~~~~~~~~~~~~~~~~
  src/cortex_var/core/file_reader.c: In function ‘read_next_variant_from_full_flank_file’:
  src/cortex_var/core/file_reader.c:2958:43: note: length computed here
   2958 |   strncpy(var->seq_other, seq->seq, (int) strlen(seq->seq));
        |                                           ^~~~~~~~~~~~~~~~
  In file included from /usr/include/string.h:535,
                   from src/cortex_var/core/file_reader.c:34:
  In function ‘strncpy’,
      inlined from ‘read_next_variant_from_full_flank_file’ at src/cortex_var/core/file_reader.c:2975:7:
  /usr/include/x86_64-linux-gnu/bits/string_fortified.h:95:10: warning: ‘__builtin_strncpy’ specified bound depends on the length of the source argument [-Wstringop-truncation]
     95 |   return __builtin___strncpy_chk (__dest, __src, __len,
        |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     96 |                                   __glibc_objsize (__dest));
        |                                   ~~~~~~~~~~~~~~~~~~~~~~~~~
  src/cortex_var/core/file_reader.c: In function ‘read_next_variant_from_full_flank_file’:
  src/cortex_var/core/file_reader.c:2975:43: note: length computed here
   2975 |       strncpy(var->seq3p, seq->seq, (int) strlen(seq->seq));
        |                                           ^~~~~~~~~~~~~~~~
  src/cortex_var/core/file_reader.c: In function ‘load_population_as_binaries_from_graph’:
  src/cortex_var/core/file_reader.c:2008:5: warning: ‘%s’ directive argument is null [-Wformat-overflow=]
   2008 |     die("Cannot get absolute path to colours: %s\n", filename_abs_path);
        |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  In file included from include/cortex_var/core/error_correction.h:50,
                   from src/cortex_var/core/error_correction.c:37:
  include/basic/binary_kmer.h:70:58: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     70 | boolean binary_kmer_comparison_operator(const BinaryKmer const left, const BinaryKmer const right);
        |                                                          ^~~~~
  include/basic/binary_kmer.h:70:87: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     70 | boolean binary_kmer_comparison_operator(const BinaryKmer const left, const BinaryKmer const right);
        |                                                                                       ^~~~~
  include/basic/binary_kmer.h:71:48: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     71 | boolean binary_kmer_less_than(const BinaryKmer const left, const BinaryKmer const right,short kmer_size);
        |                                                ^~~~~
  include/basic/binary_kmer.h:71:77: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
     71 | boolean binary_kmer_less_than(const BinaryKmer const left, const BinaryKmer const right,short kmer_size);
        |                                                                             ^~~~~
  src/cortex_var/core/error_correction.c: In function ‘take_n_greedy_random_steps’:
  src/cortex_var/core/error_correction.c:863:8: warning: variable ‘tmp_seq’ set but not used [-Wunused-but-set-variable]
    863 |   char tmp_seq[db_graph->kmer_size+1];
        |        ^~~~~~~
  src/cortex_var/core/error_correction.c:861:40: warning: unused variable ‘nucleotide2’ [-Wunused-variable]
    861 |   Nucleotide nucleotide,rev_nucleotide,nucleotide2;
        |                                        ^~~~~~~~~~~
  /usr/bin/ld: src/obj/cortex_var/many_colours/little_hash_for_genotyping.o:(.bss+0x0): multiple definition of `DEBUG'; src/obj/cortex_var/many_colours/genotyping_element.o:(.bss+0x1): first defined here
  /usr/bin/ld: src/obj/cortex_var/many_colours/model_info.o:(.bss+0x0): multiple definition of `DEBUG'; src/obj/cortex_var/many_colours/genotyping_element.o:(.bss+0x1): first defined here
  /usr/bin/ld: src/obj/cortex_var/many_colours/genome_complexity.o:(.bss+0x0): multiple definition of `DEBUG'; src/obj/cortex_var/many_colours/genotyping_element.o:(.bss+0x1): first defined here
  /usr/bin/ld: src/obj/cortex_var/many_colours/global.o:(.bss+0x0): multiple definition of `DEBUG'; src/obj/cortex_var/many_colours/genotyping_element.o:(.bss+0x1): first defined here
  /usr/bin/ld: src/obj/cortex_var/many_colours/db_complex_genotyping.o:(.bss+0x0): multiple definition of `DEBUG'; src/obj/cortex_var/many_colours/genotyping_element.o:(.bss+0x1): first defined here
  /usr/bin/ld: src/obj/cortex_var/many_colours/cortex_var.o:(.bss+0x0): multiple definition of `DEBUG'; src/obj/cortex_var/many_colours/genotyping_element.o:(.bss+0x1): first defined here
  /usr/bin/ld: src/obj/cortex_var/many_colours/binary_kmer.o:(.bss+0x0): multiple definition of `DEBUG'; src/obj/cortex_var/many_colours/genotyping_element.o:(.bss+0x1): first defined here
  /usr/bin/ld: src/obj/cortex_var/many_colours/element.o:(.bss+0x1): multiple definition of `DEBUG'; src/obj/cortex_var/many_colours/genotyping_element.o:(.bss+0x1): first defined here
  /usr/bin/ld: src/obj/cortex_var/many_colours/seq.o:(.bss+0x821): multiple definition of `DEBUG'; src/obj/cortex_var/many_colours/genotyping_element.o:(.bss+0x1): first defined here
  /usr/bin/ld: src/obj/cortex_var/many_colours/hash_value.o:(.bss+0x0): multiple definition of `DEBUG'; src/obj/cortex_var/many_colours/genotyping_element.o:(.bss+0x1): first defined here
  /usr/bin/ld: src/obj/cortex_var/many_colours/hash_table.o:(.bss+0x0): multiple definition of `DEBUG'; src/obj/cortex_var/many_colours/genotyping_element.o:(.bss+0x1): first defined here
  /usr/bin/ld: src/obj/cortex_var/many_colours/dB_graph.o:(.bss+0x0): multiple definition of `DEBUG'; src/obj/cortex_var/many_colours/genotyping_element.o:(.bss+0x1): first defined here
  /usr/bin/ld: src/obj/cortex_var/many_colours/dB_graph_population.o:(.bss+0x0): multiple definition of `DEBUG'; src/obj/cortex_var/many_colours/genotyping_element.o:(.bss+0x1): first defined here
  /usr/bin/ld: src/obj/cortex_var/many_colours/dB_graph_supernode.o:(.bss+0x0): multiple definition of `DEBUG'; src/obj/cortex_var/many_colours/genotyping_element.o:(.bss+0x1): first defined here
  /usr/bin/ld: src/obj/cortex_var/many_colours/db_variants.o:(.bss+0x1): multiple definition of `DEBUG'; src/obj/cortex_var/many_colours/genotyping_element.o:(.bss+0x1): first defined here
  /usr/bin/ld: src/obj/cortex_var/many_colours/cmd_line.o:(.bss+0x0): multiple definition of `DEBUG'; src/obj/cortex_var/many_colours/genotyping_element.o:(.bss+0x1): first defined here
  /usr/bin/ld: src/obj/cortex_var/many_colours/event_encoding.o:(.bss+0x0): multiple definition of `DEBUG'; src/obj/cortex_var/many_colours/genotyping_element.o:(.bss+0x1): first defined here
  /usr/bin/ld: src/obj/cortex_var/many_colours/graph_info.o:(.bss+0x0): multiple definition of `DEBUG'; src/obj/cortex_var/many_colours/genotyping_element.o:(.bss+0x1): first defined here
  /usr/bin/ld: src/obj/cortex_var/many_colours/db_differentiation.o:(.bss+0x0): multiple definition of `DEBUG'; src/obj/cortex_var/many_colours/genotyping_element.o:(.bss+0x1): first defined here
  /usr/bin/ld: src/obj/cortex_var/many_colours/model_selection.o:(.bss+0x0): multiple definition of `DEBUG'; src/obj/cortex_var/many_colours/genotyping_element.o:(.bss+0x1): first defined here
  /usr/bin/ld: src/obj/cortex_var/many_colours/maths.o:(.bss+0x0): multiple definition of `DEBUG'; src/obj/cortex_var/many_colours/genotyping_element.o:(.bss+0x1): first defined here
  /usr/bin/ld: src/obj/cortex_var/many_colours/seq_error_rate_estimation.o:(.bss+0x0): multiple definition of `DEBUG'; src/obj/cortex_var/many_colours/genotyping_element.o:(.bss+0x1): first defined here
  /usr/bin/ld: src/obj/cortex_var/many_colours/file_reader.o:(.bss+0x0): multiple definition of `DEBUG'; src/obj/cortex_var/many_colours/genotyping_element.o:(.bss+0x1): first defined here
  /usr/bin/ld: src/obj/cortex_var/many_colours/error_correction.o:(.bss+0x0): multiple definition of `DEBUG'; src/obj/cortex_var/many_colours/genotyping_element.o:(.bss+0x1): first defined here
  collect2: error: ld returned 1 exit status
  make: *** [Makefile:169: cortex_var] Error 1

  ERROR: backend compilation failed 2
  [end of output]

note: This error originates from a subprocess, and is likely not a problem with pip. ERROR: Failed building wheel for py-cortex-api Running setup.py clean for py-cortex-api Failed to build py-cortex-api Installing collected packages: py-cortex-api, gramtools Running setup.py install for py-cortex-api ... error error: subprocess-exited-with-error

× Running setup.py install for py-cortex-api did not run successfully. │ exit code: 255 ╰─> [9 lines of output] running install running build running build_py START: Building backend dependencies fatal: destination path 'minimap2' already exists and is not an empty directory. ./cortex/ext/install_dependencies.sh: line 16: cd: minimap2_dir: No such file or directory make: *** No targets specified and no makefile found. Stop.

  ERROR: backend compilation failed 2
  [end of output]

note: This error originates from a subprocess, and is likely not a problem with pip. error: legacy-install-failure

× Encountered error while trying to install package. ╰─> py-cortex-api

note: This is an issue with the package mentioned above, not pip. hint: See above for output from the failure.

leoisl commented 1 year ago

Thanks. I think we need to update the py-cortex-api install script to correctly deal with this. Meanwhile, one option for you is to follow this link: https://linuxconfig.org/how-to-switch-between-multiple-gcc-and-g-compiler-versions-on-ubuntu-20-04-lts-focal-fossa and install gcc-8 alongside your default gcc (could you send us the version?), and activate it. No need to install versions 7 or 9, 8 is enough. Then you will need to start over the minos installation. Before doing so, run gcc --version to ensure it points to gcc-8 and won't fail

ycode-sh commented 1 year ago

Oh thank you so much sir. I will rerun it just as you have said and give a feedback ASAP

ycode-sh commented 1 year ago

Got this error while trying to install gcc and g++. I suspect I have tampered with sudo apt install while trying to troubleshoot autoconf. Since then, I have not been able to use sudo apt install properly. Can you please help me with this?

sudo apt -y install gcc-8 g++-8 Reading package lists... Done Building dependency tree... Done Reading state information... Done E: Unable to locate package gcc-8 E: Unable to locate package g++-8

leoisl commented 1 year ago

Oh sorry, the gcc-8 package has been discontinued in the Ubuntu 22.04 and later default repositories. Does gcc-9 work?

ycode-sh commented 1 year ago

None is working. sudo apt -y install gcc-7 g++-7 gcc-8 g++-8 gcc-9 g++-9 [sudo] password for yemi_codes: Reading package lists... Done Building dependency tree... Done Reading state information... Done E: Unable to locate package gcc-7 E: Unable to locate package g++-7 E: Unable to locate package gcc-8 E: Unable to locate package g++-8 E: Unable to locate package gcc-9 E: Unable to locate package g++-9

I think the problem is from here, because I can't also install other software

martinghunt commented 1 year ago

In case it helps, the version of gramtools used by minos is updated to use htslib 1.16 (latest at time of writing)

ycode-sh commented 1 year ago

Oh sorry, the gcc-8 package has been discontinued in the Ubuntu 22.04 and later default repositories. Does gcc-9 work? In case it helps, the version of gramtools used by minos is updated to use htslib 1.16 (latest at time of writing)

Thank you very much for your great assistance. It has really helped The challenge I am having now is getting to install different gcc and g++ version.

yemi_codes@genomics-lab:~$ gcc --version gcc (Ubuntu 11.3.0-1ubuntu1~22.04) 11.3.0

I can no longer install software using apt since I sudo apt unintsall auntoconf . Is there a way I can easily get around this? yemi_codes@genomics-lab:~$ sudo apt -y install gcc-7 g++-7 gcc-8 g++-8 gcc-9 g++-9 Reading package lists... Done Building dependency tree... Done Reading state information... Done E: Unable to locate package gcc-7 E: Unable to locate package g++-7 E: Unable to locate package gcc-8 E: Unable to locate package g++-8 E: Unable to locate package gcc-9 E: Unable to locate package g++-9

ycode-sh commented 1 year ago

Finally! minos now works! I installed gcc-9 and g++-9 and that was it. Special thanks to @leoisl , @martinghunt , and @iqbal-lab . Thank you so much @leoisl for staying so long with me to solve the problem. I suggest the iqbal-lab team update the py-cortex-api install script to ensure that linux OS with later versions gcc can install minos easily. Many thanks