Opened 3 months ago

Last modified 3 months ago

#69316 assigned defect

jsoncons build error: error: no matching function for call to 'FreeListAllocator<char>::FreeListAllocator()'

Reported by: barracuda156 Owned by: sikmir (Nikolay Korotkiy)
Priority: Normal Milestone:
Component: ports Version: 2.9.1
Keywords: Cc:
Port: jsoncons

Description (last modified by barracuda156)

There are three issues:

  1. The port requires C++11. It is not set, so unsupported compilers may be picked.
  2. At least 32-bit systems need -Werror disabled.
  3. There is this:
    :info:build [  6%] Building CXX object test/CMakeFiles/unit_tests.dir/cbor/src/cbor_bitset_traits_tests.cpp.o
    :info:build cd /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_jsoncons/jsoncons/work/build/test && /opt/local/bin/g++-mp-13  -I/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_jsoncons/jsoncons/work/jsoncons-0.173.4/include -I/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_jsoncons/jsoncons/work/jsoncons-0.173.4/test -I/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_jsoncons/jsoncons/work/jsoncons-0.173.4/third_party -I/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_jsoncons/jsoncons/work/jsoncons-0.173.4/third_party/catch -pipe -Os -DNDEBUG -I/opt/local/include -D_GLIBCXX_USE_CXX11_ABI=0 -mmacosx-version-min=10.6 -Wnon-virtual-dtor -Werror=stringop-overflow -Werror -Wall -Wextra -Wcast-align -Wcast-qual -Wimplicit-fallthrough -Wsign-compare -pedantic -Wnonnull -Werror=nonnull -MD -MT test/CMakeFiles/unit_tests.dir/cbor/src/cbor_bitset_traits_tests.cpp.o -MF CMakeFiles/unit_tests.dir/cbor/src/cbor_bitset_traits_tests.cpp.o.d -o CMakeFiles/unit_tests.dir/cbor/src/cbor_bitset_traits_tests.cpp.o -c /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_jsoncons/jsoncons/work/jsoncons-0.173.4/test/cbor/src/cbor_bitset_traits_tests.cpp
    :info:build In file included from /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_jsoncons/jsoncons/work/jsoncons-0.173.4/test/bson/src/encode_decode_bson_tests.cpp:7:
    :info:build /opt/local/include/gcc13/c++/scoped_allocator: In instantiation of 'std::scoped_allocator_adaptor<_OuterAlloc, _InnerAllocs>::scoped_allocator_adaptor() [with _OuterAlloc = FreeListAllocator<char>; _InnerAllocs = {}]':
    :info:build /opt/local/include/gcc13/c++/bits/cow_string.h:3179:30:   required from 'static _CharT* std::basic_string<_CharT, _Traits, _Alloc>::_S_construct(size_type, _CharT, const _Alloc&) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::scoped_allocator_adaptor<FreeListAllocator<char> >; size_type = long unsigned int]'
    :info:build /opt/local/include/gcc13/c++/bits/cow_string.h:537:33:   required from 'std::basic_string<_CharT, _Traits, _Alloc>::basic_string(const _Alloc&) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::scoped_allocator_adaptor<FreeListAllocator<char> >]'
    :info:build /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_jsoncons/jsoncons/work/jsoncons-0.173.4/include/jsoncons_ext/bson/bson_parser.hpp:76:10:   required from 'jsoncons::bson::basic_bson_parser<Source, TempAllocator>::basic_bson_parser(Sourceable&&, const jsoncons::bson::bson_decode_options&, const TempAllocator&) [with Sourceable = const std::vector<unsigned char>&; Source = jsoncons::bytes_source; TempAllocator = std::scoped_allocator_adaptor<FreeListAllocator<char> >]'
    :info:build /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_jsoncons/jsoncons/work/jsoncons-0.173.4/include/jsoncons_ext/bson/bson_reader.hpp:46:10:   required from 'jsoncons::bson::basic_bson_reader<Source, TempAllocator>::basic_bson_reader(Sourceable&&, jsoncons::json_visitor&, const jsoncons::bson::bson_decode_options&, const TempAllocator&) [with Sourceable = const std::vector<unsigned char>&; Source = jsoncons::bytes_source; TempAllocator = std::scoped_allocator_adaptor<FreeListAllocator<char> >; jsoncons::json_visitor = jsoncons::basic_json_visitor<char>]'
    :info:build /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_jsoncons/jsoncons/work/jsoncons-0.173.4/include/jsoncons_ext/bson/decode_bson.hpp:136:65:   required from 'typename std::enable_if<(jsoncons::extension_traits::is_basic_json<Json>::value && jsoncons::extension_traits::is_byte_sequence<Source>::value), T>::type jsoncons::bson::decode_bson(const jsoncons::allocator_set<Allocator, TempAllocator>&, const Source&, const bson_decode_options&) [with T = jsoncons::basic_json<char, jsoncons::order_preserving_policy, std::allocator<char> >; Source = std::vector<unsigned char>; Allocator = std::allocator<char>; TempAllocator = std::scoped_allocator_adaptor<FreeListAllocator<char> >; typename std::enable_if<(jsoncons::extension_traits::is_basic_json<Json>::value && jsoncons::extension_traits::is_byte_sequence<Source>::value), T>::type = jsoncons::basic_json<char, jsoncons::order_preserving_policy, std::allocator<char> >]'
    :info:build /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_jsoncons/jsoncons/work/jsoncons-0.173.4/test/bson/src/encode_decode_bson_tests.cpp:211:42:   required from here
    :info:build /opt/local/include/gcc13/c++/scoped_allocator:306:60: error: no matching function for call to 'FreeListAllocator<char>::FreeListAllocator()'
    :info:build   306 |       scoped_allocator_adaptor() : _OuterAlloc(), _M_inner() { }
    :info:build       |                                                            ^
    :info:build In file included from /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_jsoncons/jsoncons/work/jsoncons-0.173.4/test/bson/src/encode_decode_bson_tests.cpp:6:
    :info:build /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_jsoncons/jsoncons/work/jsoncons-0.173.4/test/common/FreeListAllocator.hpp:44:5: note: candidate: 'template<class U> FreeListAllocator<T>::FreeListAllocator(const FreeListAllocator<U>&) [with T = char]'
    :info:build    44 |     FreeListAllocator(const FreeListAllocator<U>&) noexcept {}
    :info:build       |     ^~~~~~~~~~~~~~~~~
    :info:build /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_jsoncons/jsoncons/work/jsoncons-0.173.4/test/common/FreeListAllocator.hpp:44:5: note:   template argument deduction/substitution failed:
    :info:build /opt/local/include/gcc13/c++/scoped_allocator:306:60: note:   candidate expects 1 argument, 0 provided
    :info:build   306 |       scoped_allocator_adaptor() : _OuterAlloc(), _M_inner() { }
    :info:build       |                                                            ^
    :info:build /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_jsoncons/jsoncons/work/jsoncons-0.173.4/test/common/FreeListAllocator.hpp:45:5: note: candidate: 'FreeListAllocator<T>::FreeListAllocator(FreeListAllocator<T>&&) [with T = char]'
    :info:build    45 |     FreeListAllocator(FreeListAllocator&& other) noexcept :  list(other.list) {
    :info:build       |     ^~~~~~~~~~~~~~~~~
    :info:build /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_jsoncons/jsoncons/work/jsoncons-0.173.4/test/common/FreeListAllocator.hpp:45:5: note:   candidate expects 1 argument, 0 provided
    :info:build /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_jsoncons/jsoncons/work/jsoncons-0.173.4/test/common/FreeListAllocator.hpp:42:5: note: candidate: 'FreeListAllocator<T>::FreeListAllocator(const FreeListAllocator<T>&) [with T = char]'
    :info:build    42 |     FreeListAllocator(const FreeListAllocator&) noexcept {}
    :info:build       |     ^~~~~~~~~~~~~~~~~
    :info:build /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_jsoncons/jsoncons/work/jsoncons-0.173.4/test/common/FreeListAllocator.hpp:42:5: note:   candidate expects 1 argument, 0 provided
    :info:build /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_jsoncons/jsoncons/work/jsoncons-0.173.4/test/common/FreeListAllocator.hpp:40:5: note: candidate: 'FreeListAllocator<T>::FreeListAllocator(int) [with T = char]'
    :info:build    40 |     FreeListAllocator(int) noexcept
    :info:build       |     ^~~~~~~~~~~~~~~~~
    :info:build /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_jsoncons/jsoncons/work/jsoncons-0.173.4/test/common/FreeListAllocator.hpp:40:5: note:   candidate expects 1 argument, 0 provided
    :info:build [  7%] Building CXX object test/CMakeFiles/unit_tests.dir/cbor/src/cbor_cursor_tests.cpp.o
    :info:build cd /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_jsoncons/jsoncons/work/build/test && /opt/local/bin/g++-mp-13  -I/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_jsoncons/jsoncons/work/jsoncons-0.173.4/include -I/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_jsoncons/jsoncons/work/jsoncons-0.173.4/test -I/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_jsoncons/jsoncons/work/jsoncons-0.173.4/third_party -I/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_jsoncons/jsoncons/work/jsoncons-0.173.4/third_party/catch -pipe -Os -DNDEBUG -I/opt/local/include -D_GLIBCXX_USE_CXX11_ABI=0 -mmacosx-version-min=10.6 -Wnon-virtual-dtor -Werror=stringop-overflow -Werror -Wall -Wextra -Wcast-align -Wcast-qual -Wimplicit-fallthrough -Wsign-compare -pedantic -Wnonnull -Werror=nonnull -MD -MT test/CMakeFiles/unit_tests.dir/cbor/src/cbor_cursor_tests.cpp.o -MF CMakeFiles/unit_tests.dir/cbor/src/cbor_cursor_tests.cpp.o.d -o CMakeFiles/unit_tests.dir/cbor/src/cbor_cursor_tests.cpp.o -c /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_jsoncons/jsoncons/work/jsoncons-0.173.4/test/cbor/src/cbor_cursor_tests.cpp
    :info:build make[2]: *** [test/CMakeFiles/unit_tests.dir/bson/src/encode_decode_bson_tests.cpp.o] Error 1
    

Issue with upstream: https://github.com/danielaparker/jsoncons/issues/488

  1. S. Different failures with Clang: https://build.macports.org/builders/ports-10.9_x86_64-builder/builds/263599/steps/install-port/logs/stdio

Change History (1)

comment:1 Changed 3 months ago by barracuda156

Description: modified (diff)
Note: See TracTickets for help on using tickets.