-
-
Notifications
You must be signed in to change notification settings - Fork 7.1k
Closed
Labels
confirmedkind: bugrelease item: 🐛 bug fixsolution: proposed fixa fix for the issue has been proposed and waits for confirmationa fix for the issue has been proposed and waits for confirmation
Milestone
Description
What is the issue you have?
Version 3.10.3 breaks backward-compatibility with 3.10.2.
Please describe the steps to reproduce the issue.
- Compile bear 3.0.16 with nlohmann/json 3.10.3
- Compilation will fail (logs below)
- Compile bear 3.0.16 with nlohmann/json 3.10.2
- Compilation will succeed
Can you provide a small but working code example?
What is the expected behavior?
Version 3.10.3 should be backwards-compatible with 3.10.2.
And what is the actual behavior instead?
Version 3.10.3 breaks backward-compatibility with codebase based on 3.10.0.
Which compiler and operating system are you using?
- Compiler: gcc 11.2.0
- Operating system: gentoo
Which version of the library did you use?
- latest release version 3.10.3
- other release - please state the version: ___
- the
develop
branch
If you experience a compilation error: can you compile and run the unit tests?
- yes
- no - please copy/paste the error message below
cmake -C /var/tmp/portage/dev-util/bear-3.0.16/work/bear-3.0.16_build/gentoo_common_config.cmake -G Ninja -DCMAKE_INSTALL_PREFIX=/usr -DENABLE_UNIT_TESTS=OFF -DENABLE_FUNC_TESTS=OFF -DCMAKE_BUILD_TYPE=Gentoo -DCMAKE_TOOLCHAIN_FILE=/var/tmp/portage/dev-util/bear-3.0.16/work/bear-3.0.16_build/gentoo_toolchain.cmake /var/tmp/portage/dev-util/bear-3.0.16/work/Bear-3.0.16
loading initial cache file /var/tmp/portage/dev-util/bear-3.0.16/work/bear-3.0.16_build/gentoo_common_config.cmake
-- The C compiler identification is GNU 11.2.0
-- The CXX compiler identification is GNU 11.2.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/x86_64-pc-linux-gnu-gcc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/x86_64-pc-linux-gnu-g++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Looking for nlohman_json dependency
-- Looking for nlohman_json dependency -- found
-- Looking for fmt dependency
-- Looking for fmt dependency -- found
-- Looking for spdlog dependency
-- Looking for pthread.h
-- Looking for pthread.h - found
-- 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
-- Looking for spdlog dependency -- found
-- Looking for gRPC::grpc++ dependency
-- Found PkgConfig: x86_64-pc-linux-gnu-pkg-config (found version "1.8.0")
-- Checking for modules 'protobuf>=3.11;grpc++>=1.26'
-- Found protobuf, version 3.17.3
-- Found grpc++, version 1.41.0
-- Looking for gRPC::grpc++ dependency -- found
-- Looking for protoc
-- Looking for protoc -- found
-- Looking for grpc_cpp_plugin
-- Looking for grpc_cpp_plugin -- found
-- <<< Gentoo configuration >>>
Build type Gentoo
Install path /usr
Compiler flags:
C -march=native -ggdb -O2 -pipe
C++ -march=native -ggdb -O2 -pipe
Linker flags:
Executable -Wl,-O1 -Wl,--as-needed
Module -Wl,-O1 -Wl,--as-needed
Shared -Wl,-O1 -Wl,--as-needed
-- Configuring done
-- Generating done
-- Build files have been written to: /var/tmp/portage/dev-util/bear-3.0.16/work/bear-3.0.16_build
!!! Failed to set new SELinux execution context. Is your current SELinux context allowed to run Portage?
* Source directory (CMAKE_USE_DIR): "/var/tmp/portage/dev-util/bear-3.0.16/work/Bear-3.0.16"
* Build directory (BUILD_DIR): "/var/tmp/portage/dev-util/bear-3.0.16/work/bear-3.0.16_build"
ninja -v -j16 -l12.0
[1/8] cd /var/tmp/portage/dev-util/bear-3.0.16/work/bear-3.0.16_build && /usr/bin/cmake -E make_directory /var/tmp/portage/dev-util/bear-3.0.16/work/Bear-3.0.16/source && /usr/bin/cmake -E make_directory /var/tmp/portage/dev-util/bear-3.0.16/work/bear-3.0.16_build/subprojects/Build/BearSource && /usr/bin/cmake -E make_directory /var/tmp/portage/dev-util/bear-3.0.16/work/bear-3.0.16_build/subprojects/Install/BearSource && /usr/bin/cmake -E make_directory /var/tmp/portage/dev-util/bear-3.0.16/work/bear-3.0.16_build/subprojects/tmp/BearSource && /usr/bin/cmake -E make_directory /var/tmp/portage/dev-util/bear-3.0.16/work/bear-3.0.16_build/subprojects/Stamp/BearSource && /usr/bin/cmake -E make_directory /var/tmp/portage/dev-util/bear-3.0.16/work/bear-3.0.16_build/subprojects/Download/BearSource && /usr/bin/cmake -E make_directory /var/tmp/portage/dev-util/bear-3.0.16/work/bear-3.0.16_build/subprojects/Stamp/BearSource && /usr/bin/cmake -E touch /var/tmp/portage/dev-util/bear-3.0.16/work/bear-3.0.16_build/subprojects/Stamp/BearSource/BearSource-mkdir
[2/8] cd /var/tmp/portage/dev-util/bear-3.0.16/work/bear-3.0.16_build && /usr/bin/cmake -E echo_append && /usr/bin/cmake -E touch /var/tmp/portage/dev-util/bear-3.0.16/work/bear-3.0.16_build/subprojects/Stamp/BearSource/BearSource-download
[3/8] cd /var/tmp/portage/dev-util/bear-3.0.16/work/bear-3.0.16_build && /usr/bin/cmake -E echo_append && /usr/bin/cmake -E touch /var/tmp/portage/dev-util/bear-3.0.16/work/bear-3.0.16_build/subprojects/Stamp/BearSource/BearSource-update
[4/8] cd /var/tmp/portage/dev-util/bear-3.0.16/work/bear-3.0.16_build && /usr/bin/cmake -E echo_append && /usr/bin/cmake -E touch /var/tmp/portage/dev-util/bear-3.0.16/work/bear-3.0.16_build/subprojects/Stamp/BearSource/BearSource-patch
[5/8] cd /var/tmp/portage/dev-util/bear-3.0.16/work/bear-3.0.16_build/subprojects/Build/BearSource && /usr/bin/cmake -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -DCMAKE_PROJECT_VERSION=3.0.16 -DCMAKE_C_COMPILER=/usr/bin/x86_64-pc-linux-gnu-gcc -DCMAKE_CXX_STANDARD=17 -DCMAKE_CXX_STANDARD_REQUIRED=ON -DCMAKE_CXX_EXTENSIONS=OFF "-DCMAKE_CXX_FLAGS:STRING=-march=native -ggdb -O2 -pipe" -DCMAKE_CXX_COMPILER:STRING=/usr/bin/x86_64-pc-linux-gnu-g++ -DPKG_CONFIG_EXECUTABLE:PATH=x86_64-pc-linux-gnu-pkg-config -DCMAKE_TOOLCHAIN_FILE:PATH=/var/tmp/portage/dev-util/bear-3.0.16/work/bear-3.0.16_build/gentoo_toolchain.cmake -GNinja -C/var/tmp/portage/dev-util/bear-3.0.16/work/bear-3.0.16_build/subprojects/tmp/BearSource/BearSource-cache-Gentoo.cmake /var/tmp/portage/dev-util/bear-3.0.16/work/Bear-3.0.16/source && /usr/bin/cmake -E touch /var/tmp/portage/dev-util/bear-3.0.16/work/bear-3.0.16_build/subprojects/Stamp/BearSource/BearSource-configure
loading initial cache file /var/tmp/portage/dev-util/bear-3.0.16/work/bear-3.0.16_build/subprojects/tmp/BearSource/BearSource-cache-Gentoo.cmake
-- The C compiler identification is GNU 11.2.0
-- The CXX compiler identification is GNU 11.2.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/x86_64-pc-linux-gnu-gcc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/x86_64-pc-linux-gnu-g++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Looking for pthread.h
-- Looking for pthread.h - found
-- 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 nlohmann_json: /usr/lib64/cmake/nlohmann_json/nlohmann_jsonConfig.cmake (found version "3.10.3")
-- Found PkgConfig: x86_64-pc-linux-gnu-pkg-config (found version "1.8.0")
-- Checking for modules 'protobuf;grpc++'
-- Found protobuf, version 3.17.3
-- Found grpc++, version 1.41.0
-- Looking for spawn.h
-- Looking for spawn.h - found
-- Looking for unistd.h
-- Looking for unistd.h - found
-- Looking for dlfcn.h
-- Looking for dlfcn.h - found
-- Looking for errno.h
-- Looking for errno.h - found
-- Looking for sys/utsname.h
-- Looking for sys/utsname.h - found
-- Looking for sys/wait.h
-- Looking for sys/wait.h - found
-- Looking for sys/time.h
-- Looking for sys/time.h - found
-- Looking for gnu/lib-names.h
-- Looking for gnu/lib-names.h - found
-- Looking for _NSGetEnviron
-- Looking for _NSGetEnviron - not found
-- Looking for dlopen
-- Looking for dlopen - found
-- Looking for dlsym
-- Looking for dlsym - found
-- Looking for dlerror
-- Looking for dlerror - found
-- Looking for dlclose
-- Looking for dlclose - found
-- Looking for RTLD_NEXT
-- Looking for RTLD_NEXT - found
-- Looking for EACCES
-- Looking for EACCES - found
-- Looking for ENOENT
-- Looking for ENOENT - found
-- Looking for strerror_r
-- Looking for strerror_r - found
-- Looking for environ
-- Looking for environ - found
-- Looking for uname
-- Looking for uname - found
-- Looking for confstr
-- Looking for confstr - found
-- Looking for _CS_PATH
-- Looking for _CS_PATH - found
-- Looking for _CS_GNU_LIBC_VERSION
-- Looking for _CS_GNU_LIBC_VERSION - found
-- Looking for _CS_GNU_LIBPTHREAD_VERSION
-- Looking for _CS_GNU_LIBPTHREAD_VERSION - found
-- Looking for protoc ... /usr/bin/protoc
-- Looking for grpc_cpp_plugin ... /usr/bin/grpc_cpp_plugin
-- Configuring done
-- Generating done
-- Build files have been written to: /var/tmp/portage/dev-util/bear-3.0.16/work/bear-3.0.16_build/subprojects/Build/BearSource
[6/8] cd /var/tmp/portage/dev-util/bear-3.0.16/work/bear-3.0.16_build/subprojects/Build/BearSource && /usr/bin/cmake --build . && /usr/bin/cmake -E touch /var/tmp/portage/dev-util/bear-3.0.16/work/bear-3.0.16_build/subprojects/Stamp/BearSource/BearSource-build
FAILED: subprojects/Stamp/BearSource/BearSource-build /var/tmp/portage/dev-util/bear-3.0.16/work/bear-3.0.16_build/subprojects/Stamp/BearSource/BearSource-build
cd /var/tmp/portage/dev-util/bear-3.0.16/work/bear-3.0.16_build/subprojects/Build/BearSource && /usr/bin/cmake --build . && /usr/bin/cmake -E touch /var/tmp/portage/dev-util/bear-3.0.16/work/bear-3.0.16_build/subprojects/Stamp/BearSource/BearSource-build
[1/61] Building CXX object intercept/CMakeFiles/exec.dir/source/report/libexec/std.cc.o
[2/61] Building CXX object intercept/CMakeFiles/exec_a.dir/source/report/libexec/Environment.cc.o
[3/61] Building CXX object intercept/CMakeFiles/exec_a.dir/source/report/libexec/Buffer.cc.o
[4/61] Building CXX object intercept/CMakeFiles/exec_a.dir/source/report/libexec/Logger.cc.o
[5/61] Building CXX object intercept/CMakeFiles/exec_a.dir/source/report/libexec/Session.cc.o
[6/61] Generating supervise.pb.h, supervise.grpc.pb.h, supervise.pb.cc, supervise.grpc.pb.cc
[7/61] Generating intercept.pb.h, intercept.grpc.pb.h, intercept.pb.cc, intercept.grpc.pb.cc
[8/61] Building CXX object libsys/CMakeFiles/sys_a.dir/source/Errors.cc.o
[9/61] Building CXX object intercept/CMakeFiles/exec_a.dir/source/report/libexec/Paths.cc.o
[10/61] Building CXX object intercept/CMakeFiles/exec_a.dir/source/report/libexec/Linker.cc.o
[11/61] Building CXX object intercept/CMakeFiles/exec.dir/source/report/libexec/lib.cc.o
[12/61] Building CXX object intercept/CMakeFiles/exec_a.dir/source/report/libexec/Resolver.cc.o
[13/61] Building CXX object intercept/CMakeFiles/exec_a.dir/source/report/libexec/Executor.cc.o
[14/61] Building CXX object libsys/CMakeFiles/sys_a.dir/source/Guard.cc.o
[15/61] Building CXX object libsys/CMakeFiles/sys_a.dir/source/Path.cc.o
[16/61] Building CXX object libsys/CMakeFiles/sys_a.dir/source/Os.cc.o
[17/61] Building CXX object libsys/CMakeFiles/sys_a.dir/source/Signal.cc.o
[18/61] Building CXX object intercept/CMakeFiles/domain_a.dir/source/Domain.cc.o
[19/61] Building CXX object intercept/CMakeFiles/wrapper_a.dir/source/report/wrapper/EventFactory.cc.o
[20/61] Building CXX object intercept/CMakeFiles/events_db_a.dir/source/collect/db/EventsDatabaseWriter.cc.o
[21/61] Building CXX object libflags/CMakeFiles/flags_a.dir/source/Flags.cc.o
[22/61] Building CXX object intercept/CMakeFiles/domain_a.dir/source/Convert.cc.o
[23/61] Building CXX object intercept/CMakeFiles/events_db_a.dir/source/collect/db/EventsDatabaseReader.cc.o
[24/61] Building CXX object citnames/CMakeFiles/citnames_json_a.dir/source/Output.cc.o
FAILED: citnames/CMakeFiles/citnames_json_a.dir/source/Output.cc.o
/usr/bin/x86_64-pc-linux-gnu-g++ -DFMT_LOCALE -DFMT_SHARED -DJSON_DIAGNOSTICS=0 -DJSON_USE_IMPLICIT_CONVERSIONS=1 -DSPDLOG_COMPILED_LIB -DSPDLOG_FMT_EXTERNAL -DSPDLOG_SHARED_LIB -I/var/tmp/portage/dev-util/bear-3.0.16/work/bear-3.0.16_build/subprojects/Build/BearSource -I/var/tmp/portage/dev-util/bear-3.0.16/work/Bear-3.0.16/source/libresult/include -I/var/tmp/portage/dev-util/bear-3.0.16/work/Bear-3.0.16/source/libshell/include -I/var/tmp/portage/dev-util/bear-3.0.16/work/Bear-3.0.16/source/libsys/include -march=native -ggdb -O2 -pipe -fno-exceptions -DSPDLOG_NO_EXCEPTIONS -DGOOGLE_PROTOBUF_NO_RTTI -Wall -Wextra -fexceptions -std=c++17 -MD -MT citnames/CMakeFiles/citnames_json_a.dir/source/Output.cc.o -MF citnames/CMakeFiles/citnames_json_a.dir/source/Output.cc.o.d -o citnames/CMakeFiles/citnames_json_a.dir/source/Output.cc.o -c /var/tmp/portage/dev-util/bear-3.0.16/work/Bear-3.0.16/source/citnames/source/Output.cc
In file included from /usr/include/nlohmann/detail/conversions/from_json.hpp:19,
from /usr/include/nlohmann/adl_serializer.hpp:6,
from /usr/include/nlohmann/json.hpp:51,
from /var/tmp/portage/dev-util/bear-3.0.16/work/Bear-3.0.16/source/citnames/source/Output.cc:30:
/usr/include/nlohmann/detail/meta/type_traits.hpp: In instantiation of ‘constexpr const bool nlohmann::detail::is_constructible_array_type_impl<nlohmann::basic_json<>, std::filesystem::__cxx11::path, void>::value’:
/usr/include/nlohmann/detail/conversions/from_json.hpp:245:84: required by substitution of ‘template<class BasicJsonType, class ConstructibleArrayType, typename std::enable_if<((((nlohmann::detail::is_constructible_array_type<BasicJsonType, ConstructibleArrayType>::value && (! nlohmann::detail::is_constructible_object_type<BasicJsonType, ConstructibleObjectType>::value)) && (! nlohmann::detail::is_constructible_string_type<BasicJsonType, ConstructibleStringType>::value)) && (! std::is_same<ConstructibleArrayType, typename BasicJsonType::binary_t>::value)) && (! nlohmann::detail::is_basic_json<T>::value)), int>::type <anonymous> > decltype (((nlohmann::detail::from_json_array_impl(j, arr, nlohmann::detail::priority_tag<3>{}), j.get<typename ConstructibleArrayType::value_type>()), void())) nlohmann::detail::from_json(const BasicJsonType&, ConstructibleArrayType&) [with BasicJsonType = nlohmann::basic_json<>; ConstructibleArrayType = std::filesystem::__cxx11::path; typename std::enable_if<((((nlohmann::detail::is_constructible_array_type<BasicJsonType, ConstructibleArrayType>::value && (! nlohmann::detail::is_constructible_object_type<BasicJsonType, ConstructibleObjectType>::value)) && (! nlohmann::detail::is_constructible_string_type<BasicJsonType, ConstructibleStringType>::value)) && (! std::is_same<ConstructibleArrayType, typename BasicJsonType::binary_t>::value)) && (! nlohmann::detail::is_basic_json<T>::value)), int>::type <anonymous> = <missing>]’
/usr/include/nlohmann/detail/conversions/from_json.hpp:452:26: required by substitution of ‘template<class BasicJsonType, class T> decltype (nlohmann::detail::from_json(j, forward<T>(val))) nlohmann::detail::from_json_fn::operator()(const BasicJsonType&, T&&) const [with BasicJsonType = nlohmann::basic_json<>; T = std::filesystem::__cxx11::path&]’
/usr/include/nlohmann/adl_serializer.hpp:31:38: required by substitution of ‘template<class BasicJsonType, class TargetType> static decltype ((nlohmann::{anonymous}::from_json(forward<BasicJsonType>(j), val), void())) nlohmann::adl_serializer<std::filesystem::__cxx11::path, void>::from_json<BasicJsonType, TargetType>(BasicJsonType&&, TargetType&) [with BasicJsonType = const nlohmann::basic_json<>&; TargetType = std::filesystem::__cxx11::path]’
/usr/include/nlohmann/detail/meta/detected.hpp:55:7: recursively required by substitution of ‘template<class Default, template<class ...> class Op, class ... Args> struct nlohmann::detail::detector<Default, typename nlohmann::detail::make_void<Op<Args ...> >::type, Op, Args ...> [with Default = nlohmann::detail::nonesuch; Op = nlohmann::detail::from_json_function; Args = {nlohmann::adl_serializer<std::filesystem::__cxx11::path, void>, const nlohmann::basic_json<std::map, std::vector, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool, long int, long unsigned int, double, std::allocator, nlohmann::adl_serializer, std::vector<unsigned char, std::allocator<unsigned char> > >&, std::filesystem::__cxx11::path&}]’
/usr/include/nlohmann/detail/meta/detected.hpp:55:7: required by substitution of ‘template<class Expected, template<class ...> class Op, class ... Args> using is_detected_exact = std::is_same<Expected, typename nlohmann::detail::detector<nlohmann::detail::nonesuch, void, Op, Args ...>::type> [with Expected = void; Op = nlohmann::detail::from_json_function; Args = {nlohmann::adl_serializer<std::filesystem::__cxx11::path, void>, const nlohmann::basic_json<std::map, std::vector, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool, long int, long unsigned int, double, std::allocator, nlohmann::adl_serializer, std::vector<unsigned char, std::allocator<unsigned char> > >&, std::filesystem::__cxx11::path&}]’
/usr/include/nlohmann/detail/meta/type_traits.hpp:115:36: required from ‘constexpr const bool nlohmann::detail::has_from_json<nlohmann::basic_json<>, std::filesystem::__cxx11::path, void>::value’
/usr/include/nlohmann/json.hpp:3289:60: required by substitution of ‘template<class ValueType, typename std::enable_if<((! nlohmann::detail::is_basic_json<BasicJsonType>::value) && nlohmann::detail::has_from_json<nlohmann::basic_json<>, ValueType, void>::value), int>::type <anonymous> > ValueType& nlohmann::basic_json<>::get_to<ValueType, <anonymous> >(ValueType&) const [with ValueType = std::filesystem::__cxx11::path; typename std::enable_if<((! nlohmann::detail::is_basic_json<BasicJsonType>::value) && nlohmann::detail::has_from_json<nlohmann::basic_json<>, ValueType, void>::value), int>::type <anonymous> = <missing>]’
/var/tmp/portage/dev-util/bear-3.0.16/work/Bear-3.0.16/source/citnames/source/Output.cc:164:28: required from here
/usr/include/nlohmann/detail/meta/type_traits.hpp:400:22: error: the value of ‘nlohmann::detail::has_from_json<nlohmann::basic_json<>, std::filesystem::__cxx11::path, void>::value’ is not usable in a constant expression
400 | value_type>::value ||
| ^~~~~
In file included from /usr/include/nlohmann/detail/conversions/from_json.hpp:19,
from /usr/include/nlohmann/adl_serializer.hpp:6,
from /usr/include/nlohmann/json.hpp:51,
from /var/tmp/portage/dev-util/bear-3.0.16/work/Bear-3.0.16/source/citnames/source/Output.cc:30:
/usr/include/nlohmann/detail/meta/type_traits.hpp:113:27: note: ‘nlohmann::detail::has_from_json<nlohmann::basic_json<>, std::filesystem::__cxx11::path, void>::value’ used in its own initializer
113 | static constexpr bool value =
| ^~~~~
[25/61] Building CXX object citnames/CMakeFiles/citnames_json_a.dir/source/Configuration.cc.o
FAILED: citnames/CMakeFiles/citnames_json_a.dir/source/Configuration.cc.o
/usr/bin/x86_64-pc-linux-gnu-g++ -DFMT_LOCALE -DFMT_SHARED -DJSON_DIAGNOSTICS=0 -DJSON_USE_IMPLICIT_CONVERSIONS=1 -DSPDLOG_COMPILED_LIB -DSPDLOG_FMT_EXTERNAL -DSPDLOG_SHARED_LIB -I/var/tmp/portage/dev-util/bear-3.0.16/work/bear-3.0.16_build/subprojects/Build/BearSource -I/var/tmp/portage/dev-util/bear-3.0.16/work/Bear-3.0.16/source/libresult/include -I/var/tmp/portage/dev-util/bear-3.0.16/work/Bear-3.0.16/source/libshell/include -I/var/tmp/portage/dev-util/bear-3.0.16/work/Bear-3.0.16/source/libsys/include -march=native -ggdb -O2 -pipe -fno-exceptions -DSPDLOG_NO_EXCEPTIONS -DGOOGLE_PROTOBUF_NO_RTTI -Wall -Wextra -fexceptions -std=c++17 -MD -MT citnames/CMakeFiles/citnames_json_a.dir/source/Configuration.cc.o -MF citnames/CMakeFiles/citnames_json_a.dir/source/Configuration.cc.o.d -o citnames/CMakeFiles/citnames_json_a.dir/source/Configuration.cc.o -c /var/tmp/portage/dev-util/bear-3.0.16/work/Bear-3.0.16/source/citnames/source/Configuration.cc
In file included from /usr/include/nlohmann/detail/conversions/from_json.hpp:19,
from /usr/include/nlohmann/adl_serializer.hpp:6,
from /usr/include/nlohmann/json.hpp:51,
from /var/tmp/portage/dev-util/bear-3.0.16/work/Bear-3.0.16/source/citnames/source/Configuration.cc:26:
/usr/include/nlohmann/detail/meta/type_traits.hpp: In instantiation of ‘constexpr const bool nlohmann::detail::is_constructible_array_type_impl<nlohmann::basic_json<>, std::filesystem::__cxx11::path, void>::value’:
/usr/include/nlohmann/detail/conversions/from_json.hpp:245:84: required by substitution of ‘template<class BasicJsonType, class ConstructibleArrayType, typename std::enable_if<((((nlohmann::detail::is_constructible_array_type<BasicJsonType, ConstructibleArrayType>::value && (! nlohmann::detail::is_constructible_object_type<BasicJsonType, ConstructibleObjectType>::value)) && (! nlohmann::detail::is_constructible_string_type<BasicJsonType, ConstructibleStringType>::value)) && (! std::is_same<ConstructibleArrayType, typename BasicJsonType::binary_t>::value)) && (! nlohmann::detail::is_basic_json<T>::value)), int>::type <anonymous> > decltype (((nlohmann::detail::from_json_array_impl(j, arr, nlohmann::detail::priority_tag<3>{}), j.get<typename ConstructibleArrayType::value_type>()), void())) nlohmann::detail::from_json(const BasicJsonType&, ConstructibleArrayType&) [with BasicJsonType = nlohmann::basic_json<>; ConstructibleArrayType = std::filesystem::__cxx11::path; typename std::enable_if<((((nlohmann::detail::is_constructible_array_type<BasicJsonType, ConstructibleArrayType>::value && (! nlohmann::detail::is_constructible_object_type<BasicJsonType, ConstructibleObjectType>::value)) && (! nlohmann::detail::is_constructible_string_type<BasicJsonType, ConstructibleStringType>::value)) && (! std::is_same<ConstructibleArrayType, typename BasicJsonType::binary_t>::value)) && (! nlohmann::detail::is_basic_json<T>::value)), int>::type <anonymous> = <missing>]’
/usr/include/nlohmann/detail/conversions/from_json.hpp:452:26: required by substitution of ‘template<class BasicJsonType, class T> decltype (nlohmann::detail::from_json(j, forward<T>(val))) nlohmann::detail::from_json_fn::operator()(const BasicJsonType&, T&&) const [with BasicJsonType = nlohmann::basic_json<>; T = std::filesystem::__cxx11::path&]’
/usr/include/nlohmann/adl_serializer.hpp:31:38: required by substitution of ‘template<class BasicJsonType, class TargetType> static decltype ((nlohmann::{anonymous}::from_json(forward<BasicJsonType>(j), val), void())) nlohmann::adl_serializer<std::filesystem::__cxx11::path, void>::from_json<BasicJsonType, TargetType>(BasicJsonType&&, TargetType&) [with BasicJsonType = const nlohmann::basic_json<>&; TargetType = std::filesystem::__cxx11::path]’
/usr/include/nlohmann/detail/meta/type_traits.hpp:89:49: required by substitution of ‘template<class T, class ... Args> using from_json_function = decltype (T::from_json((declval<Args>)()...)) [with T = nlohmann::adl_serializer<std::filesystem::__cxx11::path, void>; Args = {const nlohmann::basic_json<std::map, std::vector, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool, long int, long unsigned int, double, std::allocator, nlohmann::adl_serializer, std::vector<unsigned char, std::allocator<unsigned char> > >&, std::filesystem::__cxx11::path&}]’
/usr/include/nlohmann/detail/meta/detected.hpp:55:7: [ skipping 4 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
/usr/include/nlohmann/detail/conversions/from_json.hpp:452:26: required by substitution of ‘template<class BasicJsonType, class T> decltype (nlohmann::detail::from_json(j, forward<T>(val))) nlohmann::detail::from_json_fn::operator()(const BasicJsonType&, T&&) const [with BasicJsonType = nlohmann::basic_json<>; T = std::__cxx11::list<std::filesystem::__cxx11::path>&]’
/usr/include/nlohmann/adl_serializer.hpp:31:38: required by substitution of ‘template<class BasicJsonType, class TargetType> static decltype ((nlohmann::{anonymous}::from_json(forward<BasicJsonType>(j), val), void())) nlohmann::adl_serializer<std::__cxx11::list<std::filesystem::__cxx11::path>, void>::from_json<BasicJsonType, TargetType>(BasicJsonType&&, TargetType&) [with BasicJsonType = const nlohmann::basic_json<>&; TargetType = std::__cxx11::list<std::filesystem::__cxx11::path>]’
/usr/include/nlohmann/detail/meta/detected.hpp:55:7: recursively required by substitution of ‘template<class Default, template<class ...> class Op, class ... Args> struct nlohmann::detail::detector<Default, typename nlohmann::detail::make_void<Op<Args ...> >::type, Op, Args ...> [with Default = nlohmann::detail::nonesuch; Op = nlohmann::detail::from_json_function; Args = {nlohmann::adl_serializer<std::__cxx11::list<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> >, void>, const nlohmann::basic_json<std::map, std::vector, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool, long int, long unsigned int, double, std::allocator, nlohmann::adl_serializer, std::vector<unsigned char, std::allocator<unsigned char> > >&, std::__cxx11::list<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> >&}]’
/usr/include/nlohmann/detail/meta/detected.hpp:55:7: required by substitution of ‘template<class Expected, template<class ...> class Op, class ... Args> using is_detected_exact = std::is_same<Expected, typename nlohmann::detail::detector<nlohmann::detail::nonesuch, void, Op, Args ...>::type> [with Expected = void; Op = nlohmann::detail::from_json_function; Args = {nlohmann::adl_serializer<std::__cxx11::list<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> >, void>, const nlohmann::basic_json<std::map, std::vector, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool, long int, long unsigned int, double, std::allocator, nlohmann::adl_serializer, std::vector<unsigned char, std::allocator<unsigned char> > >&, std::__cxx11::list<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> >&}]’
/usr/include/nlohmann/detail/meta/type_traits.hpp:115:36: required from ‘constexpr const bool nlohmann::detail::has_from_json<nlohmann::basic_json<>, std::__cxx11::list<std::filesystem::__cxx11::path>, void>::value’
/usr/include/nlohmann/json.hpp:3289:60: required by substitution of ‘template<class ValueType, typename std::enable_if<((! nlohmann::detail::is_basic_json<BasicJsonType>::value) && nlohmann::detail::has_from_json<nlohmann::basic_json<>, ValueType, void>::value), int>::type <anonymous> > ValueType& nlohmann::basic_json<>::get_to<ValueType, <anonymous> >(ValueType&) const [with ValueType = std::__cxx11::list<std::filesystem::__cxx11::path>; typename std::enable_if<((! nlohmann::detail::is_basic_json<BasicJsonType>::value) && nlohmann::detail::has_from_json<nlohmann::basic_json<>, ValueType, void>::value), int>::type <anonymous> = <missing>]’
/var/tmp/portage/dev-util/bear-3.0.16/work/Bear-3.0.16/source/citnames/source/Configuration.cc:46:44: required from here
/usr/include/nlohmann/detail/meta/type_traits.hpp:400:22: error: the value of ‘nlohmann::detail::has_from_json<nlohmann::basic_json<>, std::filesystem::__cxx11::path, void>::value’ is not usable in a constant expression
400 | value_type>::value ||
| ^~~~~
In file included from /usr/include/nlohmann/detail/conversions/from_json.hpp:19,
from /usr/include/nlohmann/adl_serializer.hpp:6,
from /usr/include/nlohmann/json.hpp:51,
from /var/tmp/portage/dev-util/bear-3.0.16/work/Bear-3.0.16/source/citnames/source/Configuration.cc:26:
/usr/include/nlohmann/detail/meta/type_traits.hpp:113:27: note: ‘nlohmann::detail::has_from_json<nlohmann::basic_json<>, std::filesystem::__cxx11::path, void>::value’ used in its own initializer
113 | static constexpr bool value =
| ^~~~~
In file included from /usr/include/nlohmann/detail/conversions/from_json.hpp:19,
from /usr/include/nlohmann/adl_serializer.hpp:6,
from /usr/include/nlohmann/json.hpp:51,
from /var/tmp/portage/dev-util/bear-3.0.16/work/Bear-3.0.16/source/citnames/source/Configuration.cc:26:
/usr/include/nlohmann/detail/meta/type_traits.hpp: In instantiation of ‘constexpr const bool nlohmann::detail::is_compatible_array_type_impl<nlohmann::basic_json<>, std::filesystem::__cxx11::path, void>::value’:
/usr/include/nlohmann/detail/conversions/to_json.hpp:310:48: required by substitution of ‘template<class BasicJsonType, class CompatibleArrayType, typename std::enable_if<((((nlohmann::detail::is_compatible_array_type<BasicJsonType, CompatibleArrayType>::value && (! nlohmann::detail::is_compatible_object_type<BasicJsonType, CompatibleObjectType>::value)) && (! nlohmann::detail::is_compatible_string_type<BasicJsonType, ConstructibleStringType>::value)) && (! std::is_same<typename BasicJsonType::binary_t, CompatibleArrayType>::value)) && (! nlohmann::detail::is_basic_json<T>::value)), int>::type <anonymous> > void nlohmann::detail::to_json(BasicJsonType&, const CompatibleArrayType&) [with BasicJsonType = nlohmann::basic_json<>; CompatibleArrayType = std::filesystem::__cxx11::path; typename std::enable_if<((((nlohmann::detail::is_compatible_array_type<BasicJsonType, CompatibleArrayType>::value && (! nlohmann::detail::is_compatible_object_type<BasicJsonType, CompatibleObjectType>::value)) && (! nlohmann::detail::is_compatible_string_type<BasicJsonType, ConstructibleStringType>::value)) && (! std::is_same<typename BasicJsonType::binary_t, CompatibleArrayType>::value)) && (! nlohmann::detail::is_basic_json<T>::value)), int>::type <anonymous> = <missing>]’
/usr/include/nlohmann/detail/conversions/to_json.hpp:393:24: required by substitution of ‘template<class BasicJsonType, class T> decltype ((nlohmann::detail::to_json(j, forward<T>(val)), void())) nlohmann::detail::to_json_fn::operator()(BasicJsonType&, T&&) const [with BasicJsonType = nlohmann::basic_json<>; T = std::filesystem::__cxx11::path]’
/usr/include/nlohmann/adl_serializer.hpp:68:36: required by substitution of ‘template<class BasicJsonType, class TargetType> static decltype ((nlohmann::{anonymous}::to_json(j, forward<TargetType>(val)), void())) nlohmann::adl_serializer<std::filesystem::__cxx11::path, void>::to_json<BasicJsonType, TargetType>(BasicJsonType&, TargetType&&) [with BasicJsonType = nlohmann::basic_json<>; TargetType = std::filesystem::__cxx11::path]’
/usr/include/nlohmann/detail/meta/type_traits.hpp:86:45: required by substitution of ‘template<class T, class ... Args> using to_json_function = decltype (T::to_json((declval<Args>)()...)) [with T = nlohmann::adl_serializer<std::filesystem::__cxx11::path, void>; Args = {nlohmann::basic_json<std::map, std::vector, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool, long int, long unsigned int, double, std::allocator, nlohmann::adl_serializer, std::vector<unsigned char, std::allocator<unsigned char> > >&, std::filesystem::__cxx11::path}]’
/usr/include/nlohmann/detail/meta/detected.hpp:55:7: [ skipping 10 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
/usr/include/nlohmann/adl_serializer.hpp:68:36: required by substitution of ‘template<class BasicJsonType, class TargetType> static decltype ((nlohmann::{anonymous}::to_json(j, forward<TargetType>(val)), void())) nlohmann::adl_serializer<std::__cxx11::list<std::filesystem::__cxx11::path>, void>::to_json<BasicJsonType, TargetType>(BasicJsonType&, TargetType&&) [with BasicJsonType = nlohmann::basic_json<>; TargetType = std::__cxx11::list<std::filesystem::__cxx11::path>]’
/usr/include/nlohmann/detail/meta/detected.hpp:55:7: recursively required by substitution of ‘template<class Default, template<class ...> class Op, class ... Args> struct nlohmann::detail::detector<Default, typename nlohmann::detail::make_void<Op<Args ...> >::type, Op, Args ...> [with Default = nlohmann::detail::nonesuch; Op = nlohmann::detail::to_json_function; Args = {nlohmann::adl_serializer<std::__cxx11::list<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> >, void>, nlohmann::basic_json<std::map, std::vector, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool, long int, long unsigned int, double, std::allocator, nlohmann::adl_serializer, std::vector<unsigned char, std::allocator<unsigned char> > >&, std::__cxx11::list<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> >}]’
/usr/include/nlohmann/detail/meta/detected.hpp:55:7: required by substitution of ‘template<class Expected, template<class ...> class Op, class ... Args> using is_detected_exact = std::is_same<Expected, typename nlohmann::detail::detector<nlohmann::detail::nonesuch, void, Op, Args ...>::type> [with Expected = void; Op = nlohmann::detail::to_json_function; Args = {nlohmann::adl_serializer<std::__cxx11::list<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> >, void>, nlohmann::basic_json<std::map, std::vector, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool, long int, long unsigned int, double, std::allocator, nlohmann::adl_serializer, std::vector<unsigned char, std::allocator<unsigned char> > >&, std::__cxx11::list<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> >}]’
/usr/include/nlohmann/detail/meta/type_traits.hpp:145:13: required from ‘constexpr const bool nlohmann::detail::has_to_json<nlohmann::basic_json<>, std::__cxx11::list<std::filesystem::__cxx11::path>, void>::value’
/usr/include/nlohmann/detail/meta/type_traits.hpp:446:53: required from ‘constexpr const bool nlohmann::detail::is_compatible_type_impl<nlohmann::basic_json<>, std::__cxx11::list<std::filesystem::__cxx11::path>, void>::value’
/usr/include/nlohmann/json.hpp:1569:53: required by substitution of ‘template<class CompatibleType, class U, typename std::enable_if<((! nlohmann::detail::is_basic_json<T>::value) && nlohmann::detail::is_compatible_type<nlohmann::basic_json<>, U>::value), int>::type <anonymous> > nlohmann::basic_json<>::basic_json(CompatibleType&&) [with CompatibleType = const std::__cxx11::list<std::filesystem::__cxx11::path>&; U = std::__cxx11::list<std::filesystem::__cxx11::path>; typename std::enable_if<((! nlohmann::detail::is_basic_json<T>::value) && nlohmann::detail::is_compatible_type<nlohmann::basic_json<>, U>::value), int>::type <anonymous> = <missing>]’
/var/tmp/portage/dev-util/bear-3.0.16/work/Bear-3.0.16/source/citnames/source/Configuration.cc:58:41: required from here
/usr/include/nlohmann/detail/meta/type_traits.hpp:362:46: error: incomplete type ‘nlohmann::detail::is_constructible<nlohmann::basic_json<>, std::filesystem::__cxx11::path>’ used in nested name specifier
362 | range_value_t<CompatibleArrayType>>::value;
| ^~~~~
[26/61] Building CXX object intercept/CMakeFiles/wrapper_a.dir/source/report/wrapper/EventReporter.cc.o
[27/61] Building CXX object libmain/CMakeFiles/main_a.dir/source/ApplicationLogConfig.cc.o
[28/61] Building CXX object libmain/CMakeFiles/main_a.dir/source/ApplicationFromArgs.cc.o
[29/61] Building CXX object libsys/CMakeFiles/sys_a.dir/source/Process.cc.o
[30/61] Building CXX object intercept/CMakeFiles/intercept_a.dir/source/collect/RpcServices.cc.o
[31/61] Building CXX object intercept/CMakeFiles/intercept.dir/source/collect/main.cc.o
[32/61] Building CXX object intercept/proto/CMakeFiles/rpc_a.dir/intercept.grpc.pb.cc.o
[33/61] Building CXX object libshell/CMakeFiles/shell_a.dir/source/Command.cc.o
[34/61] Building CXX object intercept/CMakeFiles/wrapper.dir/source/report/wrapper/main.cc.o
[35/61] Building CXX object intercept/CMakeFiles/wrapper_a.dir/source/report/wrapper/RpcClients.cc.o
[36/61] Building CXX object intercept/CMakeFiles/intercept_a.dir/source/collect/Reporter.cc.o
[37/61] Building CXX object intercept/CMakeFiles/intercept_a.dir/source/collect/Session.cc.o
[38/61] Building CXX object intercept/CMakeFiles/intercept_a.dir/source/collect/SessionLibrary.cc.o
[39/61] Building CXX object intercept/CMakeFiles/wrapper_a.dir/source/report/wrapper/Application.cc.o
[40/61] Building CXX object intercept/CMakeFiles/intercept_a.dir/source/collect/SessionWrapper.cc.o
[41/61] Building CXX object intercept/CMakeFiles/intercept_a.dir/source/collect/Application.cc.o
ninja: build stopped: subcommand failed.
ninja: build stopped: subcommand failed.
Metadata
Metadata
Assignees
Labels
confirmedkind: bugrelease item: 🐛 bug fixsolution: proposed fixa fix for the issue has been proposed and waits for confirmationa fix for the issue has been proposed and waits for confirmation