Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 939604 - net-im/spectrum2-2.2.1 - [gcc-15] Unknown CMake command check_required_components.
Summary: net-im/spectrum2-2.2.1 - [gcc-15] Unknown CMake command check_required_compon...
Status: CONFIRMED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal
Assignee: Conrad Kostecki
URL:
Whiteboard:
Keywords: PATCH
: 940606 (view as bug list)
Depends on: 940272
Blocks:
  Show dependency tree
 
Reported: 2024-09-14 08:31 UTC by Toralf Förster
Modified: 2024-10-06 21:25 UTC (History)
3 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
emerge-info.txt (emerge-info.txt,19.06 KB, text/plain)
2024-09-14 08:31 UTC, Toralf Förster
Details
emerge-history.txt (emerge-history.txt,187.37 KB, text/plain)
2024-09-14 08:31 UTC, Toralf Förster
Details
environment (environment,110.71 KB, text/plain)
2024-09-14 08:31 UTC, Toralf Förster
Details
etc.clang.tar.xz (etc.clang.tar.xz,1.19 KB, application/x-xz)
2024-09-14 08:31 UTC, Toralf Förster
Details
etc.portage.tar.xz (etc.portage.tar.xz,24.20 KB, application/x-xz)
2024-09-14 08:31 UTC, Toralf Förster
Details
net-im:spectrum2-2.2.1:20240914-020537.log (net-im:spectrum2-2.2.1:20240914-020537.log,6.55 KB, text/plain)
2024-09-14 08:31 UTC, Toralf Förster
Details
qlist-info.txt.xz (qlist-info.txt.xz,55.58 KB, application/x-xz)
2024-09-14 08:31 UTC, Toralf Förster
Details
temp.tar.xz (temp.tar.xz,25.46 KB, application/x-xz)
2024-09-14 08:31 UTC, Toralf Förster
Details
fixes build with newer dev-libs/jsoncpp-1.9.6 (cmake-jsoncpp.patch,1.66 KB, patch)
2024-09-30 03:24 UTC, Bill Prendergast
Details | Diff
fixes build with newer dev-libs/jsoncpp-1.9.6 (cmake-jsoncpp-r2.patch,996 bytes, patch)
2024-09-30 03:31 UTC, Bill Prendergast
Details | Diff
build with dev-libs/jsoncpp-1.9.6-r1 using cmake module (cmake-jsoncpp-r3.patch,1.86 KB, patch)
2024-09-30 06:20 UTC, Bill Prendergast
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Toralf Förster gentoo-dev 2024-09-14 08:31:36 UTC
-- 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"
Comment 1 Toralf Förster gentoo-dev 2024-09-14 08:31:37 UTC
Created attachment 902943 [details]
emerge-info.txt
Comment 2 Toralf Förster gentoo-dev 2024-09-14 08:31:38 UTC
Created attachment 902944 [details]
emerge-history.txt
Comment 3 Toralf Förster gentoo-dev 2024-09-14 08:31:39 UTC
Created attachment 902945 [details]
environment
Comment 4 Toralf Förster gentoo-dev 2024-09-14 08:31:40 UTC
Created attachment 902946 [details]
etc.clang.tar.xz
Comment 5 Toralf Förster gentoo-dev 2024-09-14 08:31:41 UTC
Created attachment 902947 [details]
etc.portage.tar.xz
Comment 6 Toralf Förster gentoo-dev 2024-09-14 08:31:42 UTC
Created attachment 902948 [details]
net-im:spectrum2-2.2.1:20240914-020537.log
Comment 7 Toralf Förster gentoo-dev 2024-09-14 08:31:43 UTC
Created attachment 902949 [details]
qlist-info.txt.xz
Comment 8 Toralf Förster gentoo-dev 2024-09-14 08:31:44 UTC
Created attachment 902950 [details]
temp.tar.xz
Comment 9 Bill Prendergast 2024-09-30 03:17:44 UTC
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)
Comment 10 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2024-09-30 03:22:28 UTC
Does 1.9.6-r1 help?
Comment 11 Bill Prendergast 2024-09-30 03:24:03 UTC
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")
Comment 12 Bill Prendergast 2024-09-30 03:27:17 UTC
(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)
Comment 13 Bill Prendergast 2024-09-30 03:31:37 UTC
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")
Comment 14 Bill Prendergast 2024-09-30 03:38:38 UTC
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.
Comment 15 Bill Prendergast 2024-09-30 06:20:59 UTC
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.
Comment 16 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2024-10-01 23:22:04 UTC
*** Bug 940606 has been marked as a duplicate of this bug. ***
Comment 17 Eli Schwartz gentoo-dev 2024-10-06 21:25:58 UTC
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...