Open LordOfDragons opened 1 month ago
OK, thank you for the log. It looks like your system jsoncpp install is actually broken, presumably because the system package is built with meson and uses a version that makes a broken config file if built with meson. (If you generate the config file with cmake, an impl of check_required_components is generated in there too.) I am pretty sure their "patch" does not actually fix the problem, or rather, it breaks the usage for everyone now, but won't error...
As a workaround, run CMake with `-DCMAKE_DISABLE_FIND_PACKAGE_jsoncpp=TRUE" to skip that check and force using the internal build.
So what system are you using? Gentoo? So there is a Gentoo bug. Unfortunately this is a tricky one to work around in our consuming package.
I updated the corresponding upstream (jsoncpp) bug with details: https://github.com/open-source-parsers/jsoncpp/issues/1568#issuecomment-2417485183
I do not have time to look into how to file a Gentoo bug.
Created Gentoo bug linking to this issue and the upstream fix attempt: https://bugs.gentoo.org/941642
I've got the impression the ball is kicked back into your yard: https://bugs.gentoo.org/941642#c1
The fix on the gentoo jsoncpp ebuild fixes the problem. Not sure about other distros using the same jsoncpp version.
If they used CMake instead of Meson they would have had no problem, it was only if they used Meson but shipped the buggy meson-generated CMake config file.
So with the Gentoo fix things work fine now, by just falling back to pkg-config? It has less info about what kind of library we're talking about, but it should be good enough.
You can try asking up-up-stream if they can do a real fix for CMake. For compiling OpenXR it seems to work.
This jsoncpp issue causes OpenXR SDK 1.1.38 up to 1.1.41 to fail compiling:
The problem started happening after a system update where gcc/cmake has been updated:
The only workaround I found so far is this patch. But this requires jsoncpp to be build using BUILD_WITH_SYSTEM_JSONCPP=No and is thus really just a workaround and no fix.