Source: osmium-tool Version: 1.9.1-1 Severity: serious Tags: ftbfs https://tests.reproducible-builds.org/debian/rb-pkg/unstable/amd64/osmium-tool.html
... cd /build/1st/osmium-tool-1.9.1/obj-x86_64-linux-gnu/test && /usr/bin/c++ -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -I/build/1st/osmium-tool-1.9.1/obj-x86_64-linux-gnu/src -I/build/1st/osmium-tool-1.9.1/test/include -I/build/1st/osmium-tool-1.9.1/test/../src -I/build/1st/osmium-tool-1.9.1/test/../src/extract -I/build/1st/osmium-tool-1.9.1/test/../include -isystem /build/1st/osmium-tool-1.9.1/include -g -O2 -ffile-prefix-map=/build/1st/osmium-tool-1.9.1=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -std=c++11 -Wall -Wextra -pedantic -Wredundant-decls -Wdisabled-optimization -Wctor-dtor-privacy -Wnon-virtual-dtor -Woverloaded-virtual -Wsign-promo -Wold-style-cast -pthread -o CMakeFiles/unit_tests.dir/__/src/util.cpp.o -c /build/1st/osmium-tool-1.9.1/src/util.cpp In file included from /build/1st/osmium-tool-1.9.1/src/util.cpp:27: /usr/include/osmium/tags/tags_filter.hpp:157:44: error: conflicting declaration 'using TagsFilter = class osmium::TagsFilterBase<bool>' using TagsFilter = TagsFilterBase<bool>; ^ In file included from /build/1st/osmium-tool-1.9.1/src/util.cpp:24: /build/1st/osmium-tool-1.9.1/src/util.hpp:37:11: note: previous declaration as 'class osmium::TagsFilter' class TagsFilter; ^~~~~~~~~~ In file included from /build/1st/osmium-tool-1.9.1/src/util.cpp:33: /usr/include/c++/8/iostream:60:10: error: 'istream' does not name a type extern istream cin; /// Linked to standard input ^~~~~~~ /usr/include/c++/8/iostream:61:10: error: 'ostream' does not name a type extern ostream cout; /// Linked to standard output ^~~~~~~ /usr/include/c++/8/iostream:62:10: error: 'ostream' does not name a type extern ostream cerr; /// Linked to standard error (unbuffered) ^~~~~~~ /usr/include/c++/8/iostream:63:10: error: 'ostream' does not name a type extern ostream clog; /// Linked to standard error (buffered) ^~~~~~~ /usr/include/c++/8/iostream:66:10: error: 'wistream' does not name a type extern wistream wcin; /// Linked to standard input ^~~~~~~~ /usr/include/c++/8/iostream:67:10: error: 'wostream' does not name a type extern wostream wcout; /// Linked to standard output ^~~~~~~~ /usr/include/c++/8/iostream:68:10: error: 'wostream' does not name a type extern wostream wcerr; /// Linked to standard error (unbuffered) ^~~~~~~~ /usr/include/c++/8/iostream:69:10: error: 'wostream' does not name a type extern wostream wclog; /// Linked to standard error (buffered) ^~~~~~~~ /usr/include/c++/8/iostream:74:10: error: 'ios_base' does not name a type static ios_base::Init __ioinit; ^~~~~~~~ /build/1st/osmium-tool-1.9.1/src/util.cpp: In function 'void osmium::warning(const char*)': /build/1st/osmium-tool-1.9.1/src/util.cpp:62:10: error: 'cerr' is not a member of 'std' std::cerr << "WARNING: " << text; ^~~~ /build/1st/osmium-tool-1.9.1/src/util.cpp:62:10: note: 'std::cerr' is defined in header '<iostream>'; did you forget to '#include <iostream>'? /build/1st/osmium-tool-1.9.1/src/util.cpp:34:1: +#include <iostream> #include <string> /build/1st/osmium-tool-1.9.1/src/util.cpp:62:10: std::cerr << "WARNING: " << text; ^~~~ /build/1st/osmium-tool-1.9.1/src/util.cpp: In function 'void osmium::warning(const string&)': /build/1st/osmium-tool-1.9.1/src/util.cpp:66:10: error: 'cerr' is not a member of 'std' std::cerr << "WARNING: " << text; ^~~~ /build/1st/osmium-tool-1.9.1/src/util.cpp:66:10: note: 'std::cerr' is defined in header '<iostream>'; did you forget to '#include <iostream>'? /build/1st/osmium-tool-1.9.1/src/util.cpp: In function 'std::pair<osmium::osm_entity_bits::type, std::__cxx11::basic_string<char> > osmium::get_filter_expression(const string&)': /build/1st/osmium-tool-1.9.1/src/util.cpp:113:48: error: call of overloaded 'get_types(std::__cxx11::basic_string<char>)' is ambiguous entities = get_types(str.substr(0, pos)); ^ In file included from /build/1st/osmium-tool-1.9.1/src/util.cpp:24: /build/1st/osmium-tool-1.9.1/src/util.hpp:50:31: note: candidate: 'osmium::osm_entity_bits::type get_types(const string&)' osmium::osm_entity_bits::type get_types(const std::string& str); ^~~~~~~~~ /build/1st/osmium-tool-1.9.1/src/util.cpp:79:31: note: candidate: 'osmium::osm_entity_bits::type osmium::get_types(const string&)' osmium::osm_entity_bits::type get_types(const std::string& str) { ^~~~~~~~~ /build/1st/osmium-tool-1.9.1/src/util.cpp: In function 'osmium::StringMatcher osmium::get_string_matcher(std::__cxx11::string)': /build/1st/osmium-tool-1.9.1/src/util.cpp:132:28: error: call of overloaded 'strip_whitespace(std::__cxx11::string&)' is ambiguous strip_whitespace(string); ^ In file included from /build/1st/osmium-tool-1.9.1/src/util.cpp:24: /build/1st/osmium-tool-1.9.1/src/util.hpp:52:6: note: candidate: 'void strip_whitespace(std::__cxx11::string&)' void strip_whitespace(std::string& string); ^~~~~~~~~~~~~~~~ /build/1st/osmium-tool-1.9.1/src/util.cpp:120:6: note: candidate: 'void osmium::strip_whitespace(std::__cxx11::string&)' void strip_whitespace(std::string& string) { ^~~~~~~~~~~~~~~~ /build/1st/osmium-tool-1.9.1/src/util.cpp:144:31: error: call of overloaded 'strip_whitespace(std::__cxx11::basic_string<char>&)' is ambiguous strip_whitespace(s); ^ In file included from /build/1st/osmium-tool-1.9.1/src/util.cpp:24: /build/1st/osmium-tool-1.9.1/src/util.hpp:52:6: note: candidate: 'void strip_whitespace(std::__cxx11::string&)' void strip_whitespace(std::string& string); ^~~~~~~~~~~~~~~~ /build/1st/osmium-tool-1.9.1/src/util.cpp:120:6: note: candidate: 'void osmium::strip_whitespace(std::__cxx11::string&)' void strip_whitespace(std::string& string) { ^~~~~~~~~~~~~~~~ /build/1st/osmium-tool-1.9.1/src/util.cpp: In function 'osmium::TagMatcher osmium::get_tag_matcher(const string&)': /build/1st/osmium-tool-1.9.1/src/util.cpp:170:64: error: call of overloaded 'get_string_matcher(const string&)' is ambiguous return osmium::TagMatcher{get_string_matcher(expression)}; ^ In file included from /build/1st/osmium-tool-1.9.1/src/util.cpp:24: /build/1st/osmium-tool-1.9.1/src/util.hpp:53:23: note: candidate: 'osmium::StringMatcher get_string_matcher(std::__cxx11::string)' osmium::StringMatcher get_string_matcher(std::string string); ^~~~~~~~~~~~~~~~~~ /build/1st/osmium-tool-1.9.1/src/util.cpp:131:23: note: candidate: 'osmium::StringMatcher osmium::get_string_matcher(std::__cxx11::string)' osmium::StringMatcher get_string_matcher(std::string string) { ^~~~~~~~~~~~~~~~~~ /build/1st/osmium-tool-1.9.1/src/util.cpp:170:65: error: no matching function for call to 'osmium::TagMatcher::TagMatcher(<brace-enclosed initializer list>)' return osmium::TagMatcher{get_string_matcher(expression)}; ^ In file included from /build/1st/osmium-tool-1.9.1/src/util.hpp:28, from /build/1st/osmium-tool-1.9.1/src/util.cpp:24: /usr/include/osmium/tags/matcher.hpp:87:9: note: candidate: 'template<class TKey, class TValue, typename std::enable_if<std::is_convertible<TKey, osmium::StringMatcher>::value, int>::type <anonymous>, typename std::enable_if<std::is_convertible<TValue, osmium::StringMatcher>::value, int>::type <anonymous> > osmium::TagMatcher::TagMatcher(TKey&&, TValue&&, bool)' TagMatcher(TKey&& key_matcher, TValue&& value_matcher, bool invert = false) : ^~~~~~~~~~ /usr/include/osmium/tags/matcher.hpp:87:9: note: template argument deduction/substitution failed: In file included from /build/1st/osmium-tool-1.9.1/src/util.hpp:28, from /build/1st/osmium-tool-1.9.1/src/util.cpp:24: /usr/include/osmium/tags/matcher.hpp:71:18: note: candidate: 'template<class TKey, typename std::enable_if<std::is_convertible<TKey, osmium::StringMatcher>::value, int>::type <anonymous> > osmium::TagMatcher::TagMatcher(TKey&&)' explicit TagMatcher(TKey&& key_matcher) : // NOLINT(misc-forwarding-reference-overload) (false positive due to enable_if) ^~~~~~~~~~ /usr/include/osmium/tags/matcher.hpp:71:18: note: template argument deduction/substitution failed: /usr/include/osmium/tags/matcher.hpp:58:9: note: candidate: 'osmium::TagMatcher::TagMatcher()' TagMatcher() : ^~~~~~~~~~ /usr/include/osmium/tags/matcher.hpp:58:9: note: candidate expects 0 arguments, 1 provided /usr/include/osmium/tags/matcher.hpp:47:11: note: candidate: 'osmium::TagMatcher::TagMatcher(const osmium::TagMatcher&)' class TagMatcher { ^~~~~~~~~~ /usr/include/osmium/tags/matcher.hpp:47:11: note: conversion of argument 1 would be ill-formed: /usr/include/osmium/tags/matcher.hpp:47:11: note: candidate: 'osmium::TagMatcher::TagMatcher(osmium::TagMatcher&&)' /usr/include/osmium/tags/matcher.hpp:47:11: note: conversion of argument 1 would be ill-formed: /build/1st/osmium-tool-1.9.1/src/util.cpp:182:53: error: call of overloaded 'get_string_matcher(std::__cxx11::basic_string<char>&)' is ambiguous return osmium::TagMatcher{get_string_matcher(key), get_string_matcher(value), invert}; ^ In file included from /build/1st/osmium-tool-1.9.1/src/util.cpp:24: /build/1st/osmium-tool-1.9.1/src/util.hpp:53:23: note: candidate: 'osmium::StringMatcher get_string_matcher(std::__cxx11::string)' osmium::StringMatcher get_string_matcher(std::string string); ^~~~~~~~~~~~~~~~~~ /build/1st/osmium-tool-1.9.1/src/util.cpp:131:23: note: candidate: 'osmium::StringMatcher osmium::get_string_matcher(std::__cxx11::string)' osmium::StringMatcher get_string_matcher(std::string string) { ^~~~~~~~~~~~~~~~~~ /build/1st/osmium-tool-1.9.1/src/util.cpp:182:80: error: call of overloaded 'get_string_matcher(const std::__cxx11::basic_string<char>&)' is ambiguous return osmium::TagMatcher{get_string_matcher(key), get_string_matcher(value), invert}; ^ In file included from /build/1st/osmium-tool-1.9.1/src/util.cpp:24: /build/1st/osmium-tool-1.9.1/src/util.hpp:53:23: note: candidate: 'osmium::StringMatcher get_string_matcher(std::__cxx11::string)' osmium::StringMatcher get_string_matcher(std::string string); ^~~~~~~~~~~~~~~~~~ /build/1st/osmium-tool-1.9.1/src/util.cpp:131:23: note: candidate: 'osmium::StringMatcher osmium::get_string_matcher(std::__cxx11::string)' osmium::StringMatcher get_string_matcher(std::string string) { ^~~~~~~~~~~~~~~~~~ /build/1st/osmium-tool-1.9.1/src/util.cpp:182:89: error: no matching function for call to 'osmium::TagMatcher::TagMatcher(<brace-enclosed initializer list>)' return osmium::TagMatcher{get_string_matcher(key), get_string_matcher(value), invert}; ^ In file included from /build/1st/osmium-tool-1.9.1/src/util.hpp:28, from /build/1st/osmium-tool-1.9.1/src/util.cpp:24: /usr/include/osmium/tags/matcher.hpp:87:9: note: candidate: 'template<class TKey, class TValue, typename std::enable_if<std::is_convertible<TKey, osmium::StringMatcher>::value, int>::type <anonymous>, typename std::enable_if<std::is_convertible<TValue, osmium::StringMatcher>::value, int>::type <anonymous> > osmium::TagMatcher::TagMatcher(TKey&&, TValue&&, bool)' TagMatcher(TKey&& key_matcher, TValue&& value_matcher, bool invert = false) : ^~~~~~~~~~ /usr/include/osmium/tags/matcher.hpp:87:9: note: template argument deduction/substitution failed: In file included from /build/1st/osmium-tool-1.9.1/src/util.hpp:28, from /build/1st/osmium-tool-1.9.1/src/util.cpp:24: /usr/include/osmium/tags/matcher.hpp:71:18: note: candidate: 'template<class TKey, typename std::enable_if<std::is_convertible<TKey, osmium::StringMatcher>::value, int>::type <anonymous> > osmium::TagMatcher::TagMatcher(TKey&&)' explicit TagMatcher(TKey&& key_matcher) : // NOLINT(misc-forwarding-reference-overload) (false positive due to enable_if) ^~~~~~~~~~ /usr/include/osmium/tags/matcher.hpp:71:18: note: template argument deduction/substitution failed: /usr/include/osmium/tags/matcher.hpp:58:9: note: candidate: 'osmium::TagMatcher::TagMatcher()' TagMatcher() : ^~~~~~~~~~ /usr/include/osmium/tags/matcher.hpp:58:9: note: candidate expects 0 arguments, 3 provided /usr/include/osmium/tags/matcher.hpp:47:11: note: candidate: 'osmium::TagMatcher::TagMatcher(const osmium::TagMatcher&)' class TagMatcher { ^~~~~~~~~~ /usr/include/osmium/tags/matcher.hpp:47:11: note: candidate expects 1 argument, 3 provided /usr/include/osmium/tags/matcher.hpp:47:11: note: candidate: 'osmium::TagMatcher::TagMatcher(osmium::TagMatcher&&)' /usr/include/osmium/tags/matcher.hpp:47:11: note: candidate expects 1 argument, 3 provided /build/1st/osmium-tool-1.9.1/src/util.cpp: In function 'void osmium::initialize_tags_filter(osmium::TagsFilter&, bool, const std::vector<std::__cxx11::basic_string<char> >&)': /build/1st/osmium-tool-1.9.1/src/util.cpp:186:5: error: invalid use of incomplete type 'class osmium::TagsFilter' tags_filter.set_default_result(default_result); ^~~~~~~~~~~ In file included from /build/1st/osmium-tool-1.9.1/src/util.cpp:24: /build/1st/osmium-tool-1.9.1/src/util.hpp:37:11: note: forward declaration of 'class osmium::TagsFilter' class TagsFilter; ^~~~~~~~~~ /build/1st/osmium-tool-1.9.1/src/util.cpp:189:9: error: invalid use of incomplete type 'class osmium::TagsFilter' tags_filter.add_rule(!default_result, get_tag_matcher(str)); ^~~~~~~~~~~ In file included from /build/1st/osmium-tool-1.9.1/src/util.cpp:24: /build/1st/osmium-tool-1.9.1/src/util.hpp:37:11: note: forward declaration of 'class osmium::TagsFilter' class TagsFilter; ^~~~~~~~~~ /build/1st/osmium-tool-1.9.1/src/util.cpp:189:66: error: call of overloaded 'get_tag_matcher(const std::__cxx11::basic_string<char>&)' is ambiguous tags_filter.add_rule(!default_result, get_tag_matcher(str)); ^ In file included from /build/1st/osmium-tool-1.9.1/src/util.cpp:24: /build/1st/osmium-tool-1.9.1/src/util.hpp:54:20: note: candidate: 'osmium::TagMatcher get_tag_matcher(const string&)' osmium::TagMatcher get_tag_matcher(const std::string& expression); ^~~~~~~~~~~~~~~ /build/1st/osmium-tool-1.9.1/src/util.cpp:167:20: note: candidate: 'osmium::TagMatcher osmium::get_tag_matcher(const string&)' osmium::TagMatcher get_tag_matcher(const std::string& expression) { ^~~~~~~~~~~~~~~ make[3]: *** [src/CMakeFiles/osmium.dir/build.make:157: src/CMakeFiles/osmium.dir/util.cpp.o] Error 1 make[3]: *** Waiting for unfinished jobs.... [ 35%] Building CXX object test/CMakeFiles/unit_tests.dir/__/src/command_help.cpp.o cd /build/1st/osmium-tool-1.9.1/obj-x86_64-linux-gnu/test && /usr/bin/c++ -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -I/build/1st/osmium-tool-1.9.1/obj-x86_64-linux-gnu/src -I/build/1st/osmium-tool-1.9.1/test/include -I/build/1st/osmium-tool-1.9.1/test/../src -I/build/1st/osmium-tool-1.9.1/test/../src/extract -I/build/1st/osmium-tool-1.9.1/test/../include -isystem /build/1st/osmium-tool-1.9.1/include -g -O2 -ffile-prefix-map=/build/1st/osmium-tool-1.9.1=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -std=c++11 -Wall -Wextra -pedantic -Wredundant-decls -Wdisabled-optimization -Wctor-dtor-privacy -Wnon-virtual-dtor -Woverloaded-virtual -Wsign-promo -Wold-style-cast -pthread -o CMakeFiles/unit_tests.dir/__/src/command_help.cpp.o -c /build/1st/osmium-tool-1.9.1/src/command_help.cpp In file included from /build/1st/osmium-tool-1.9.1/src/util.cpp:27: /usr/include/osmium/tags/tags_filter.hpp:157:44: error: conflicting declaration 'using TagsFilter = class osmium::TagsFilterBase<bool>' using TagsFilter = TagsFilterBase<bool>; ^ In file included from /build/1st/osmium-tool-1.9.1/src/util.cpp:24: /build/1st/osmium-tool-1.9.1/src/util.hpp:37:11: note: previous declaration as 'class osmium::TagsFilter' class TagsFilter; ^~~~~~~~~~ In file included from /build/1st/osmium-tool-1.9.1/src/util.cpp:33: /usr/include/c++/8/iostream:60:10: error: 'istream' does not name a type extern istream cin; /// Linked to standard input ^~~~~~~ /usr/include/c++/8/iostream:61:10: error: 'ostream' does not name a type extern ostream cout; /// Linked to standard output ^~~~~~~ /usr/include/c++/8/iostream:62:10: error: 'ostream' does not name a type extern ostream cerr; /// Linked to standard error (unbuffered) ^~~~~~~ /usr/include/c++/8/iostream:63:10: error: 'ostream' does not name a type extern ostream clog; /// Linked to standard error (buffered) ^~~~~~~ /usr/include/c++/8/iostream:66:10: error: 'wistream' does not name a type extern wistream wcin; /// Linked to standard input ^~~~~~~~ /usr/include/c++/8/iostream:67:10: error: 'wostream' does not name a type extern wostream wcout; /// Linked to standard output ^~~~~~~~ /usr/include/c++/8/iostream:68:10: error: 'wostream' does not name a type extern wostream wcerr; /// Linked to standard error (unbuffered) ^~~~~~~~ /usr/include/c++/8/iostream:69:10: error: 'wostream' does not name a type extern wostream wclog; /// Linked to standard error (buffered) ^~~~~~~~ /usr/include/c++/8/iostream:74:10: error: 'ios_base' does not name a type static ios_base::Init __ioinit; ^~~~~~~~ /build/1st/osmium-tool-1.9.1/src/util.cpp: In function 'void osmium::warning(const char*)': /build/1st/osmium-tool-1.9.1/src/util.cpp:62:10: error: 'cerr' is not a member of 'std' std::cerr << "WARNING: " << text; ^~~~ /build/1st/osmium-tool-1.9.1/src/util.cpp:62:10: note: 'std::cerr' is defined in header '<iostream>'; did you forget to '#include <iostream>'? /build/1st/osmium-tool-1.9.1/src/util.cpp:34:1: +#include <iostream> #include <string> /build/1st/osmium-tool-1.9.1/src/util.cpp:62:10: std::cerr << "WARNING: " << text; ^~~~ /build/1st/osmium-tool-1.9.1/src/util.cpp: In function 'void osmium::warning(const string&)': /build/1st/osmium-tool-1.9.1/src/util.cpp:66:10: error: 'cerr' is not a member of 'std' std::cerr << "WARNING: " << text; ^~~~ /build/1st/osmium-tool-1.9.1/src/util.cpp:66:10: note: 'std::cerr' is defined in header '<iostream>'; did you forget to '#include <iostream>'? /build/1st/osmium-tool-1.9.1/src/util.cpp: In function 'std::pair<osmium::osm_entity_bits::type, std::__cxx11::basic_string<char> > osmium::get_filter_expression(const string&)': /build/1st/osmium-tool-1.9.1/src/util.cpp:113:48: error: call of overloaded 'get_types(std::__cxx11::basic_string<char>)' is ambiguous entities = get_types(str.substr(0, pos)); ^ In file included from /build/1st/osmium-tool-1.9.1/src/util.cpp:24: /build/1st/osmium-tool-1.9.1/src/util.hpp:50:31: note: candidate: 'osmium::osm_entity_bits::type get_types(const string&)' osmium::osm_entity_bits::type get_types(const std::string& str); ^~~~~~~~~ /build/1st/osmium-tool-1.9.1/src/util.cpp:79:31: note: candidate: 'osmium::osm_entity_bits::type osmium::get_types(const string&)' osmium::osm_entity_bits::type get_types(const std::string& str) { ^~~~~~~~~ /build/1st/osmium-tool-1.9.1/src/util.cpp: In function 'osmium::StringMatcher osmium::get_string_matcher(std::__cxx11::string)': /build/1st/osmium-tool-1.9.1/src/util.cpp:132:28: error: call of overloaded 'strip_whitespace(std::__cxx11::string&)' is ambiguous strip_whitespace(string); ^ In file included from /build/1st/osmium-tool-1.9.1/src/util.cpp:24: /build/1st/osmium-tool-1.9.1/src/util.hpp:52:6: note: candidate: 'void strip_whitespace(std::__cxx11::string&)' void strip_whitespace(std::string& string); ^~~~~~~~~~~~~~~~ /build/1st/osmium-tool-1.9.1/src/util.cpp:120:6: note: candidate: 'void osmium::strip_whitespace(std::__cxx11::string&)' void strip_whitespace(std::string& string) { ^~~~~~~~~~~~~~~~ /build/1st/osmium-tool-1.9.1/src/util.cpp:144:31: error: call of overloaded 'strip_whitespace(std::__cxx11::basic_string<char>&)' is ambiguous strip_whitespace(s); ^ In file included from /build/1st/osmium-tool-1.9.1/src/util.cpp:24: /build/1st/osmium-tool-1.9.1/src/util.hpp:52:6: note: candidate: 'void strip_whitespace(std::__cxx11::string&)' void strip_whitespace(std::string& string); ^~~~~~~~~~~~~~~~ /build/1st/osmium-tool-1.9.1/src/util.cpp:120:6: note: candidate: 'void osmium::strip_whitespace(std::__cxx11::string&)' void strip_whitespace(std::string& string) { ^~~~~~~~~~~~~~~~ /build/1st/osmium-tool-1.9.1/src/util.cpp: In function 'osmium::TagMatcher osmium::get_tag_matcher(const string&)': /build/1st/osmium-tool-1.9.1/src/util.cpp:170:64: error: call of overloaded 'get_string_matcher(const string&)' is ambiguous return osmium::TagMatcher{get_string_matcher(expression)}; ^ In file included from /build/1st/osmium-tool-1.9.1/src/util.cpp:24: /build/1st/osmium-tool-1.9.1/src/util.hpp:53:23: note: candidate: 'osmium::StringMatcher get_string_matcher(std::__cxx11::string)' osmium::StringMatcher get_string_matcher(std::string string); ^~~~~~~~~~~~~~~~~~ /build/1st/osmium-tool-1.9.1/src/util.cpp:131:23: note: candidate: 'osmium::StringMatcher osmium::get_string_matcher(std::__cxx11::string)' osmium::StringMatcher get_string_matcher(std::string string) { ^~~~~~~~~~~~~~~~~~ /build/1st/osmium-tool-1.9.1/src/util.cpp:170:65: error: no matching function for call to 'osmium::TagMatcher::TagMatcher(<brace-enclosed initializer list>)' return osmium::TagMatcher{get_string_matcher(expression)}; ^ In file included from /build/1st/osmium-tool-1.9.1/src/util.hpp:28, from /build/1st/osmium-tool-1.9.1/src/util.cpp:24: /usr/include/osmium/tags/matcher.hpp:87:9: note: candidate: 'template<class TKey, class TValue, typename std::enable_if<std::is_convertible<TKey, osmium::StringMatcher>::value, int>::type <anonymous>, typename std::enable_if<std::is_convertible<TValue, osmium::StringMatcher>::value, int>::type <anonymous> > osmium::TagMatcher::TagMatcher(TKey&&, TValue&&, bool)' TagMatcher(TKey&& key_matcher, TValue&& value_matcher, bool invert = false) : ^~~~~~~~~~ /usr/include/osmium/tags/matcher.hpp:87:9: note: template argument deduction/substitution failed: In file included from /build/1st/osmium-tool-1.9.1/src/util.hpp:28, from /build/1st/osmium-tool-1.9.1/src/util.cpp:24: /usr/include/osmium/tags/matcher.hpp:71:18: note: candidate: 'template<class TKey, typename std::enable_if<std::is_convertible<TKey, osmium::StringMatcher>::value, int>::type <anonymous> > osmium::TagMatcher::TagMatcher(TKey&&)' explicit TagMatcher(TKey&& key_matcher) : // NOLINT(misc-forwarding-reference-overload) (false positive due to enable_if) ^~~~~~~~~~ /usr/include/osmium/tags/matcher.hpp:71:18: note: template argument deduction/substitution failed: /usr/include/osmium/tags/matcher.hpp:58:9: note: candidate: 'osmium::TagMatcher::TagMatcher()' TagMatcher() : ^~~~~~~~~~ /usr/include/osmium/tags/matcher.hpp:58:9: note: candidate expects 0 arguments, 1 provided /usr/include/osmium/tags/matcher.hpp:47:11: note: candidate: 'osmium::TagMatcher::TagMatcher(const osmium::TagMatcher&)' class TagMatcher { ^~~~~~~~~~ /usr/include/osmium/tags/matcher.hpp:47:11: note: conversion of argument 1 would be ill-formed: /usr/include/osmium/tags/matcher.hpp:47:11: note: candidate: 'osmium::TagMatcher::TagMatcher(osmium::TagMatcher&&)' /usr/include/osmium/tags/matcher.hpp:47:11: note: conversion of argument 1 would be ill-formed: /build/1st/osmium-tool-1.9.1/src/util.cpp:182:53: error: call of overloaded 'get_string_matcher(std::__cxx11::basic_string<char>&)' is ambiguous return osmium::TagMatcher{get_string_matcher(key), get_string_matcher(value), invert}; ^ In file included from /build/1st/osmium-tool-1.9.1/src/util.cpp:24: /build/1st/osmium-tool-1.9.1/src/util.hpp:53:23: note: candidate: 'osmium::StringMatcher get_string_matcher(std::__cxx11::string)' osmium::StringMatcher get_string_matcher(std::string string); ^~~~~~~~~~~~~~~~~~ /build/1st/osmium-tool-1.9.1/src/util.cpp:131:23: note: candidate: 'osmium::StringMatcher osmium::get_string_matcher(std::__cxx11::string)' osmium::StringMatcher get_string_matcher(std::string string) { ^~~~~~~~~~~~~~~~~~ /build/1st/osmium-tool-1.9.1/src/util.cpp:182:80: error: call of overloaded 'get_string_matcher(const std::__cxx11::basic_string<char>&)' is ambiguous return osmium::TagMatcher{get_string_matcher(key), get_string_matcher(value), invert}; ^ In file included from /build/1st/osmium-tool-1.9.1/src/util.cpp:24: /build/1st/osmium-tool-1.9.1/src/util.hpp:53:23: note: candidate: 'osmium::StringMatcher get_string_matcher(std::__cxx11::string)' osmium::StringMatcher get_string_matcher(std::string string); ^~~~~~~~~~~~~~~~~~ /build/1st/osmium-tool-1.9.1/src/util.cpp:131:23: note: candidate: 'osmium::StringMatcher osmium::get_string_matcher(std::__cxx11::string)' osmium::StringMatcher get_string_matcher(std::string string) { ^~~~~~~~~~~~~~~~~~ /build/1st/osmium-tool-1.9.1/src/util.cpp:182:89: error: no matching function for call to 'osmium::TagMatcher::TagMatcher(<brace-enclosed initializer list>)' return osmium::TagMatcher{get_string_matcher(key), get_string_matcher(value), invert}; ^ In file included from /build/1st/osmium-tool-1.9.1/src/util.hpp:28, from /build/1st/osmium-tool-1.9.1/src/util.cpp:24: /usr/include/osmium/tags/matcher.hpp:87:9: note: candidate: 'template<class TKey, class TValue, typename std::enable_if<std::is_convertible<TKey, osmium::StringMatcher>::value, int>::type <anonymous>, typename std::enable_if<std::is_convertible<TValue, osmium::StringMatcher>::value, int>::type <anonymous> > osmium::TagMatcher::TagMatcher(TKey&&, TValue&&, bool)' TagMatcher(TKey&& key_matcher, TValue&& value_matcher, bool invert = false) : ^~~~~~~~~~ /usr/include/osmium/tags/matcher.hpp:87:9: note: template argument deduction/substitution failed: In file included from /build/1st/osmium-tool-1.9.1/src/util.hpp:28, from /build/1st/osmium-tool-1.9.1/src/util.cpp:24: /usr/include/osmium/tags/matcher.hpp:71:18: note: candidate: 'template<class TKey, typename std::enable_if<std::is_convertible<TKey, osmium::StringMatcher>::value, int>::type <anonymous> > osmium::TagMatcher::TagMatcher(TKey&&)' explicit TagMatcher(TKey&& key_matcher) : // NOLINT(misc-forwarding-reference-overload) (false positive due to enable_if) ^~~~~~~~~~ /usr/include/osmium/tags/matcher.hpp:71:18: note: template argument deduction/substitution failed: /usr/include/osmium/tags/matcher.hpp:58:9: note: candidate: 'osmium::TagMatcher::TagMatcher()' TagMatcher() : ^~~~~~~~~~ /usr/include/osmium/tags/matcher.hpp:58:9: note: candidate expects 0 arguments, 3 provided /usr/include/osmium/tags/matcher.hpp:47:11: note: candidate: 'osmium::TagMatcher::TagMatcher(const osmium::TagMatcher&)' class TagMatcher { ^~~~~~~~~~ /usr/include/osmium/tags/matcher.hpp:47:11: note: candidate expects 1 argument, 3 provided /usr/include/osmium/tags/matcher.hpp:47:11: note: candidate: 'osmium::TagMatcher::TagMatcher(osmium::TagMatcher&&)' /usr/include/osmium/tags/matcher.hpp:47:11: note: candidate expects 1 argument, 3 provided /build/1st/osmium-tool-1.9.1/src/util.cpp: In function 'void osmium::initialize_tags_filter(osmium::TagsFilter&, bool, const std::vector<std::__cxx11::basic_string<char> >&)': /build/1st/osmium-tool-1.9.1/src/util.cpp:186:5: error: invalid use of incomplete type 'class osmium::TagsFilter' tags_filter.set_default_result(default_result); ^~~~~~~~~~~ In file included from /build/1st/osmium-tool-1.9.1/src/util.cpp:24: /build/1st/osmium-tool-1.9.1/src/util.hpp:37:11: note: forward declaration of 'class osmium::TagsFilter' class TagsFilter; ^~~~~~~~~~ /build/1st/osmium-tool-1.9.1/src/util.cpp:189:9: error: invalid use of incomplete type 'class osmium::TagsFilter' tags_filter.add_rule(!default_result, get_tag_matcher(str)); ^~~~~~~~~~~ In file included from /build/1st/osmium-tool-1.9.1/src/util.cpp:24: /build/1st/osmium-tool-1.9.1/src/util.hpp:37:11: note: forward declaration of 'class osmium::TagsFilter' class TagsFilter; ^~~~~~~~~~ /build/1st/osmium-tool-1.9.1/src/util.cpp:189:66: error: call of overloaded 'get_tag_matcher(const std::__cxx11::basic_string<char>&)' is ambiguous tags_filter.add_rule(!default_result, get_tag_matcher(str)); ^ In file included from /build/1st/osmium-tool-1.9.1/src/util.cpp:24: /build/1st/osmium-tool-1.9.1/src/util.hpp:54:20: note: candidate: 'osmium::TagMatcher get_tag_matcher(const string&)' osmium::TagMatcher get_tag_matcher(const std::string& expression); ^~~~~~~~~~~~~~~ /build/1st/osmium-tool-1.9.1/src/util.cpp:167:20: note: candidate: 'osmium::TagMatcher osmium::get_tag_matcher(const string&)' osmium::TagMatcher get_tag_matcher(const std::string& expression) { ^~~~~~~~~~~~~~~ make[3]: *** [test/CMakeFiles/unit_tests.dir/build.make:131: test/CMakeFiles/unit_tests.dir/__/src/util.cpp.o] Error 1