When dev-libs/json-c-0.14 is installed sys-fs/cryptsetup fail to build tested with versions 2.3.1 and 2.3.0 of cryptsetup Reproducible: Always [...] /bin/sh ./libtool --tag=CC --mode=compile x86_64-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -include config.h -I./lib -DDATADIR=\""/usr/share"\" -DLOCALEDIR=\""/usr/share/locale"\" -D LIBDIR=\""/usr/lib64"\" -DPREFIX=\""/usr"\" -DSYSCONFDIR=\""/etc"\" -DVERSION=\""2.3.1"\" -I ./lib/crypto_backend -I ./lib/luks1 -I ./lib/luks2 -I ./lib/loopaes -I ./lib/verity -I . /lib/tcrypt -I ./lib/integrity -I ./lib/bitlk -Wall -O3 -pipe -march=skylake -mtune=skylake -frecord-gcc-switches -fdiagnostics-color=never -c -o lib/luks2/libcryptsetup_la-luks2_ keyslot_reenc.lo `test -f 'lib/luks2/luks2_keyslot_reenc.c' || echo './'`lib/luks2/luks2_keyslot_reenc.c /bin/sh ./libtool --tag=CC --mode=compile x86_64-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -include config.h -I./lib -DDATADIR=\""/usr/share"\" -DLOCALEDIR=\""/usr/share/locale"\" -D LIBDIR=\""/usr/lib64"\" -DPREFIX=\""/usr"\" -DSYSCONFDIR=\""/etc"\" -DVERSION=\""2.3.1"\" -I ./lib/crypto_backend -I ./lib/luks1 -I ./lib/luks2 -I ./lib/loopaes -I ./lib/verity -I . /lib/tcrypt -I ./lib/integrity -I ./lib/bitlk -Wall -O3 -pipe -march=skylake -mtune=skylake -frecord-gcc-switches -fdiagnostics-color=never -c -o lib/luks2/libcryptsetup_la-luks2_ reencrypt.lo `test -f 'lib/luks2/luks2_reencrypt.c' || echo './'`lib/luks2/luks2_reencrypt.c In file included from lib/luks2/luks2_disk_metadata.c:24: lib/luks2/luks2_internal.h:61:10: error: conflicting types for ‘json_object_get_uint64’ 61 | 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:27, 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); | ^~~~~~~~~~~~~~~~~~~~~~ In file included from lib/luks2/luks2_json_format.c:22: lib/luks2/luks2_internal.h:61:10: error: conflicting types for ‘json_object_get_uint64’ 61 | uint64_t json_object_get_uint64(json_object *jobj); | ^~~~~~~~~~~~~~~~~~~~~~ /bin/sh ./libtool --tag=CC --mode=compile x86_64-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -include config.h -I./lib -DDATADIR=\""/usr/share"\" -DLOCALEDIR=\""/usr/share/locale"\" -D LIBDIR=\""/usr/lib64"\" -DPREFIX=\""/usr"\" -DSYSCONFDIR=\""/etc"\" -DVERSION=\""2.3.1"\" -I ./lib/crypto_backend -I ./lib/luks1 -I ./lib/luks2 -I ./lib/loopaes -I ./lib/verity -I . /lib/tcrypt -I ./lib/integrity -I ./lib/bitlk -Wall -O3 -pipe -march=skylake -mtune=skylake -frecord-gcc-switches -fdiagnostics-color=never -c -o lib/luks2/libcryptsetup_la-luks2_ segment.lo `test -f 'lib/luks2/luks2_segment.c' || echo './'`lib/luks2/luks2_segment.c In file included from /usr/include/json-c/json.h:27, from lib/luks2/luks2_internal.h:27, 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); | ^~~~~~~~~~~~~~~~~~~~~~ libtool: compile: x86_64-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -include config.h -I./lib -DDATADIR=\"/usr/share\" -DLOCALEDIR=\"/usr/share/locale\" -DLIBDIR=\"/usr/lib64\" -DPREFIX= \"/usr\" -DSYSCONFDIR=\"/etc\" -DVERSION=\"2.3.1\" -I ./lib/crypto_backend -I ./lib/luks1 -I ./lib/luks2 -I ./lib/loopaes -I ./lib/verity -I ./lib/tcrypt -I ./lib/integrity -I ./lib /bitlk -Wall -O3 -pipe -march=skylake -mtune=skylake -frecord-gcc-switches -fdiagnostics-color=never -c lib/luks2/luks2_json_metadata.c -fPIC -DPIC -o lib/luks2/.libs/libcryptsetup _la-luks2_json_metadata.o make[2]: *** [Makefile:2078: lib/luks2/libcryptsetup_la-luks2_disk_metadata.lo] Error 1 make[2]: *** Waiting for unfinished jobs.... make[2]: *** [Makefile:2085: lib/luks2/libcryptsetup_la-luks2_json_format.lo] Error 1 libtool: compile: x86_64-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -include config.h -I./lib -DDATADIR=\"/usr/share\" -DLOCALEDIR=\"/usr/share/locale\" -DLIBDIR=\"/usr/lib64\" -DPREFIX=\"/usr\" -DSYSCONFDIR=\"/etc\" -DVERSION=\"2.3.1\" -I ./lib/crypto_backend -I ./lib/luks1 -I ./lib/luks2 -I ./lib/loopaes -I ./lib/verity -I ./lib/tcrypt -I ./lib/integrity -I ./lib/bitlk -Wall -O3 -pipe -march=skylake -mtune=skylake -frecord-gcc-switches -fdiagnostics-color=never -c lib/luks2/luks2_luks1_convert.c -fPIC -DPIC -o lib/luks2/.libs/libcryptsetup_la-luks2_luks1_convert.o In file included from lib/luks2/luks2_json_metadata.c:23: lib/luks2/luks2_internal.h:61:10: error: conflicting types for ‘json_object_get_uint64’ 61 | 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:27, 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; | ^~~~~ lib/luks2/luks2_json_metadata.c:237:10: note: each undeclared identifier is reported only once for each function it appears in lib/luks2/luks2_json_metadata.c:241:9: error: ‘TRUE’ undeclared (first use in this function) 241 | return TRUE; | ^~~~ lib/luks2/luks2_json_metadata.c: At top level: lib/luks2/luks2_json_metadata.c:244:10: error: conflicting types for ‘json_object_get_uint64’ 244 | 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:27, 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 ‘numbered’: lib/luks2/luks2_json_metadata.c:276:11: error: ‘FALSE’ undeclared (first use in this function) 276 | return FALSE; | ^~~~~ lib/luks2/luks2_json_metadata.c:278:9: error: ‘TRUE’ undeclared (first use in this function) 278 | return TRUE; | ^~~~ lib/luks2/luks2_json_metadata.c: In function ‘validate_json_uint32’: lib/luks2/luks2_json_metadata.c:303:50: error: ‘FALSE’ undeclared (first use in this function) 303 | return (errno || tmp < 0 || tmp > UINT32_MAX) ? FALSE : TRUE; | ^~~~~ lib/luks2/luks2_json_metadata.c:303:58: error: ‘TRUE’ undeclared (first use in this function) 303 | return (errno || tmp < 0 || tmp > UINT32_MAX) ? FALSE : TRUE; | ^~~~ lib/luks2/luks2_json_metadata.c: In function ‘validate_keyslots_array’: lib/luks2/luks2_json_metadata.c:316:11: error: ‘FALSE’ undeclared (first use in this function) 316 | return FALSE; | ^~~~~ lib/luks2/luks2_json_metadata.c:326:9: error: ‘TRUE’ undeclared (first use in this function) 326 | return TRUE; | ^~~~ lib/luks2/luks2_json_metadata.c: In function ‘validate_segments_array’: lib/luks2/luks2_json_metadata.c:339:11: error: ‘FALSE’ undeclared (first use in this function) 339 | return FALSE; | ^~~~~ lib/luks2/luks2_json_metadata.c:349:9: error: ‘TRUE’ undeclared (first use in this function) 349 | return TRUE; | ^~~~ lib/luks2/luks2_json_metadata.c: In function ‘segment_has_digest’: lib/luks2/luks2_json_metadata.c:360:11: error: ‘TRUE’ undeclared (first use in this function) 360 | return TRUE; | ^~~~ lib/luks2/luks2_json_metadata.c:363:9: error: ‘FALSE’ undeclared (first use in this function) 363 | return FALSE; | ^~~~~ lib/luks2/luks2_json_metadata.c: In function ‘validate_intervals’: lib/luks2/luks2_json_metadata.c:375:11: error: ‘FALSE’ undeclared (first use in this function) 375 | return FALSE; | ^~~~~ lib/luks2/luks2_json_metadata.c:403:9: error: ‘TRUE’ undeclared (first use in this function) 403 | return TRUE; | ^~~~ libtool: compile: x86_64-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -include config.h -I./lib -DDATADIR=\"/usr/share\" -DLOCALEDIR=\"/usr/share/locale\" -DLIBDIR=\"/usr/lib64\" -DPREFIX=\"/usr\" -DSYSCONFDIR=\"/etc\" -DVERSION=\"2.3.1\" -I ./lib/crypto_backend -I ./lib/luks1 -I ./lib/luks2 -I ./lib/loopaes -I ./lib/verity -I ./lib/tcrypt -I ./lib/integrity -I ./lib/bitlk -Wall -O3 -pipe -march=skylake -mtune=skylake -frecord-gcc-switches -fdiagnostics-color=never -c lib/luks2/luks2_digest.c -fPIC -DPIC -o lib/luks2/.libs/libcryptsetup_la-luks2_digest.o lib/luks2/luks2_json_metadata.c: In function ‘json_str_to_uint64’: lib/luks2/luks2_json_metadata.c:242:1: warning: control reaches end of non-void function [-Wreturn-type] 242 | } | ^ lib/luks2/luks2_json_metadata.c: In function ‘validate_json_uint32’: lib/luks2/luks2_json_metadata.c:304:1: warning: control reaches end of non-void function [-Wreturn-type] 304 | } | ^ lib/luks2/luks2_json_metadata.c: In function ‘validate_keyslots_array’: lib/luks2/luks2_json_metadata.c:327:1: warning: control reaches end of non-void function [-Wreturn-type] 327 | } | ^ lib/luks2/luks2_json_metadata.c: In function ‘numbered’: lib/luks2/luks2_json_metadata.c:279:1: warning: control reaches end of non-void function [-Wreturn-type] 279 | } | ^ lib/luks2/luks2_json_metadata.c: In function ‘validate_intervals’: lib/luks2/luks2_json_metadata.c:404:1: warning: control reaches end of non-void function [-Wreturn-type] 404 | } | ^ lib/luks2/luks2_json_metadata.c: In function ‘segment_has_digest’: lib/luks2/luks2_json_metadata.c:364:1: warning: control reaches end of non-void function [-Wreturn-type] 364 | } | ^ lib/luks2/luks2_json_metadata.c: In function ‘validate_segments_array’: lib/luks2/luks2_json_metadata.c:350:1: warning: control reaches end of non-void function [-Wreturn-type] 350 | } | ^ make[2]: *** [Makefile:2092: lib/luks2/libcryptsetup_la-luks2_json_metadata.lo] Error 1 libtool: compile: x86_64-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -include config.h -I./lib -DDATADIR=\"/usr/share\" -DLOCALEDIR=\"/usr/share/locale\" -DLIBDIR=\"/usr/lib64\" -DPREFIX=\"/usr\" -DSYSCONFDIR=\"/etc\" -DVERSION=\"2.3.1\" -I ./lib/crypto_backend -I ./lib/luks1 -I ./lib/luks2 -I ./lib/loopaes -I ./lib/verity -I ./lib/tcrypt -I ./lib/integrity -I ./lib/bitlk -Wall -O3 -pipe -march=skylake -mtune=skylake -frecord-gcc-switches -fdiagnostics-color=never -c lib/luks2/luks2_digest_pbkdf2.c -fPIC -DPIC -o lib/luks2/.libs/libcryptsetup_la-luks2_digest_pbkdf2.o In file included from lib/luks2/luks2_luks1_convert.c:23: lib/luks2/luks2_internal.h:61:10: error: conflicting types for ‘json_object_get_uint64’ 61 | 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:27, from lib/luks2/luks2_luks1_convert.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); | ^~~~~~~~~~~~~~~~~~~~~~ make[2]: *** [Makefile:2099: lib/luks2/libcryptsetup_la-luks2_luks1_convert.lo] Error 1 libtool: compile: x86_64-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -include config.h -I./lib -DDATADIR=\"/usr/share\" -DLOCALEDIR=\"/usr/share/locale\" -DLIBDIR=\"/usr/lib64\" -DPREFIX=\"/usr\" -DSYSCONFDIR=\"/etc\" -DVERSION=\"2.3.1\" -I ./lib/crypto_backend -I ./lib/luks1 -I ./lib/luks2 -I ./lib/loopaes -I ./lib/verity -I ./lib/tcrypt -I ./lib/integrity -I ./lib/bitlk -Wall -O3 -pipe -march=skylake -mtune=skylake -frecord-gcc-switches -fdiagnostics-color=never -c lib/luks2/luks2_keyslot.c -fPIC -DPIC -o lib/luks2/.libs/libcryptsetup_la-luks2_keyslot.o In file included from lib/luks2/luks2_digest.c:22: lib/luks2/luks2_internal.h:61:10: error: conflicting types for ‘json_object_get_uint64’ 61 | 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:27, from lib/luks2/luks2_digest.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:2106: lib/luks2/libcryptsetup_la-luks2_digest.lo] Error 1 In file included from lib/luks2/luks2_digest_pbkdf2.c:22: lib/luks2/luks2_internal.h:61:10: error: conflicting types for ‘json_object_get_uint64’ 61 | 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:27, from lib/luks2/luks2_digest_pbkdf2.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); | ^~~~~~~~~~~~~~~~~~~~~~ [...] * ERROR: sys-fs/cryptsetup-2.3.1::gentoo failed (compile phase): * emake failed * * If you need support, post the output of `emerge --info '=sys-fs/cryptsetup-2.3.1::gentoo'`, * the complete build log and the output of `emerge -pqv '=sys-fs/cryptsetup-2.3.1::gentoo'`. * The complete build log is located at '/var/log/portage/build/sys-fs/cryptsetup-2.3.1:20200503-075056.log.gz'. * The ebuild environment file is located at '/var/tmp/portage/sys-fs/cryptsetup-2.3.1/temp/environment'. * Working directory: '/var/tmp/portage/sys-fs/cryptsetup-2.3.1/work/cryptsetup-2.3.1' * S: '/var/tmp/portage/sys-fs/cryptsetup-2.3.1/work/cryptsetup-2.3.1'
Same problem here
Should be fixed with sys-fs/cryptsetup-2.3.2 Can you confirm this?
yes, it works, I was just trying it :D
confirmed fixed: >>> Running pre-merge checks for sys-fs/cryptsetup-2.3.2 * WARNING! WARNING! WARNING! * You have chosen LUKS2 as your default format. * This can break LUKS1 backwards compatibility. * Enable "luks1_default" USE flag if you need backwards compatibility. >>> Emerging (1 of 5) dev-libs/json-c-0.14::gentoo >>> Installing (1 of 5) dev-libs/json-c-0.14::gentoo >>> Emerging (2 of 5) dev-util/systemtap-4.0-r1::gentoo >>> Emerging (3 of 5) sys-fs/cryptsetup-2.3.2::gentoo >>> Installing (3 of 5) sys-fs/cryptsetup-2.3.2::gentoo >>> Emerging (4 of 5) net-wireless/bluez-5.54::gentoo >>> Installing (2 of 5) dev-util/systemtap-4.0-r1::gentoo >>> Installing (4 of 5) net-wireless/bluez-5.54::gentoo >>> Emerging (5 of 5) media-libs/libmypaint-1.4.0-r1::gentoo >>> Installing (5 of 5) media-libs/libmypaint-1.4.0-r1::gentoo >>> Jobs: 5 of 5 complete Load avg: 4.22, 1.64, 0.97