[Debian-med-packaging] C++ help needed for yellyfish: "error: catching polymorphic type"
Andreas Tille
andreas at an3as.eu
Mon Sep 3 08:18:54 BST 2018
Hi,
I'm trying to build the latest version of jellyfish which I pushed to
Salsa[1]. Unfortunately I'm running into
g++ -DHAVE_CONFIG_H -I. -Wall -Wnon-virtual-dtor -I. -I./include -Wdate-time -D_FORTIFY_SOURCE=2 -Werror -std=c++11 -g -O2 -fdebug-prefix-map=/build/jellyfish-2.2.10=. -fstack-protector-strong -Wformat -Werror=format-security -c -o sub_commands/count_main.o sub_commands/count_main.cc
sub_commands/count_main.cc: In function 'int count_main(int, char**)':
sub_commands/count_main.cc:363:28: error: catching polymorphic type 'class MergeError' by value [-Werror=catch-value=]
} catch(MergeError e) {
^
In file included from sub_commands/count_main.cc:38:
./include/jellyfish/hash_counter.hpp: In instantiation of 'bool jellyfish::cooperative::hash_counter<Key, word, atomic_t, mem_block_t>::double_size(bool) [with Key = jellyfish::mer_dna_ns::mer_base_static<long unsigned int, 0>; word = long unsigned int; atomic_t = atomic::gcc; mem_block_t = allocators::mmap]':
./include/jellyfish/hash_counter.hpp:189:28: required from 'bool jellyfish::cooperative::hash_counter<Key, word, atomic_t, mem_block_t>::handle_full_ary() [with Key = jellyfish::mer_dna_ns::mer_base_static<long unsigned int, 0>; word = long unsigned int; atomic_t = atomic::gcc; mem_block_t = allocators::mmap]'
./include/jellyfish/hash_counter.hpp:167:7: required from 'bool jellyfish::cooperative::hash_counter<Key, word, atomic_t, mem_block_t>::update_add(const Key&, uint64_t, Key&) [with Key = jellyfish::mer_dna_ns::mer_base_static<long unsigned int, 0>; word = long unsigned int; atomic_t = atomic::gcc; mem_block_t = allocators::mmap; uint64_t = long unsigned int]'
sub_commands/count_main.cc:176:11: required from 'void mer_counter_base<MerIteratorType, ParserType>::start(int) [with MerIteratorType = mer_qual_iterator; ParserType = sequence_qual_parser]'
sub_commands/count_main.cc:151:16: required from here
./include/jellyfish/hash_counter.hpp:216:9: error: catching polymorphic type 'class jellyfish::large_hash::array_base<jellyfish::mer_dna_ns::mer_base_static<long unsigned int, 0>, long unsigned int, atomic::gcc, jellyfish::large_hash::unbounded_array<jellyfish::mer_dna_ns::mer_base_static<long unsigned int, 0>, long unsigned int, atomic::gcc, allocators::mmap> >::ErrorAllocation' by value [-Werror=catch-value=]
} catch(typename array::ErrorAllocation e) {
^~~~~
cc1plus: all warnings being treated as errors
My weak attempt to ignore this for the moment via
export DEB_CFLAGS_MAINT_APPEND = -Wno-error=catch-value
in d/rules failed. Any better hint, how to deal with this?
Kind regards
Andreas.
[1] https://salsa.debian.org/med-team/jellyfish
--
http://fam-tille.de
More information about the Debian-med-packaging
mailing list