pirovc / ganon

ganon2 classifies genomic sequences against large sets of references efficiently, with integrated download and update of databases (refseq/genbank), taxonomic profiling (ncbi/gtdb), binning and hierarchical classification, customized reporting and more
https://pirovc.github.io/ganon/
MIT License
86 stars 13 forks source link

Inquiry abou ganon build Error - Error Code: -4 #262

Closed zhaobo22 closed 10 months ago

zhaobo22 commented 10 months ago

Hi there, Thanks for building this greate tool. I am encountering an issue while using ganon for the build database process, and I'm seeking your assistance in resolving it. The error message I'm facing is as follows:

Building index (raptor) raptor prepare The following command failed to run: /miniconda3/envs/ganon/bin/raptor prepare --input 'a_rs_files/build/hibf.txt' --output 'a_rs_files/build/' --kmer 19 --window 31 --quiet --threads 48

Error code: -4

I initiated the build process with the following specific command: ganon build --source refseq --organism-group archaea --threads 48 --hibf --level species --db-prefix a_rs

I would greatly appreciate your guidance on how to address this error and successfully complete the ganon build. Any insights or suggestions you can provide would be immensely helpful.

Thank you for your time and expertise!

pirovc commented 10 months ago

Hi @zhaobo22, which version of ganon are you using? I just ran the same command here in v1.9.0 and it worked fine.

zhaobo22 commented 10 months ago

Thanks for reply! I used v1.9.0 ganon, too. This was really weird because it worked fine on my other server. I judged from the error message that raptor could not run properly. In fact, when I ran raptor -h, the following error occurred:

Illegal instruction (core dumped)

So I guess there should be a problem with the environment configuration, but I don't know exactly where the problem is. I can provide other error messages to help you determine the problem if you need.

Besides, I also got an error when I tried to compile from ganon source code with the following error message:

src/CMakeFiles/ganon-build-lib.dir/build.make:89: recipe for target 'src/CMakeFiles/ganon-build-lib.dir/ganon-build/GanonBuild.cpp.o' failed make[2]: [src/CMakeFiles/ganon-build-lib.dir/ganon-build/GanonBuild.cpp.o] Error 1 CMakeFiles/Makefile2:121: recipe for target 'src/CMakeFiles/ganon-build-lib.dir/all' failed make[1]: [src/CMakeFiles/ganon-build-lib.dir/all] Error 2 Makefile:145: recipe for target 'all' failed make: *** [all] Error 2

pirovc commented 10 months ago

So are you using the conda version, right? Can you double check the version of raptor installed in that environment with conda list -n your_env -f raptor.

To better help with the compilation I would have to see the full cmake and make command outputs.

zhaobo22 commented 10 months ago

Yes, I used the conda version. The version of raptor in ganon environment is as follows: image

The cmake -DCMAKE_BUILD_TYPE=Release -DVERBOSE_CONFIG=ON -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -DCONDA=OFF -DLONGREADS=OFF .. command output is as follows:

-- The CXX compiler identification is GNU 11.4.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 -- Performing Test CMAKE_HAVE_LIBC_PTHREAD -- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Failed -- Looking for pthread_create in pthreads -- Looking for pthread_create in pthreads - not found -- Looking for pthread_create in pthread -- Looking for pthread_create in pthread - found -- Found Threads: TRUE
-- Found ZLIB: /usr/lib/x86_64-linux-gnu/libz.so (found version "1.2.11")
-- Finding SeqAn3 and checking requirements: -- SeqAn3 include dir found: /home/zhaobo/tools/ganon/libs/seqan3/include -- Detected as running from a repository checkout… -- …adding submodule include: /home/zhaobo/tools/ganon/libs/seqan3/submodules/cereal/include -- …adding submodule include: /home/zhaobo/tools/ganon/libs/seqan3/submodules/range-v3/include -- …adding submodule include: /home/zhaobo/tools/ganon/libs/seqan3/submodules/sdsl-lite/include -- C++ Standard-17 support: builtin -- C++ Concepts support: via -fconcepts -- C++ Filesystem header: -- C++ Filesystem library: builtin -- Check if compiler accepts -pthread -- Check if compiler accepts -pthread - yes -- Thread support: via -pthread -- Required dependency: Range-V3 found. -- Required dependency: SDSL found. -- Optional dependency: Cereal found. -- Optional dependency: Lemon not found. -- Optional dependency: ZLIB-1.2.11 found. -- Optional dependency: BZip2-1.0.6 found. -- Optional dependency: libexecinfo found. -- SeqAn3 platform.hpp build: passed. -- Found SeqAn3: /home/zhaobo/tools/ganon/libs/seqan3/include (Required is at least version "3.1.0") -- SeqAn3 symbols -- SEQAN3_VERSION : 3.1.0 -- SEQAN3_DEFINITIONS : -DSEQAN3_HAS_ZLIB=1;-DSEQAN3_HAS_BZIP2=1 -- SEQAN3_CXX_FLAGS : -fconcepts -- SEQAN3_INCLUDE_DIRS : /home/zhaobo/tools/ganon/libs/seqan3/include;/home/zhaobo/tools/ganon/libs/seqan3/submodules/sdsl-lite/include;/home/zhaobo/tools/ganon/libs/seqan3/submodules/range-v3/include;/home/zhaobo/tools/ganon/libs/seqan3/submodules/cereal/include;/usr/include;/usr/local/include -- SEQAN3_LIBRARIES : Threads::Threads;/usr/lib/x86_64-linux-gnu/libz.so;/usr/local/lib/libbz2.a;rt -- Misc symbols -- Build type : Release -- CMAKE_CXX_FLAGS : -fconcepts -- INCLUDE_DIRS : OFF -- CMAKE_INSTALL_PREFIX: /usr/local -- CONDA : OFF -- LONGREADS : OFF -- COMPILE_OPTIONS : -Wall;-Wextra;-Wshadow;-Wuninitialized;-Wcast-align;-Wunused;-Woverloaded-virtual;-Wpedantic;-Wnull-dereference;-Wdouble-promotion;-Wformat=2;-Wstrict-aliasing;-Wunused-variable;-Wno-shadow;-Wno-old-style-cast;-Wmisleading-indentation;-Wduplicated-cond;-Wduplicated-branches;-Wlogical-op;-Wuseless-cast;-static;-march=native;-DSEQAN3_HAS_ZLIB=1;-DSEQAN3_HAS_BZIP2=1 -- Configuring done (17.1s) -- Generating done (0.0s) -- Build files have been written to: /home/zhaobo/tools/ganon/build

The make command output is as follows:

[ 6%] Building CXX object src/CMakeFiles/ganon-classify-lib.dir/ganon-classify/GanonClassify.cpp.o [ 12%] Building CXX object src/CMakeFiles/ganon-classify-lib.dir/ganon-classify/CommandLineParser.cpp.o [ 18%] Building CXX object src/CMakeFiles/ganon-build-lib.dir/ganon-build/CommandLineParser.cpp.o [ 25%] Building CXX object src/CMakeFiles/ganon-build-lib.dir/ganon-build/GanonBuild.cpp.o In file included from /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/io/sam_file/detail/format_sam_base.hpp:26, from /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/io/sam_file/format_sam.hpp:23, from /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/io/sequence_file/input.hpp:32, from /home/zhaobo/tools/ganon/src/utils/include/utils/dna4_traits.hpp:10, from /home/zhaobo/tools/ganon/src/ganon-build/GanonBuild.cpp:10: /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/io/sam_file/output_format_concept.hpp:87:15: error: ‘std::optional’ has not been declared 87 | std::optional & ref_id, | ^~~ /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/io/sam_file/output_format_concept.hpp:87:28: error: expected ‘,’ or ‘...’ before ‘<’ token 87 | std::optional & ref_id, | ^ In file included from /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/utility/char_operations/pretty_print.hpp:17, from /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/alphabet/exception.hpp:19, from /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/alphabet/concept.hpp:17, from /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/alphabet/adaptation/char.hpp:28, from /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/io/sequence_file/input.hpp:22, from /home/zhaobo/tools/ganon/src/utils/include/utils/dna4_traits.hpp:10, from /home/zhaobo/tools/ganon/src/ganon-build/GanonBuild.cpp:10: /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/io/sam_file/output_format_concept.hpp:108:60: error: ‘ref_id’ was not declared in this scope; did you mean ‘seqan3::field::ref_id’? 108 | ref_id, | ^~ /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/core/platform.hpp:58:9: note: in definition of macro ‘SEQAN3_RETURN_TYPE_CONSTRAINT’ 58 | {expression} -> concept_name<__VA_ARGS__> | ^~~~~~ In file included from /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/io/detail/record.hpp:19, from /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/io/sequence_file/input.hpp:30, from /home/zhaobo/tools/ganon/src/utils/include/utils/dna4_traits.hpp:10, from /home/zhaobo/tools/ganon/src/ganon-build/GanonBuild.cpp:10: /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/io/record.hpp:82:5: note: ‘seqan3::field::ref_id’ declared here 82 | ref_id, //!< The identifier of the (reference) sequence that seqan3::field::seq was aligned to. | ^~ In file included from /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/utility/char_operations/pretty_print.hpp:17, from /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/alphabet/exception.hpp:19, from /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/alphabet/concept.hpp:17, from /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/alphabet/adaptation/char.hpp:28, from /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/io/sequence_file/input.hpp:22, from /home/zhaobo/tools/ganon/src/utils/include/utils/dna4_traits.hpp:10, from /home/zhaobo/tools/ganon/src/ganon-build/GanonBuild.cpp:10: /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/io/sam_file/output_format_concept.hpp:109:60: error: ‘ref_offset’ was not declared in this scope; did you mean ‘seqan3::field::ref_offset’? 109 | ref_offset, | ^~~~~~ /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/core/platform.hpp:58:9: note: in definition of macro ‘SEQAN3_RETURN_TYPE_CONSTRAINT’ 58 | {expression} -> concept_name<__VA_ARGS__> | ^~~~~~ In file included from /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/io/detail/record.hpp:19, from /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/io/sequence_file/input.hpp:30, from /home/zhaobo/tools/ganon/src/utils/include/utils/dna4_traits.hpp:10, from /home/zhaobo/tools/ganon/src/ganon-build/GanonBuild.cpp:10: /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/io/record.hpp:84:5: note: ‘seqan3::field::ref_offset’ declared here 84 | ref_offset, //!< Sequence (seqan3::field::ref_seq) relative start position (0-based), unsigned value. | ^~~~~~ In file included from /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/utility/char_operations/pretty_print.hpp:17, from /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/alphabet/exception.hpp:19, from /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/alphabet/concept.hpp:17, from /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/alphabet/adaptation/char.hpp:28, from /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/io/sequence_file/input.hpp:22, from /home/zhaobo/tools/ganon/src/utils/include/utils/dna4_traits.hpp:10, from /home/zhaobo/tools/ganon/src/ganon-build/GanonBuild.cpp:10: /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/io/sam_file/output_format_concept.hpp:110:60: error: ‘align’ was not declared in this scope; did you mean ‘std::align’? 110 | align, | ^~~~~ /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/core/platform.hpp:58:9: note: in definition of macro ‘SEQAN3_RETURN_TYPE_CONSTRAINT’ 58 | {expression} -> concept_name<__VA_ARGS__> | ^~~~~~ In file included from /usr/include/c++/11/memory:72, from /home/zhaobo/tools/ganon/libs/robin-hood-hashing/src/include/robin_hood.h:46, from /home/zhaobo/tools/ganon/src/ganon-build/GanonBuild.cpp:3: /usr/include/c++/11/bits/align.h:62:1: note: ‘std::align’ declared here 62 | align(size_t align, size_t size, void*& ptr, size_t& space) noexcept | ^~~~~ In file included from /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/utility/char_operations/pretty_print.hpp:17, from /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/alphabet/exception.hpp:19, from /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/alphabet/concept.hpp:17, from /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/alphabet/adaptation/char.hpp:28, from /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/io/sequence_file/input.hpp:22, from /home/zhaobo/tools/ganon/src/utils/include/utils/dna4_traits.hpp:10, from /home/zhaobo/tools/ganon/src/ganon-build/GanonBuild.cpp:10: /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/io/sam_file/output_format_concept.hpp:111:65: error: expected primary-expression before ‘,’ token 111 | cigar, | ^ /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/core/platform.hpp:58:9: note: in definition of macro ‘SEQAN3_RETURN_TYPE_CONSTRAINT’ 58 | {expression} -> concept_name<__VA_ARGS__> | ^~~~~~ /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/io/sam_file/output_format_concept.hpp:112:60: error: ‘flag’ was not declared in this scope; did you mean ‘seqan3::field::flag’? 112 | flag, | ^~~~ /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/core/platform.hpp:58:9: note: in definition of macro ‘SEQAN3_RETURN_TYPE_CONSTRAINT’ 58 | {expression} -> concept_name<__VA_ARGS__> | ^~~~~~ In file included from /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/io/detail/record.hpp:19, from /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/io/sequence_file/input.hpp:30, from /home/zhaobo/tools/ganon/src/utils/include/utils/dna4_traits.hpp:10, from /home/zhaobo/tools/ganon/src/ganon-build/GanonBuild.cpp:10: /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/io/record.hpp:87:5: note: ‘seqan3::field::flag’ declared here 87 | flag, //!< The alignment flag (bit information), uint16_t value. | ^~~~ In file included from /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/utility/char_operations/pretty_print.hpp:17, from /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/alphabet/exception.hpp:19, from /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/alphabet/concept.hpp:17, from /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/alphabet/adaptation/char.hpp:28, from /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/io/sequence_file/input.hpp:22, from /home/zhaobo/tools/ganon/src/utils/include/utils/dna4_traits.hpp:10, from /home/zhaobo/tools/ganon/src/ganon-build/GanonBuild.cpp:10: /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/io/sam_file/output_format_concept.hpp:113:60: error: ‘mapq’ was not declared in this scope; did you mean ‘seqan3::field::mapq’? 113 | mapq, | ^~~~ /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/core/platform.hpp:58:9: note: in definition of macro ‘SEQAN3_RETURN_TYPE_CONSTRAINT’ 58 | {expression} -> concept_name<__VA_ARGS__> | ^~~~~~ In file included from /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/io/detail/record.hpp:19, from /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/io/sequence_file/input.hpp:30, from /home/zhaobo/tools/ganon/src/utils/include/utils/dna4_traits.hpp:10, from /home/zhaobo/tools/ganon/src/ganon-build/GanonBuild.cpp:10: /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/io/record.hpp:89:5: note: ‘seqan3::field::mapq’ declared here 89 | mapq, //!< The mapping quality of the seqan3::field::seq alignment, usually a Phred-scaled score. | ^~~~ In file included from /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/utility/char_operations/pretty_print.hpp:17, from /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/alphabet/exception.hpp:19, from /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/alphabet/concept.hpp:17, from /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/alphabet/adaptation/char.hpp:28, from /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/io/sequence_file/input.hpp:22, from /home/zhaobo/tools/ganon/src/utils/include/utils/dna4_traits.hpp:10, from /home/zhaobo/tools/ganon/src/ganon-build/GanonBuild.cpp:10: /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/io/sam_file/output_format_concept.hpp:114:60: error: ‘mate’ was not declared in this scope; did you mean ‘seqan3::field::mate’? 114 | mate, | ^~~~ /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/core/platform.hpp:58:9: note: in definition of macro ‘SEQAN3_RETURN_TYPE_CONSTRAINT’ 58 | {expression} -> concept_name<__VA_ARGS__> | ^~~~~~ In file included from /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/io/detail/record.hpp:19, from /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/io/sequence_file/input.hpp:30, from /home/zhaobo/tools/ganon/src/utils/include/utils/dna4_traits.hpp:10, from /home/zhaobo/tools/ganon/src/ganon-build/GanonBuild.cpp:10: /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/io/record.hpp:88:5: note: ‘seqan3::field::mate’ declared here 88 | mate, //!< The mate pair information given as a std::tuple of reference name, offset and template length. | ^~~~ In file included from /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/utility/char_operations/pretty_print.hpp:17, from /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/alphabet/exception.hpp:19, from /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/alphabet/concept.hpp:17, from /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/alphabet/adaptation/char.hpp:28, from /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/io/sequence_file/input.hpp:22, from /home/zhaobo/tools/ganon/src/utils/include/utils/dna4_traits.hpp:10, from /home/zhaobo/tools/ganon/src/ganon-build/GanonBuild.cpp:10: /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/io/sam_file/output_format_concept.hpp:115:60: error: ‘tag_dict’ was not declared in this scope 115 | tag_dict, | ^~~~ /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/core/platform.hpp:58:9: note: in definition of macro ‘SEQAN3_RETURN_TYPE_CONSTRAINT’ 58 | {expression} -> concept_name<__VA_ARGS__> | ^~~~~~ /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/io/sam_file/output_format_concept.hpp:116:60: error: ‘e_value’ was not declared in this scope 116 | e_value, | ^~~ /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/core/platform.hpp:58:9: note: in definition of macro ‘SEQAN3_RETURN_TYPE_CONSTRAINT’ 58 | {expression} -> concept_name<__VA_ARGS__> | ^~~~~~ /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/io/sam_file/output_format_concept.hpp:117:60: error: ‘bit_score’ was not declared in this scope; did you mean ‘seqan3::field::bit_score’? 117 | bit_score), | ^~~~~ /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/core/platform.hpp:58:9: note: in definition of macro ‘SEQAN3_RETURN_TYPE_CONSTRAINT’ 58 | {expression} -> concept_name<__VA_ARGS__> | ^~~~~~ In file included from /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/io/detail/record.hpp:19, from /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/io/sequence_file/input.hpp:30, from /home/zhaobo/tools/ganon/src/utils/include/utils/dna4_traits.hpp:10, from /home/zhaobo/tools/ganon/src/ganon-build/GanonBuild.cpp:10: /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/io/record.hpp:93:5: note: ‘seqan3::field::bit_score’ declared here 93 | bit_score, //!< The bit score (statistical significance indicator), unsigned value. | ^~~~~ In file included from /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/io/sam_file/format_sam.hpp:23, from /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/io/sequence_file/input.hpp:32, from /home/zhaobo/tools/ganon/src/utils/include/utils/dna4_traits.hpp:10, from /home/zhaobo/tools/ganon/src/ganon-build/GanonBuild.cpp:10: /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/io/sam_file/detail/format_sam_base.hpp:102:54: error: ‘std::optional’ has not been declared 102 | void read_field(stream_view_type && stream_view, std::optional & target); | ^~~ /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/io/sam_file/detail/format_sam_base.hpp:102:67: error: expected ‘,’ or ‘...’ before ‘<’ token 102 | void read_field(stream_view_type && stream_view, std::optional & target); | ^ /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/io/sam_file/detail/format_sam_base.hpp:377:74: error: ‘std::optional’ has not been declared 377 | inline void format_sam_base::read_field(stream_view_type && stream_view, std::optional & target) | ^~~ /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/io/sam_file/detail/format_sam_base.hpp:377:87: error: expected ‘,’ or ‘...’ before ‘<’ token 377 | inline void format_sam_base::read_field(stream_view_type && stream_view, std::optional & target) | ^ /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/io/sam_file/detail/format_sam_base.hpp: In member function ‘void seqan3::detail::format_sam_base::read_field(stream_view_type&&, int)’: /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/io/sam_file/detail/format_sam_base.hpp:381:5: error: ‘target’ was not declared in this scope 381 | target = tmp; | ^~ /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/io/sam_file/detail/format_sam_base.hpp: In member function ‘void seqan3::detail::format_sam_base::read_header(stream_view_type&&, seqan3::sam_file_header&, ref_seqs_type&)’: /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/io/sam_file/detail/format_sam_base.hpp:530:22: error: ‘optional’ is not a member of ‘st’ 530 | std::optional sequence_length{}; | ^~~~ /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/io/sam_file/detail/format_sam_base.hpp:30:1: note: ‘std::optional’ is defined in header ‘’; did you forget to ‘#include ’? 29 | #include <seqan3/utility/views/slice.hpp> +++ |+#include 30 | #include <seqan3/utility/views/zip.hpp> /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/io/sam_file/detail/format_sam_base.hpp:530:38: error: expected primary-expression before ‘>’ token 530 | std::optional sequence_length{}; | ^ /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/io/sam_file/detail/format_sam_base.hpp:530:40: error: ‘sequence_length’ was not declared in this scope 530 | std::optional sequence_length{}; | ^~~~~~~ In file included from /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/io/sam_file/format_sam.hpp:25, from /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/io/sequence_file/input.hpp:32, from /home/zhaobo/tools/ganon/src/utils/include/utils/dna4_traits.hpp:10, from /home/zhaobo/tools/ganon/src/ganon-build/GanonBuild.cpp:10: /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/io/sam_file/input_format_concept.hpp: At global scope: /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/io/sam_file/input_format_concept.hpp:88:15: error: ‘std::optional’ has not been declared 88 | std::optional & ref_id, | ^~~ /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/io/sam_file/input_format_concept.hpp:88:28: error: expected ‘,’ or ‘...’ before ‘<’ token 88 | std::optional & ref_id, | ^ /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/io/sam_file/input_format_concept.hpp:111:31: error: ‘ref_id’ was not declared in this scope; did you mean ‘seqan3::field::ref_id’? 111 | ref_id, | ^~ | seqan3::field::ref_id In file included from /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/io/detail/record.hpp:19, from /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/io/sequence_file/input.hpp:30, from /home/zhaobo/tools/ganon/src/utils/include/utils/dna4_traits.hpp:10, from /home/zhaobo/tools/ganon/src/ganon-build/GanonBuild.cpp:10: /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/io/record.hpp:82:5: note: ‘seqan3::field::ref_id’ declared here 82 | ref_id, //!< The identifier of the (reference) sequence that seqan3::field::seq was aligned to. | ^~ In file included from /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/io/sam_file/format_sam.hpp:25, from /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/io/sequence_file/input.hpp:32, from /home/zhaobo/tools/ganon/src/utils/include/utils/dna4_traits.hpp:10, from /home/zhaobo/tools/ganon/src/ganon-build/GanonBuild.cpp:10: /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/io/sam_file/input_format_concept.hpp:112:31: error: ‘ref_offset’ was not declared in this scope; did you mean ‘seqan3::field::ref_offset’? 112 | ref_offset, | ^~~~~~ | seqan3::field::ref_offset In file included from /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/io/detail/record.hpp:19, from /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/io/sequence_file/input.hpp:30, from /home/zhaobo/tools/ganon/src/utils/include/utils/dna4_traits.hpp:10, from /home/zhaobo/tools/ganon/src/ganon-build/GanonBuild.cpp:10: /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/io/record.hpp:84:5: note: ‘seqan3::field::ref_offset’ declared here 84 | ref_offset, //!< Sequence (seqan3::field::ref_seq) relative start position (0-based), unsigned value. | ^~~~~~ In file included from /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/io/sam_file/format_sam.hpp:25, from /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/io/sequence_file/input.hpp:32, from /home/zhaobo/tools/ganon/src/utils/include/utils/dna4_traits.hpp:10, from /home/zhaobo/tools/ganon/src/ganon-build/GanonBuild.cpp:10: /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/io/sam_file/input_format_concept.hpp:113:31: error: ‘align’ was not declared in this scope; did you mean ‘std::align’? 113 | align, | ^~~~~ | std::align In file included from /usr/include/c++/11/memory:72, from /home/zhaobo/tools/ganon/libs/robin-hood-hashing/src/include/robin_hood.h:46, from /home/zhaobo/tools/ganon/src/ganon-build/GanonBuild.cpp:3: /usr/include/c++/11/bits/align.h:62:1: note: ‘std::align’ declared here 62 | align(size_t align, size_t size, void*& ptr, size_t& space) noexcept | ^~~~~ In file included from /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/io/sam_file/format_sam.hpp:25, from /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/io/sequence_file/input.hpp:32, from /home/zhaobo/tools/ganon/src/utils/include/utils/dna4_traits.hpp:10, from /home/zhaobo/tools/ganon/src/ganon-build/GanonBuild.cpp:10: /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/io/sam_file/input_format_concept.hpp:114:36: error: expected primary-expression before ,’ token 114 | cigar, | ^ /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/io/sam_file/input_format_concept.hpp:115:31: error: ‘flag’ was not declared in this scope; did you mean ‘seqan3::field::flag’? 115 | flag, | ^~~~ | seqan3::field::flag In file included from /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/io/detail/record.hpp:19, from /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/io/sequence_file/input.hpp:30, from /home/zhaobo/tools/ganon/src/utils/include/utils/dna4_traits.hpp:10, from /home/zhaobo/tools/ganon/src/ganon-build/GanonBuild.cpp:10: /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/io/record.hpp:87:5: note: ‘seqan3::field::flag’ declared here 87 | flag, //!< The alignment flag (bit information), uint16_t value. | ^~~~ In file included from /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/io/sam_file/format_sam.hpp:25, from /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/io/sequence_file/input.hpp:32, from /home/zhaobo/tools/ganon/src/utils/include/utils/dna4_traits.hpp:10, from /home/zhaobo/tools/ganon/src/ganon-build/GanonBuild.cpp:10: /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/io/sam_file/input_format_concept.hpp:116:31: error: ‘mapq’ was not declared in this scope; did you mean ‘seqan3::field::mapq’? 116 | mapq, | ^~~~ | seqan3::field::mapq In file included from /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/io/detail/record.hpp:19, from /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/io/sequence_file/input.hpp:30, from /home/zhaobo/tools/ganon/src/utils/include/utils/dna4_traits.hpp:10, from /home/zhaobo/tools/ganon/src/ganon-build/GanonBuild.cpp:10: /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/io/record.hpp:89:5: note: ‘seqan3::field::mapq’ declared here 89 | mapq, //!< The mapping quality of the seqan3::field::seq alignment, usually a Phred-scaled score. | ^~~~ In file included from /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/io/sam_file/format_sam.hpp:25, from /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/io/sequence_file/input.hpp:32, from /home/zhaobo/tools/ganon/src/utils/include/utils/dna4_traits.hpp:10, from /home/zhaobo/tools/ganon/src/ganon-build/GanonBuild.cpp:10: /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/io/sam_file/input_format_concept.hpp:117:31: error: ‘mate’ was not declared in this scope; did you mean ‘seqan3::field::mate’? 117 | mate, | ^~~~ | seqan3::field::mate In file included from /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/io/detail/record.hpp:19, from /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/io/sequence_file/input.hpp:30, from /home/zhaobo/tools/ganon/src/utils/include/utils/dna4_traits.hpp:10, from /home/zhaobo/tools/ganon/src/ganon-build/GanonBuild.cpp:10: /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/io/record.hpp:88:5: note: ‘seqan3::field::mate’ declared here 88 | mate, //!< The mate pair information given as a std::tuple of reference name, offset and template length. | ^~~~ In file included from /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/io/sam_file/format_sam.hpp:25, from /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/io/sequence_file/input.hpp:32, from /home/zhaobo/tools/ganon/src/utils/include/utils/dna4_traits.hpp:10, from /home/zhaobo/tools/ganon/src/ganon-build/GanonBuild.cpp:10: /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/io/sam_file/input_format_concept.hpp:118:31: error: ‘tag_dict’ was not declared in this scope 118 | tag_dict, | ^~~~ /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/io/sam_file/input_format_concept.hpp:119:31: error: ‘e_value’ was not declared in this scope 119 | e_value, | ^~~ /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/io/sam_file/input_format_concept.hpp:120:31: error: ‘bit_score’ was not declared in this scope; did you mean ‘seqan3::field::bit_score’? 120 | bit_score)}; | ^~~~~ | seqan3::field::bit_score In file included from /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/io/detail/record.hpp:19, from /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/io/sequence_file/input.hpp:30, from /home/zhaobo/tools/ganon/src/utils/include/utils/dna4_traits.hpp:10, from /home/zhaobo/tools/ganon/src/ganon-build/GanonBuild.cpp:10: /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/io/record.hpp:93:5: note: ‘seqan3::field::bit_score’ declared here 93 | bit_score, //!< The bit score (statistical significance indicator), unsigned value. | ^~~~~ In file included from /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/io/sequence_file/input.hpp:32, from /home/zhaobo/tools/ganon/src/utils/include/utils/dna4_traits.hpp:10, from /home/zhaobo/tools/ganon/src/ganon-build/GanonBuild.cpp:10: /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/io/sam_file/format_sam.hpp:220:33: error: ‘std::optional’ has not been declared 220 | std::optional ref_offset, | ^~~ /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/io/sam_file/format_sam.hpp:220:46: error: expected ‘,’ or ‘...’ before ‘<’ token 220 | std::optional ref_offset, | ^ /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/io/sam_file/format_sam.hpp: In member function ‘void seqan3::format_sam::write_sequence_record(stream_type&, const seqan3::sequence_file_output_options&, seq_type&&, id_type&&, qual_type&&)’: /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/io/sam_file/format_sam.hpp:323:63: error: ‘optional’ is not a member of ‘std’ 323 | using default_mate_t = std::tuple<std::string_view, std::optional, int32_t>; | ^~~~ /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/io/sam_file/format_sam.hpp:38:1: note: ‘std::optional’ is defined in header ‘’; did you forget to ‘#include ’? 37 | #include <seqan3/utility/views/to.hpp> +++ |+#include 38 | /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/io/sam_file/format_sam.hpp:323:79: error: template argument 2 is invalid 323 | using default_mate_t = std::tuple<std::string_view, std::optional, int32_t>; | ^ /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/io/sam_file/format_sam.hpp:341:28: error: ‘default_mate_t’ was not declared in this scope; did you mean ‘default_align_t’? 341 | /mate/ default_mate_t{}, | ^~~~~~ | default_align_t In file included from /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/io/sequence_file/input.hpp:32, from /home/zhaobo/tools/ganon/src/utils/include/utils/dna4_traits.hpp:10, from /home/zhaobo/tools/ganon/src/ganon-build/GanonBuild.cpp:10: /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/io/sam_file/format_sam.hpp: In member function ‘void seqan3::format_sam::read_alignment_record(stream_type&, const seqan3::sam_file_input_options&, ref_seqs_type&, seqan3::sam_file_header&, seq_type&, qual_type&, id_type&, offset_type&, ref_seq_type&, ref_id_type&, ref_offset_type&, align_type&, cigar_type&, flag_type&, mapq_type&, mate_type&, tag_dict_type&, e_value_type&, bit_score_type&)’: /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/io/sam_file/format_sam.hpp:388:77: error: ‘optional’ is not a member of ‘std’ 388 | detail::is_type_specialisation_of_v<ref_offset_type, std::optional>, | ^~~~ /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/io/sam_file/format_sam.hpp:388:77: note: ‘std::optional’ is defined in header ‘’; did you forget to ‘#include ’? /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/io/sam_file/format_sam.hpp:427:27: error: ‘nullopt’ is not a member of ‘std’; did you mean ‘ranges::nullopt’? 427 | ref_offset = std::nullopt; // indicates an unmapped read -> ref_offset is not set | ^~~ In file included from /home/zhaobo/tools/ganon/libs/seqan3/submodules/range-v3/include/range/v3/view/drop.hpp:30, from /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/std/ranges:120, from /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/io/detail/in_file_iterator.hpp:16, from /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/io/sequence_file/input.hpp:28, from /home/zhaobo/tools/ganon/src/utils/include/utils/dna4_traits.hpp:10, from /home/zhaobo/tools/ganon/src/ganon-build/GanonBuild.cpp:10: /home/zhaobo/tools/ganon/libs/seqan3/submodules/range-v3/include/range/v3/utility/optional.hpp:53:32: note: ‘ranges::nullopt’ declared here 53 | inline constexpr nullopt_t nullopt{nullopt_t::tag{}}; | ^~~ In file included from /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/io/sequence_file/input.hpp:32, from /home/zhaobo/tools/ganon/src/utils/include/utils/dna4_traits.hpp:10, from /home/zhaobo/tools/ganon/src/ganon-build/GanonBuild.cpp:10: /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/io/sam_file/format_sam.hpp: At global scope: /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/io/sam_file/format_sam.hpp:635:48: error: ‘std::optional’ has not been declared 635 | std::optional ref_offset, | ^~~ /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/io/sam_file/format_sam.hpp:635:61: error: expected ‘,’ or ‘...’ before ‘<’ token 635 | std::optional ref_offset, | ^ /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/io/sam_file/format_sam.hpp: In member function ‘void seqan3::format_sam::write_alignment_record(stream_type&, const seqan3::sam_file_output_options&, header_type&&, seq_type&&, qual_type&&, id_type&&, int32_t, ref_seq_type&&, ref_id_type&&, int)’: /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/io/sam_file/format_sam.hpp:675:99: error: ‘optional’ is not a member of ‘std’ 675 | detail::is_type_specialisation_of_v<std::remove_cvref_t, std::optional>), | ^~~~ /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/io/sam_file/format_sam.hpp:675:99: note: ‘std::optional’ is defined in header ‘’; did you forget to ‘#include ’? /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/io/sam_file/format_sam.hpp:680:98: error: ‘optional’ is not a member of ‘std’ 680 | detail::is_type_specialisation_of_v<std::remove_cvref_t, std::optional>) | ^~~~ /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/io/sam_file/format_sam.hpp:680:98: note: ‘std::optional’ is defined in header ‘’; did you forget to ‘#include ’? /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/io/sam_file/format_sam.hpp:690:107: error: ‘align’ was not declared in this scope; did you mean ‘std::align’? 690 | std::equality_comparable_with<gap, std::ranges::range_reference_t<decltype(std::get<0>(align))>> && | ^~~~~ | std::align In file included from /usr/include/c++/11/memory:72, from /home/zhaobo/tools/ganon/libs/robin-hood-hashing/src/include/robin_hood.h:46, from /home/zhaobo/tools/ganon/src/ganon-build/GanonBuild.cpp:3: /usr/include/c++/11/bits/align.h:62:1: note: ‘std::align’ declared here 62 | align(size_t align, size_t size, void*& ptr, size_t& space) noexcept | ^~~~~ In file included from /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/io/sequence_file/input.hpp:32, from /home/zhaobo/tools/ganon/src/utils/include/utils/dna4_traits.hpp:10, from /home/zhaobo/tools/ganon/src/ganon-build/GanonBuild.cpp:10: /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/io/sam_file/format_sam.hpp:690:86: error: template argument 1 is invalid 690 | std::equality_comparable_with<gap, std::ranges::range_reference_t<decltype(std::get<0>(align))>> && | ^~~~~~~~ /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/io/sam_file/format_sam.hpp:690:25: error: template argument 2 is invalid 690 | std::equality_comparable_with<gap, std::ranges::range_reference_t<decltype(std::get<0>(align))>> && | ^~~~~~~~~~~~~~~~~~~ /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/io/sam_file/format_sam.hpp:691:86: error: template argument 1 is invalid 691 | std::equality_comparable_with<gap, std::ranges::range_reference_t<decltype(std::get<1>(align))>>), | ^~~~~~~~ /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/io/sam_file/format_sam.hpp:691:25: error: template argument 2 is invalid 691 | std::equality_comparable_with<gap, std::ranges::range_reference_t<decltype(std::get<1>(align))>>), | ^~~~~~~~~~~~~~~~~~~ /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/io/sam_file/format_sam.hpp:706:69: error: ‘mate’ was not declared in this scope; did you mean ‘seqan3::field::mate’? 706 | static_assert(((std::ranges::forward_range<decltype(std::get<0>(mate))> || | ^~~~ | seqan3::field::mate In file included from /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/io/detail/record.hpp:19, from /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/io/sequence_file/input.hpp:30, from /home/zhaobo/tools/ganon/src/utils/include/utils/dna4_traits.hpp:10, from /home/zhaobo/tools/ganon/src/ganon-build/GanonBuild.cpp:10: /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/io/record.hpp:88:5: note: ‘seqan3::field::mate’ declared here 88 | mate, //!< The mate pair information given as a std::tuple of reference name, offset and template length. | ^~~~ In file included from /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/io/sequence_file/input.hpp:32, from /home/zhaobo/tools/ganon/src/utils/include/utils/dna4_traits.hpp:10, from /home/zhaobo/tools/ganon/src/ganon-build/GanonBuild.cpp:10: /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/io/sam_file/format_sam.hpp:706:34: error: template argument 1 is invalid 706 | static_assert(((std::ranges::forward_range<decltype(std::get<0>(mate))> || | ^~~~~~~~~~ /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/io/sam_file/format_sam.hpp:707:55: error: template argument 1 is invalid 707 | std::integral<std::remove_cvref_t<decltype(std::get<0>(mate))>> || | ^~~~~~~ /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/io/sam_file/format_sam.hpp:707:26: error: template argument 1 is invalid 707 | std::integral<std::remove_cvref_t<decltype(std::get<0>(mate))>> || | ^~~~~~~~~~~~~~ /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/io/sam_file/format_sam.hpp:708:104: error: template argument 1 is invalid 708 | detail::is_type_specialisation_of_v<std::remove_cvref_t<decltype(std::get<0>(mate))>, std::optional>) && | ^ /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/io/sam_file/format_sam.hpp:708:112: error: ‘optional’ is not a member of ‘std’ 708 | detail::is_type_specialisation_of_v<std::remove_cvref_t<decltype(std::get<0>(mate))>, std::optional>) && | ^~~~ /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/io/sam_file/format_sam.hpp:708:112: note: ‘std::optional’ is defined in header ‘’; did you forget to ‘#include ’? /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/io/sam_file/format_sam.hpp:709:54: error: template argument 1 is invalid 709 | (std::integral<std::remove_cvref_t<decltype(std::get<1>(mate))>> || | ^~~~~~~ /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/io/sam_file/format_sam.hpp:709:25: error: template argument 1 is invalid 709 | (std::integral<std::remove_cvref_t<decltype(std::get<1>(mate))>> || | ^~~~~~~~~~~~~~ /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/io/sam_file/format_sam.hpp:710:103: error: template argument 1 is invalid 710 | detail::is_type_specialisation_of_v<std::remove_cvref_t<decltype(std::get<1>(mate))>, std::optional>) && | ^ /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/io/sam_file/format_sam.hpp:710:111: error: ‘optional’ is not a member of ‘std’ 710 | detail::is_type_specialisation_of_v<std::remove_cvref_t<decltype(std::get<1>(mate))>, std::optional>) && | ^~~~ /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/io/sam_file/format_sam.hpp:710:111: note: ‘std::optional’ is defined in header ‘’; did you forget to ‘#include ’? /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/io/sam_file/format_sam.hpp:711:53: error: template argument 1 is invalid 711 | std::integral<std::remove_cvref_t<decltype(std::get<2>(mate))>>), | ^~~~~~~ /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/io/sam_file/format_sam.hpp:711:24: error: template argument 1 is invalid 711 | std::integral<std::remove_cvref_t<decltype(std::get<2>(mate))>>), | ^~~~~~~~~~~~~~ /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/io/sam_file/format_sam.hpp:717:53: error: template argument 1 is invalid 717 | if constexpr (std::integral<std::remove_cvref_t<decltype(std::get<0>(mate))>> || | ^~~~~~~ /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/io/sam_file/format_sam.hpp:717:24: error: template argument 1 is invalid 717 | if constexpr (std::integral<std::remove_cvref_t<decltype(std::get<0>(mate))>> || | ^~~~~~~~~~~~~~ /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/io/sam_file/format_sam.hpp:718:102: error: template argument 1 is invalid 718 | detail::is_type_specialisation_of_v<std::remove_cvref_t<decltype(std::get<0>(mate))>, std::optional>) | ^ /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/io/sam_file/format_sam.hpp:718:110: error: ‘optional’ is not a member of ‘std’ 718 | detail::is_type_specialisation_of_v<std::remove_cvref_t<decltype(std::get<0>(mate))>, std::optional>) | ^~~~ /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/io/sam_file/format_sam.hpp:718:110: note: ‘std::optional’ is defined in header ‘’; did you forget to ‘#include ’? /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/io/sam_file/format_sam.hpp:731:99: error: ‘optional’ is not a member of ‘std’ 731 | !detail::is_type_specialisation_of_v<std::remove_reference_t, std::optional>) | ^~~~ /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/io/sam_file/format_sam.hpp:731:99: note: ‘std::optional’ is defined in header ‘’; did you forget to ‘#include ’? /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/io/sam_file/format_sam.hpp:761:9: error: ‘ref_offset’ was not declared in this scope; did you mean ‘seqan3::field::ref_offset’? 761 | if (ref_offset.has_value() && (ref_offset.value() + 1) < 0) | ^~~~~~ | seqan3::field::ref_offset In file included from /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/io/detail/record.hpp:19, from /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/io/sequence_file/input.hpp:30, from /home/zhaobo/tools/ganon/src/utils/include/utils/dna4_traits.hpp:10, from /home/zhaobo/tools/ganon/src/ganon-build/GanonBuild.cpp:10: /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/io/record.hpp:84:5: note: ‘seqan3::field::ref_offset’ declared here 84 | ref_offset, //!< Sequence (seqan3::field::ref_seq) relative start position (0-based), unsigned value. | ^~~~~~ In file included from /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/io/sequence_file/input.hpp:32, from /home/zhaobo/tools/ganon/src/utils/include/utils/dna4_traits.hpp:10, from /home/zhaobo/tools/ganon/src/ganon-build/GanonBuild.cpp:10: /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/io/sam_file/format_sam.hpp:786:50: error: ‘flag’ was not declared in this scope; did you mean ‘seqan3::field::flag’? 786 | stream_it.write_number(static_cast(flag)); | ^~~~ | seqan3::field::flag In file included from /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/io/detail/record.hpp:19, from /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/io/sequence_file/input.hpp:30, from /home/zhaobo/tools/ganon/src/utils/include/utils/dna4_traits.hpp:10, from /home/zhaobo/tools/ganon/src/ganon-build/GanonBuild.cpp:10: /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/io/record.hpp:87:5: note: ‘seqan3::field::flag’ declared here 87 | flag, //!< The alignment flag (bit information), uint16_t value. | ^~~~ In file included from /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/io/sequence_file/input.hpp:32, from /home/zhaobo/tools/ganon/src/utils/include/utils/dna4_traits.hpp:10, from /home/zhaobo/tools/ganon/src/ganon-build/GanonBuild.cpp:10: /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/io/sam_file/format_sam.hpp:795:107: error: ‘optional’ is not a member of ‘std’ 795 | else if constexpr (detail::is_type_specialisation_of_v<std::remove_reference_t, std::optional>) | ^~~~ /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/io/sam_file/format_sam.hpp:795:107: note: ‘std::optional’ is defined in header ‘’; did you forget to ‘#include ’? /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/io/sam_file/format_sam.hpp:815:28: error: ‘ref_offset’ was not declared in this scope; did you mean ‘seqan3::field::ref_offset’? 815 | stream_it.write_number(ref_offset.value_or(-1) + 1); | ^~~~~~ | seqan3::field::ref_offset In file included from /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/io/detail/record.hpp:19, from /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/io/sequence_file/input.hpp:30, from /home/zhaobo/tools/ganon/src/utils/include/utils/dna4_traits.hpp:10, from /home/zhaobo/tools/ganon/src/ganon-build/GanonBuild.cpp:10: /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/io/record.hpp:84:5: note: ‘seqan3::field::ref_offset’ declared here 84 | ref_offset, //!< Sequence (seqan3::field::ref_seq) relative start position (0-based), unsigned value. | ^~~~~~ In file included from /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/io/sequence_file/input.hpp:32, from /home/zhaobo/tools/ganon/src/utils/include/utils/dna4_traits.hpp:10, from /home/zhaobo/tools/ganon/src/ganon-build/GanonBuild.cpp:10: /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/io/sam_file/format_sam.hpp:818:50: error: ‘mapq’ was not declared in this scope; did you mean ‘seqan3::field::mapq’? 818 | stream_it.write_number(static_cast(mapq)); | ^~~~ | seqan3::field::mapq In file included from /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/io/detail/record.hpp:19, from /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/io/sequence_file/input.hpp:30, from /home/zhaobo/tools/ganon/src/utils/include/utils/dna4_traits.hpp:10, from /home/zhaobo/tools/ganon/src/ganon-build/GanonBuild.cpp:10: /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/io/record.hpp:89:5: note: ‘seqan3::field::mapq’ declared here 89 | mapq, //!< The mapping quality of the seqan3::field::seq alignment, usually a Phred-scaled score. | ^~~~ In file included from /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/io/sequence_file/input.hpp:32, from /home/zhaobo/tools/ganon/src/utils/include/utils/dna4_traits.hpp:10, from /home/zhaobo/tools/ganon/src/ganon-build/GanonBuild.cpp:10: /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/io/sam_file/format_sam.hpp:821:29: error: ‘cigar_vector’ was not declared in this scope; did you mean ‘rna5_vector’? 821 | if (!std::ranges::empty(cigar_vector)) | ^~~~ | rna5_vector /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/io/sam_file/format_sam.hpp:850:57: error: template argument 1 is invalid 850 | if constexpr (std::integral<std::remove_reference_t<decltype(get<0>(mate))>>) | ^~~~~~ /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/io/sam_file/format_sam.hpp:850:24: error: template argument 1 is invalid 850 | if constexpr (std::integral<std::remove_reference_t<decltype(get<0>(mate))>>) | ^~~~~~~~~~~~~ /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/io/sam_file/format_sam.hpp:854:106: error: template argument 1 is invalid 854 | else if constexpr (detail::is_type_specialisation_of_v<std::remove_reference_t<decltype(get<0>(mate))>, std::optional>) | ^ /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/io/sam_file/format_sam.hpp:854:114: error: ‘optional’ is not a member of ‘std’ 854 | else if constexpr (detail::is_type_specialisation_of_v<std::remove_reference_t<decltype(get<0>(mate))>, std::optional>) | ^~~~ /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/io/sam_file/format_sam.hpp:854:114: note: ‘std::optional’ is defined in header ‘’; did you forget to ‘#include ’? /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/io/sam_file/format_sam.hpp:870:97: error: template argument 1 is invalid 870 | if constexpr (detail::is_type_specialisation_of_v<std::remove_cvref_t<decltype(get<1>(mate))>, std::optional>) | ^ /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/io/sam_file/format_sam.hpp:870:105: error: ‘optional’ is not a member of ‘std’ 870 | if constexpr (detail::is_type_specialisation_of_v<std::remove_cvref_t<decltype(get<1>(mate))>, std::optional>) | ^~~~ /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/io/sam_file/format_sam.hpp:870:105: note: ‘std::optional’ is defined in header ‘’; did you forget to ‘#include ’? /home/zhaobo/tools/ganon/libs/seqan3/include/seqan3/io/sam_file/format_sam.hpp:890:33: error: ‘tag_dict’ was not declared in this scope 890 | write_tag_fields(stream_it, tag_dict, separator); | ^~~~ src/CMakeFiles/ganon-build-lib.dir/build.make:89: recipe for target 'src/CMakeFiles/ganon-build-lib.dir/ganon-build/GanonBuild.cpp.o' failed make[2]: [src/CMakeFiles/ganon-build-lib.dir/ganon-build/GanonBuild.cpp.o] Error 1 CMakeFiles/Makefile2:121: recipe for target 'src/CMakeFiles/ganon-build-lib.dir/all' failed make[1]: [src/CMakeFiles/ganon-build-lib.dir/all] Error 2 make[1]: Waiting for unfinished jobs.... [ 31%] Linking CXX static library libganon-classify-lib.a [ 31%] Built target ganon-classify-lib Makefile:145: recipe for target 'all' failed make: [all] Error 2

pirovc commented 10 months ago

I'm not sure what is the issue with the pre-compiled conda version of raptor. Try to install raptor from source (https://pirovc.github.io/ganon/#installing-raptor-optional) and tell ganon to use it with --raptor-path. Make sure is version 3.0.0.

The compilation error is probably due to the GCC 11, not tested with ganon yet. But I guess the conda version will work fine for you, once you get raptor to work.

zhaobo22 commented 10 months ago

Thanks for you advice! I have successfuly installed the raptor. When I run the ganon build command, there are still errors. However, the error message had changed this time:

Building index (raptor) raptor prepare [Error] Expected one of the following valid extensions: [embl, fasta, fa, fna, ffn, faa, frn, fas, fastq, fq, genbank, gb, gbk, sam]! Got fna.gz instead! The following command failed to run: /home/zhaobo/tools/raptor/build/bin//raptor prepare --input 'a_rs_files/build/hibf.txt' --output 'a_rs_files/build/' --kmer 19 --window 31 --quiet --threads 32

Error code: 255

Thank you very much for your help!

zhaobo22 commented 10 months ago

I found this error because I was using raptor v3.1.0, but it worked fine when I used raptor v3.0.0. However, on another device, I was able to compile raptor v3.1.0 but was unable to compile v3.0.0. I have also tried different versions of gcc, but none of them compile properly.

Thank you again!

pirovc commented 10 months ago

Great to hear you got it working. Right now ganon and raptor are compiling on different versions of gcc, what makes it tricky to compile locally as you noticed. The next release of ganon will update the gcc supported to the most current versions and include raptor as a library, so I hope this process will be easier.