-- Using BOOST_FILESYSTEM_VERSION=3 -- Found popt: /usr/lib64/libpopt.so, /usr/include -- Found Sqlite3 header file in /usr/include -- Found Sqlite3 libraries: optimized;/usr/lib64/libsqlite3.so;debug;/usr/lib64/libsqlite3.so -- Found PROTOBUF: /usr/lib64/libprotobuf.so CMake Error at /usr/lib64/cmake/jsoncpp/jsoncppConfig.cmake:37 (check_required_components): Unknown CMake command "check_required_components". Call Stack (most recent call first): cmake_modules/FindJsonCpp.cmake:68 (find_package) ------------------------------------------------------------------- This is an unstable amd64 chroot image at a tinderbox (==build bot) name: 23.0_desktop_gnome-20240911-021945 UNMASKED: Please re-assign to toolchain@ if you get a test failure in C, C++, or Fortran code which makes no sense. /etc/portage/package.unmask/60gcc:<sys-devel/gcc-15.0.9999:15 The attached etc.portage.tar.xz has all details. ------------------------------------------------------------------- gcc-config -l: [1] x86_64-pc-linux-gnu-15 * clang/llvm (if any): clang version 18.1.8 Target: x86_64-pc-linux-gnu Thread model: posix InstalledDir: /usr/lib/llvm/18/bin Configuration file: /etc/clang/x86_64-pc-linux-gnu-clang.cfg /usr/lib/llvm/18 18.1.8 Python 3.12.6 Available Ruby profiles: [1] ruby31 (with Rubygems) [2] ruby32 (with Rubygems) [3] ruby33 (with Rubygems) * Available Rust versions: [1] rust-bin-1.80.1 * The following VMs are available for generation-2: 1) Eclipse Temurin JDK 11.0.24_p8 [openjdk-bin-11] 2) Eclipse Temurin JDK 17.0.12_p7 [openjdk-bin-17] *) Eclipse Temurin JDK 21.0.4_p7 [openjdk-bin-21] 4) Eclipse Temurin JDK 8.422_p05 [openjdk-bin-8] Available Java Virtual Machines: [1] openjdk-bin-8 [2] openjdk-bin-11 [3] openjdk-bin-17 [4] openjdk-bin-21 system-vm The Glorious Glasgow Haskell Compilation System, version 9.2.8 php cli (if any): [1] php8.3 * go version go1.23.0 linux/amd64 HEAD of ::gentoo commit 412ccb327afc63c95dd1826461bacf5961e3cc48 Author: Repository mirror & CI <repomirrorci@gentoo.org> Date: Fri Sep 13 23:34:10 2024 +0000 2024-09-13 23:34:10 UTC emerge -qpvO =net-im/spectrum2-2.2.1 [ebuild N ] net-im/spectrum2-2.2.1 USE="irc sqlite whatsapp -doc -frotz -mysql -postgres -purple -sms -test -twitter -xmpp"
Created attachment 902943 [details] emerge-info.txt
Created attachment 902944 [details] emerge-history.txt
Created attachment 902945 [details] environment
Created attachment 902946 [details] etc.clang.tar.xz
Created attachment 902947 [details] etc.portage.tar.xz
Created attachment 902948 [details] net-im:spectrum2-2.2.1:20240914-020537.log
Created attachment 902949 [details] qlist-info.txt.xz
Created attachment 902950 [details] temp.tar.xz
1) There is a regression in dev-libs/jsoncpp-1.9.6, see https://github.com/open-source-parsers/jsoncpp/issues/1568 and https://github.com/open-source-parsers/jsoncpp/pull/1570 2) I don't know enough about cmake and importing cpp interfaces to fix the cmake_modules/FindJsonCpp.cmake file to support finding jsoncpp by cmake module. So I've just falsified the test, so it falls back to using pkg-config to find jsoncpp (which is what it did before dev-libs/jsoncpp-1.9.6)
Does 1.9.6-r1 help?
Created attachment 904224 [details, diff] fixes build with newer dev-libs/jsoncpp-1.9.6 forced cmake to fail if it didn't find jsoncpp rather than passing jsoncpp-NOTFOUND to ninja added the macro that jsoncppConfig.cmake.meson is missing (upstream PR removes the call to the macro) short-circuited the cmake-module logic so that it falls back to using pkg-config to locate jsoncpp (I could not resolve "IMPORTED_LOCATION not set for imported target jsoncpp_lib")
(In reply to Sam James from comment #10) > Does 1.9.6-r1 help? nope - just more issues - but it would enable the patch to be trimmed a bit (dropping that check_required_components macro)
Created attachment 904225 [details, diff] fixes build with newer dev-libs/jsoncpp-1.9.6 forced cmake to fail if it didn't find jsoncpp rather than passing jsoncpp-NOTFOUND to ninja short-circuited the cmake-module logic so that it falls back to using pkg-config to locate jsoncpp (I could not resolve "IMPORTED_LOCATION not set for imported target jsoncpp_lib")
I forgot to scrub_patch those patches and to add comments to top. I've been fighting with cmake for 12 hours or so. Spectrum2 is running here and I'm going to have coffee and cake.
Created attachment 904228 [details, diff] build with dev-libs/jsoncpp-1.9.6-r1 using cmake module Third times the charm, now the patch is sourcing the jsoncpp cmake module. This requires the dev-libs/jsoncpp-1.9.6-r1 release (I've not tested rolling back to dev-libs/jsoncpp-1.9.5 and seeing if it builds / runs. It should, but I haven't tested) I'm not sure this is proper (and I'm not sure if upstream would be any wiser they appear to have sourced their FindJsonCpp.cmake from elsewhere). I also have no idea how a Windows machine would fare with patch.
*** Bug 940606 has been marked as a duplicate of this bug. ***
The garbage FindJsonCpp.cmake module in question appears to have come from https://github.com/rpavlik/cmake-modules and there are reports of other packages that fail to build for the same reason. You may want to somehow get that copy fixed and then propagate that update to dozens of arbitrary projects with vendored copies...