Now that dev-libs/json-c-0.14-r2 is table, sys-fs/cryptsetup failed to be builded/rebuilded We need to apply upstream patch https://gitlab.com/cryptsetup/cryptsetup/-/commit/604abec333a0efb44fd8bc610aa0b1151dd0f612 Reproducible: Always Actual Results: In file included from lib/luks2/luks2_disk_metadata.c:24: lib/luks2/luks2_internal.h:62:10: error: conflicting types for ‘json_object_get_uint64’ 62 | uint64_t json_object_get_uint64(json_object *jobj); | ^~~~~~~~~~~~~~~~~~~~~~ In file included from /usr/include/json-c/json.h:27, from lib/luks2/luks2_internal.h:28, from lib/luks2/luks2_disk_metadata.c:24: /usr/include/json-c/json_object.h:725:22: note: previous declaration of ‘json_object_get_uint64’ was here 725 | JSON_EXPORT uint64_t json_object_get_uint64(const struct json_object *obj); | ^~~~~~~~~~~~~~~~~~~~~~ make[2]: *** [Makefile:2041: lib/luks2/libcryptsetup_la-luks2_disk_metadata.lo] Error 1 make[2]: *** Waiting for unfinished jobs.... In file included from lib/luks2/luks2_json_format.c:22: lib/luks2/luks2_internal.h:62:10: error: conflicting types for ‘json_object_get_uint64’ 62 | uint64_t json_object_get_uint64(json_object *jobj); | ^~~~~~~~~~~~~~~~~~~~~~ In file included from /usr/include/json-c/json.h:27, from lib/luks2/luks2_internal.h:28, from lib/luks2/luks2_json_format.c:22: /usr/include/json-c/json_object.h:725:22: note: previous declaration of ‘json_object_get_uint64’ was here 725 | JSON_EXPORT uint64_t json_object_get_uint64(const struct json_object *obj); | ^~~~~~~~~~~~~~~~~~~~~~ make[2]: *** [Makefile:2048: lib/luks2/libcryptsetup_la-luks2_json_format.lo] Error 1 In file included from lib/luks2/luks2_json_metadata.c:23: lib/luks2/luks2_internal.h:62:10: error: conflicting types for ‘json_object_get_uint64’ 62 | uint64_t json_object_get_uint64(json_object *jobj); | ^~~~~~~~~~~~~~~~~~~~~~ In file included from /usr/include/json-c/json.h:27, from lib/luks2/luks2_internal.h:28, from lib/luks2/luks2_json_metadata.c:23: /usr/include/json-c/json_object.h:725:22: note: previous declaration of ‘json_object_get_uint64’ was here 725 | JSON_EXPORT uint64_t json_object_get_uint64(const struct json_object *obj); | ^~~~~~~~~~~~~~~~~~~~~~ lib/luks2/luks2_json_metadata.c: In function ‘json_str_to_uint64’: lib/luks2/luks2_json_metadata.c:237:10: error: ‘FALSE’ undeclared (first use in this function) 237 | return FALSE;
Thanks! I can confirm saving mentioned above commit to /etc/portage/patches/sys-fs/cryptsetup-2.2.2/json-c-0.14.patch has fixed the build.
Closing because 2.3.2 has the fix (stabling ongoing, done for most arches, in bug 723234). Please emerge --sync and re-try if you are hitting this issue. Thanks!