Repository: open-quantum-safe/liboqs

Issue #1375: gcc 13 build failure
Created: 2023-02-01T11:12:40Z
Building the 0.7.2 release using Fedora Rawhide, get the following error:
FAILED: src/kem/frodokem/CMakeFiles/frodokem.dir/external/frodo640aes.c.o 
/usr/bin/gcc  -I/builddir/build/BUILD/liboqs-0.7.2/redhat-linux-build/include -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m64  -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -g -fPIC -fvisibility=hidden -march=native -Werror -Wall -Wextra -Wpedantic -Wstrict-prototypes -Wshadow -Wformat=2 -Wfloat-equal -Wwrite-strings -Wstrict-overflow -ggdb3 -std=gnu11 -MD -MT src/kem/frodokem/CMakeFiles/frodokem.dir/external/frodo640aes.c.o -MF src/kem/frodokem/CMakeFiles/frodokem.dir/external/frodo640aes.c.o.d -o src/kem/frodokem/CMakeFiles/frodokem.dir/external/frodo640aes.c.o -c /builddir/build/BUILD/liboqs-0.7.2/src/kem/frodokem/external/frodo640aes.c
In file included from /builddir/build/BUILD/liboqs-0.7.2/src/kem/frodokem/external/frodo640aes.c:6:
/builddir/build/BUILD/liboqs-0.7.2/src/kem/frodokem/external/frodo640aes_params.h:28:39: error: conflicting types for 'OQS_KEM_frodokem_640_aes_keypair' due to enum/integer mismatch; have 'int(unsigned char *, unsigned char *)' [-Werror=enum-int-mismatch]
   28 | #define crypto_kem_keypair            OQS_KEM_frodokem_640_aes_keypair
      |                                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/builddir/build/BUILD/liboqs-0.7.2/src/kem/frodokem/external/kem.c:9:5: note: in expansion of macro 'crypto_kem_keypair'
    9 | int crypto_kem_keypair(unsigned char* pk, unsigned char* sk)
      |     ^~~~~~~~~~~~~~~~~~
In file included from /builddir/build/BUILD/liboqs-0.7.2/src/kem/frodokem/external/frodo640aes.c:4:
/builddir/build/BUILD/liboqs-0.7.2/redhat-linux-build/include/oqs/kem_frodokem.h:14:20: note: previous declaration of 'OQS_KEM_frodokem_640_aes_keypair' with type 'OQS_STATUS(uint8_t *, uint8_t *)' {aka 'OQS_STATUS(unsigned char *, unsigned char *)'}
   14 | OQS_API OQS_STATUS OQS_KEM_frodokem_640_aes_keypair(uint8_t *public_key, uint8_t *secret_key);
      |                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/builddir/build/BUILD/liboqs-0.7.2/src/kem/frodokem/external/frodo640aes_params.h:29:39: error: conflicting types for 'OQS_KEM_frodokem_640_aes_encaps' due to enum/integer mismatch; have 'int(unsigned char *, unsigned char *, const unsigned char *)' [-Werror=enum-int-mismatch]
   29 | #define crypto_kem_enc                OQS_KEM_frodokem_640_aes_encaps
      |                                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/builddir/build/BUILD/liboqs-0.7.2/src/kem/frodokem/external/kem.c:66:5: note: in expansion of macro 'crypto_kem_enc'
   66 | int crypto_kem_enc(unsigned char *ct, unsigned char *ss, const unsigned char *pk)
      |     ^~~~~~~~~~~~~~
/builddir/build/BUILD/liboqs-0.7.2/redhat-linux-build/include/oqs/kem_frodokem.h:15:20: note: previous declaration of 'OQS_KEM_frodokem_640_aes_encaps' with type 'OQS_STATUS(uint8_t *, uint8_t *, const uint8_t *)' {aka 'OQS_STATUS(unsigned char *, unsigned char *, const unsigned char *)'}
   15 | OQS_API OQS_STATUS OQS_KEM_frodokem_640_aes_encaps(uint8_t *ciphertext, uint8_t *shared_secret, const uint8_t *public_key);
      |                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/builddir/build/BUILD/liboqs-0.7.2/src/kem/frodokem/external/frodo640aes_params.h:30:39: error: conflicting types for 'OQS_KEM_frodokem_640_aes_decaps' due to enum/integer mismatch; have 'int(unsigned char *, const unsigned char *, const unsigned char *)' [-Werror=enum-int-mismatch]
   30 | #define crypto_kem_dec                OQS_KEM_frodokem_640_aes_decaps
      |                                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/builddir/build/BUILD/liboqs-0.7.2/src/kem/frodokem/external/kem.c:135:5: note: in expansion of macro 'crypto_kem_dec'
  135 | int crypto_kem_dec(unsigned char *ss, const unsigned char *ct, const unsigned char *sk)
      |     ^~~~~~~~~~~~~~
/builddir/build/BUILD/liboqs-0.7.2/redhat-linux-build/include/oqs/kem_frodokem.h:16:20: note: previous declaration of 'OQS_KEM_frodokem_640_aes_decaps' with type 'OQS_STATUS(uint8_t *, const uint8_t *, const uint8_t *)' {aka 'OQS_STATUS(unsigned char *, const unsigned char *, const unsigned char *)'}
   16 | OQS_API OQS_STATUS OQS_KEM_frodokem_640_aes_decaps(uint8_t *shared_secret, const uint8_t *ciphertext, const uint8_t *secret_key);
      |                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors
[58/2307] /usr/bin/gcc  -I/builddir/build/BUILD/liboqs-0.7.2/redhat-linux-build/include -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m64  -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -g -fPIC -fvisibility=hidden -march=native -Werror -Wall -Wextra -Wpedantic -Wstrict-prototypes -Wshadow -Wformat=2 -Wfloat-equal -Wwrite-strings -Wstrict-overflow -ggdb3 -std=gnu11 -MD -MT src/kem/frodokem/CMakeFiles/frodokem.dir/external/frodo640shake.c.o -MF src/kem/frodokem/CMakeFiles/frodokem.dir/external/frodo640shake.c.o.d -o src/kem/frodokem/CMakeFiles/frodokem.dir/external/frodo640shake.c.o -c /builddir/build/BUILD/liboqs-0.7.2/src/kem/frodokem/external/frodo640shake.c
FAILED: src/kem/frodokem/CMakeFiles/frodokem.dir/external/frodo640shake.c.o 
/usr/bin/gcc  -I/builddir/build/BUILD/liboqs-0.7.2/redhat-linux-build/include -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m64  -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -g -fPIC -fvisibility=hidden -march=native -Werror -Wall -Wextra -Wpedantic -Wstrict-prototypes -Wshadow -Wformat=2 -Wfloat-equal -Wwrite-strings -Wstrict-overflow -ggdb3 -std=gnu11 -MD -MT src/kem/frodokem/CMakeFiles/frodokem.dir/external/frodo640shake.c.o -MF src/kem/frodokem/CMakeFiles/frodokem.dir/external/frodo640shake.c.o.d -o src/kem/frodokem/CMakeFiles/frodokem.dir/external/frodo640shake.c.o -c /builddir/build/BUILD/liboqs-0.7.2/src/kem/frodokem/external/frodo640shake.c
In file included from /builddir/build/BUILD/liboqs-0.7.2/src/kem/frodokem/external/frodo640shake.c:6:
/builddir/build/BUILD/liboqs-0.7.2/src/kem/frodokem/external/frodo640shake_params.h:28:39: error: conflicting types for 'OQS_KEM_frodokem_640_shake_keypair' due to enum/integer mismatch; have 'int(unsigned char *, unsigned char *)' [-Werror=enum-int-mismatch]
   28 | #define crypto_kem_keypair            OQS_KEM_frodokem_640_shake_keypair
      |                                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/builddir/build/BUILD/liboqs-0.7.2/src/kem/frodokem/external/kem.c:9:5: note: in expansion of macro 'crypto_kem_keypair'
    9 | int crypto_kem_keypair(unsigned char* pk, unsigned char* sk)
      |     ^~~~~~~~~~~~~~~~~~
In file included from /builddir/build/BUILD/liboqs-0.7.2/src/kem/frodokem/external/frodo640shake.c:4:
/builddir/build/BUILD/liboqs-0.7.2/redhat-linux-build/include/oqs/kem_frodokem.h:25:20: note: previous declaration of 'OQS_KEM_frodokem_640_shake_keypair' with type 'OQS_STATUS(uint8_t *, uint8_t *)' {aka 'OQS_STATUS(unsigned char *, unsigned char *)'}
   25 | OQS_API OQS_STATUS OQS_KEM_frodokem_640_shake_keypair(uint8_t *public_key, uint8_t *secret_key);
      |                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/builddir/build/BUILD/liboqs-0.7.2/src/kem/frodokem/external/frodo640shake_params.h:29:39: error: conflicting types for 'OQS_KEM_frodokem_640_shake_encaps' due to enum/integer mismatch; have 'int(unsigned char *, unsigned char *, const unsigned char *)' [-Werror=enum-int-mismatch]
   29 | #define crypto_kem_enc                OQS_KEM_frodokem_640_shake_encaps
      |                                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/builddir/build/BUILD/liboqs-0.7.2/src/kem/frodokem/external/kem.c:66:5: note: in expansion of macro 'crypto_kem_enc'
   66 | int crypto_kem_enc(unsigned char *ct, unsigned char *ss, const unsigned char *pk)
      |     ^~~~~~~~~~~~~~
/builddir/build/BUILD/liboqs-0.7.2/redhat-linux-build/include/oqs/kem_frodokem.h:26:20: note: previous declaration of 'OQS_KEM_frodokem_640_shake_encaps' with type 'OQS_STATUS(uint8_t *, uint8_t *, const uint8_t *)' {aka 'OQS_STATUS(unsigned char *, unsigned char *, const unsigned char *)'}
   26 | OQS_API OQS_STATUS OQS_KEM_frodokem_640_shake_encaps(uint8_t *ciphertext, uint8_t *shared_secret, const uint8_t *public_key);
      |                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/builddir/build/BUILD/liboqs-0.7.2/src/kem/frodokem/external/frodo640shake_params.h:30:39: error: conflicting types for 'OQS_KEM_frodokem_640_shake_decaps' due to enum/integer mismatch; have 'int(unsigned char *, const unsigned char *, const unsigned char *)' [-Werror=enum-int-mismatch]
   30 | #define crypto_kem_dec                OQS_KEM_frodokem_640_shake_decaps
      |                                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/builddir/build/BUILD/liboqs-0.7.2/src/kem/frodokem/external/kem.c:135:5: note: in expansion of macro 'crypto_kem_dec'
  135 | int crypto_kem_dec(unsigned char *ss, const unsigned char *ct, const unsigned char *sk)
      |     ^~~~~~~~~~~~~~
/builddir/build/BUILD/liboqs-0.7.2/redhat-linux-build/include/oqs/kem_frodokem.h:27:20: note: previous declaration of 'OQS_KEM_frodokem_640_shake_decaps' with type 'OQS_STATUS(uint8_t *, const uint8_t *, const uint8_t *)' {aka 'OQS_STATUS(unsigned char *, const unsigned char *, const unsigned char *)'}
   27 | OQS_API OQS_STATUS OQS_KEM_frodokem_640_shake_decaps(uint8_t *shared_secret, const uint8_t *ciphertext, const uint8_t *secret_key);
      |                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors

Duplicate issue #1450: Last release fails to build after updating to gcc 13
Created: 2023-05-04T18:31:16Z
Describe the bug
After updating gcc to version 13.1.1 I cannot build the library anymore. Main branch is okay. On top of that, I still need to manually apply the fix for sha3. It's getting difficult to maintain a package for Arch Linux. Also, note that other distros are starting to use gcc 13 as well (Fedora 38, for example).
Is there a plan for a new release?
To Reproduce
Steps to reproduce the behavior:

Check the versions I'm using in the logs below
Try to compile

Environment (please complete the following information):

OS: Archlinux
OpenSSL version: 3.0.8
Compiler version used: gcc 13.1.1
Build variables used:

build() {
    cmake -G Ninja -B build -S "${pkgname}-${pkgver}"\
        -DBUILD_SHARED_LIBS=ON \
        -DCMAKE_BUILD_TYPE=None \
        -DCMAKE_INSTALL_PREFIX="${pkgdir}/usr" \
        -DOQS_BUILD_ONLY_LIB=OFF \
        -DOQS_DIST_BUILD=ON \
        -DOQS_USE_AES_OPENSSL=ON \
        -DOQS_USE_SHA2_OPENSSL=ON \
        -DOQS_USE_SHA3_OPENSSL=ON \
        -DOQS_OPT_TARGET=x86-64 \
        -DOQS_ENABLE_SIG_RAINBOW=OFF \
        -DOQS_ENABLE_SIG_PICNIC=OFF \
        -DOQS_ENABLE_KEM_SABER=OFF \
        -DOQS_ENABLE_KEM_NTRU=OFF \
        -Wno-dev
    ninja -C build
    ninja -C build gen_docs
}

Log
==> Starting build()...
-- The C compiler identification is GNU 13.1.1
-- The ASM compiler identification is GNU
-- Found assembler: /usr/bin/cc
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
-- Found Threads: TRUE  
-- Found OpenSSL: /usr/lib/libcrypto.so (found suitable version "3.0.8", minimum required is "1.1.1")  
-- Found Doxygen: /usr/bin/doxygen (found version "1.9.6") found components: doxygen missing components: dot
-- Configuring done (0.2s)
-- Generating done (0.1s)
-- Build files have been written to: /build/liboqs/src/build
ninja: Entering directory `build'
[1/1989] Building C object src/common/CMakeFiles/common.dir/pqclean_shims/fips202.c.o
[2/1989] Building C object src/common/CMakeFiles/common.dir/pqclean_shims/fips202x4.c.o
[3/1989] Building C object src/kem/bike/CMakeFiles/bike_l1.dir/additional_r3/error.c.o
[4/1989] Building C object src/kem/bike/CMakeFiles/kem_bike.dir/kem_bike.c.o
[5/1989] Building C object src/common/CMakeFiles/common.dir/aes/aes.c.o
[6/1989] Building C object src/common/CMakeFiles/common.dir/pqclean_shims/nistseedexpander.c.o
[7/1989] Building C object src/kem/bike/CMakeFiles/bike_l1.dir/additional_r3/aes_ctr_prf.c.o
[8/1989] Building C object src/kem/bike/CMakeFiles/bike_l1.dir/additional_r3/decode_portable.c.o
[9/1989] Building C object src/kem/bike/CMakeFiles/bike_l1.dir/additional_r3/gf2x_inv.c.o
[10/1989] Building C object src/kem/bike/CMakeFiles/bike_l1.dir/additional_r3/gf2x_ksqr_portable.c.o
[11/1989] Building C object src/CMakeFiles/oqs.dir/kem/kem.c.o
[12/1989] Building C object src/CMakeFiles/oqs.dir/sig/sig.c.o
[13/1989] Building C object src/common/CMakeFiles/common.dir/common.c.o
[14/1989] Building C object src/kem/bike/CMakeFiles/bike_l1.dir/additional_r3/gf2x_mul.c.o
[15/1989] Building C object src/kem/bike/CMakeFiles/bike_l1.dir/additional_r3/gf2x_mul_base_portable.c.o
[16/1989] Building C object src/common/CMakeFiles/common.dir/aes/aes128_ni.c.o
[17/1989] Building C object src/kem/bike/CMakeFiles/bike_l1.dir/additional_r3/decode.c.o
[18/1989] Building C object src/kem/bike/CMakeFiles/bike_l1.dir/additional_r3/utilities.c.o
[19/1989] Building C object src/kem/bike/CMakeFiles/bike_l1.dir/additional_r3/sampling_portable.c.o
[20/1989] Building C object src/kem/bike/CMakeFiles/bike_l1.dir/additional_r3/gf2x_mul_base_vpclmul.c.o
[21/1989] Building C object src/kem/bike/CMakeFiles/bike_l1.dir/additional_r3/sampling.c.o
[22/1989] Building C object src/common/CMakeFiles/common.dir/aes/aes256_ni.c.o
[23/1989] Building C object src/common/CMakeFiles/common.dir/aes/aes_c.c.o
[24/1989] Building C object src/common/CMakeFiles/common.dir/rand/rand_nist.c.o
[25/1989] Building C object src/common/CMakeFiles/common.dir/sha2/sha2_ossl.c.o
[26/1989] Building C object src/common/CMakeFiles/common.dir/sha3/ossl_sha3.c.o
[27/1989] Building C object src/common/CMakeFiles/common.dir/sha3/ossl_sha3x4.c.o
[28/1989] Building C object src/common/CMakeFiles/common.dir/rand/rand.c.o
[29/1989] Building C object src/kem/bike/CMakeFiles/bike_l1.dir/additional_r3/kem.c.o
[30/1989] Building C object src/kem/bike/CMakeFiles/bike_l3.dir/additional_r3/aes_ctr_prf.c.o
[31/1989] Building C object src/kem/bike/CMakeFiles/bike_l3.dir/additional_r3/error.c.o
[32/1989] Building C object src/kem/bike/CMakeFiles/bike_l3.dir/additional_r3/decode_portable.c.o
[33/1989] Building C object src/kem/bike/CMakeFiles/bike_l3.dir/additional_r3/decode.c.o
[34/1989] Building C object src/kem/bike/CMakeFiles/bike_l3.dir/additional_r3/gf2x_mul.c.o
[35/1989] Building C object src/kem/bike/CMakeFiles/bike_l3.dir/additional_r3/gf2x_inv.c.o
[36/1989] Building C object src/kem/bike/CMakeFiles/bike_l3.dir/additional_r3/gf2x_mul_base_portable.c.o
[37/1989] Building C object src/kem/bike/CMakeFiles/bike_l3.dir/additional_r3/gf2x_ksqr_portable.c.o
[38/1989] Building C object src/kem/bike/CMakeFiles/bike_l3.dir/additional_r3/sampling.c.o
[39/1989] Building C object src/kem/bike/CMakeFiles/bike_l3.dir/additional_r3/sampling_portable.c.o
[40/1989] Building C object src/kem/bike/CMakeFiles/bike_l3.dir/additional_r3/utilities.c.o
[41/1989] Building C object src/kem/bike/CMakeFiles/bike_l3.dir/additional_r3/gf2x_mul_base_vpclmul.c.o
[42/1989] Building C object src/kem/bike/CMakeFiles/bike_l3.dir/additional_r3/kem.c.o
[43/1989] Building C object src/kem/frodokem/CMakeFiles/frodokem.dir/kem_frodokem640shake.c.o
[44/1989] Building C object src/kem/frodokem/CMakeFiles/frodokem.dir/kem_frodokem640aes.c.o
[45/1989] Building C object src/kem/frodokem/CMakeFiles/frodokem.dir/kem_frodokem976aes.c.o
[46/1989] Building C object src/kem/frodokem/CMakeFiles/frodokem.dir/external/frodo640shake.c.o
FAILED: src/kem/frodokem/CMakeFiles/frodokem.dir/external/frodo640shake.c.o 
/usr/bin/cc  -I/build/liboqs/src/build/include -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions         -Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security         -fstack-clash-protection -fcf-protection -g -ffile-prefix-map=/build/liboqs/src=/usr/src/debug/liboqs -flto=auto -std=gnu11 -fPIC -fvisibility=hidden -Werror -Wall -Wextra -Wpedantic -Wstrict-prototypes -Wshadow -Wformat=2 -Wfloat-equal -Wwrite-strings -O3 -fomit-frame-pointer -fdata-sections -ffunction-sections -Wl,--gc-sections -MD -MT src/kem/frodokem/CMakeFiles/frodokem.dir/external/frodo640shake.c.o -MF src/kem/frodokem/CMakeFiles/frodokem.dir/external/frodo640shake.c.o.d -o src/kem/frodokem/CMakeFiles/frodokem.dir/external/frodo640shake.c.o -c /build/liboqs/src/liboqs-0.7.2/src/kem/frodokem/external/frodo640shake.c
In file included from /build/liboqs/src/liboqs-0.7.2/src/kem/frodokem/external/frodo640shake.c:6:
/build/liboqs/src/liboqs-0.7.2/src/kem/frodokem/external/frodo640shake_params.h:28:39: error: conflicting types for ‘OQS_KEM_frodokem_640_shake_keypair’ due to enum/integer mismatch; have ‘int(unsigned char *, unsigned char *)’ [-Werror=enum-int-mismatch]
   28 | #define crypto_kem_keypair            OQS_KEM_frodokem_640_shake_keypair
      |                                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/build/liboqs/src/liboqs-0.7.2/src/kem/frodokem/external/kem.c:9:5: note: in expansion of macro ‘crypto_kem_keypair’
    9 | int crypto_kem_keypair(unsigned char* pk, unsigned char* sk)
      |     ^~~~~~~~~~~~~~~~~~
In file included from /build/liboqs/src/liboqs-0.7.2/src/kem/frodokem/external/frodo640shake.c:4:
/build/liboqs/src/build/include/oqs/kem_frodokem.h:25:20: note: previous declaration of ‘OQS_KEM_frodokem_640_shake_keypair’ with type ‘OQS_STATUS(uint8_t *, uint8_t *)’ {aka ‘OQS_STATUS(unsigned char *, unsigned char *)’}
   25 | OQS_API OQS_STATUS OQS_KEM_frodokem_640_shake_keypair(uint8_t *public_key, uint8_t *secret_key);
      |                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/build/liboqs/src/liboqs-0.7.2/src/kem/frodokem/external/frodo640shake_params.h:29:39: error: conflicting types for ‘OQS_KEM_frodokem_640_shake_encaps’ due to enum/integer mismatch; have ‘int(unsigned char *, unsigned char *, const unsigned char *)’ [-Werror=enum-int-mismatch]
   29 | #define crypto_kem_enc                OQS_KEM_frodokem_640_shake_encaps
      |                                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/build/liboqs/src/liboqs-0.7.2/src/kem/frodokem/external/kem.c:66:5: note: in expansion of macro ‘crypto_kem_enc’
   66 | int crypto_kem_enc(unsigned char *ct, unsigned char *ss, const unsigned char *pk)
      |     ^~~~~~~~~~~~~~
/build/liboqs/src/build/include/oqs/kem_frodokem.h:26:20: note: previous declaration of ‘OQS_KEM_frodokem_640_shake_encaps’ with type ‘OQS_STATUS(uint8_t *, uint8_t *, const uint8_t *)’ {aka ‘OQS_STATUS(unsigned char *, unsigned char *, const unsigned char *)’}
   26 | OQS_API OQS_STATUS OQS_KEM_frodokem_640_shake_encaps(uint8_t *ciphertext, uint8_t *shared_secret, const uint8_t *public_key);
      |                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/build/liboqs/src/liboqs-0.7.2/src/kem/frodokem/external/frodo640shake_params.h:30:39: error: conflicting types for ‘OQS_KEM_frodokem_640_shake_decaps’ due to enum/integer mismatch; have ‘int(unsigned char *, const unsigned char *, const unsigned char *)’ [-Werror=enum-int-mismatch]
   30 | #define crypto_kem_dec                OQS_KEM_frodokem_640_shake_decaps
      |                                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/build/liboqs/src/liboqs-0.7.2/src/kem/frodokem/external/kem.c:135:5: note: in expansion of macro ‘crypto_kem_dec’
  135 | int crypto_kem_dec(unsigned char *ss, const unsigned char *ct, const unsigned char *sk)
      |     ^~~~~~~~~~~~~~
/build/liboqs/src/build/include/oqs/kem_frodokem.h:27:20: note: previous declaration of ‘OQS_KEM_frodokem_640_shake_decaps’ with type ‘OQS_STATUS(uint8_t *, const uint8_t *, const uint8_t *)’ {aka ‘OQS_STATUS(unsigned char *, const unsigned char *, const unsigned char *)’}
   27 | OQS_API OQS_STATUS OQS_KEM_frodokem_640_shake_decaps(uint8_t *shared_secret, const uint8_t *ciphertext, const uint8_t *secret_key);
      |                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors
[47/1989] Building C object src/kem/frodokem/CMakeFiles/frodokem.dir/external/frodo640aes.c.o
FAILED: src/kem/frodokem/CMakeFiles/frodokem.dir/external/frodo640aes.c.o 
/usr/bin/cc  -I/build/liboqs/src/build/include -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions         -Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security         -fstack-clash-protection -fcf-protection -g -ffile-prefix-map=/build/liboqs/src=/usr/src/debug/liboqs -flto=auto -std=gnu11 -fPIC -fvisibility=hidden -Werror -Wall -Wextra -Wpedantic -Wstrict-prototypes -Wshadow -Wformat=2 -Wfloat-equal -Wwrite-strings -O3 -fomit-frame-pointer -fdata-sections -ffunction-sections -Wl,--gc-sections -MD -MT src/kem/frodokem/CMakeFiles/frodokem.dir/external/frodo640aes.c.o -MF src/kem/frodokem/CMakeFiles/frodokem.dir/external/frodo640aes.c.o.d -o src/kem/frodokem/CMakeFiles/frodokem.dir/external/frodo640aes.c.o -c /build/liboqs/src/liboqs-0.7.2/src/kem/frodokem/external/frodo640aes.c
In file included from /build/liboqs/src/liboqs-0.7.2/src/kem/frodokem/external/frodo640aes.c:6:
/build/liboqs/src/liboqs-0.7.2/src/kem/frodokem/external/frodo640aes_params.h:28:39: error: conflicting types for ‘OQS_KEM_frodokem_640_aes_keypair’ due to enum/integer mismatch; have ‘int(unsigned char *, unsigned char *)’ [-Werror=enum-int-mismatch]
   28 | #define crypto_kem_keypair            OQS_KEM_frodokem_640_aes_keypair
      |                                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/build/liboqs/src/liboqs-0.7.2/src/kem/frodokem/external/kem.c:9:5: note: in expansion of macro ‘crypto_kem_keypair’
    9 | int crypto_kem_keypair(unsigned char* pk, unsigned char* sk)
      |     ^~~~~~~~~~~~~~~~~~
In file included from /build/liboqs/src/liboqs-0.7.2/src/kem/frodokem/external/frodo640aes.c:4:
/build/liboqs/src/build/include/oqs/kem_frodokem.h:14:20: note: previous declaration of ‘OQS_KEM_frodokem_640_aes_keypair’ with type ‘OQS_STATUS(uint8_t *, uint8_t *)’ {aka ‘OQS_STATUS(unsigned char *, unsigned char *)’}
   14 | OQS_API OQS_STATUS OQS_KEM_frodokem_640_aes_keypair(uint8_t *public_key, uint8_t *secret_key);
      |                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/build/liboqs/src/liboqs-0.7.2/src/kem/frodokem/external/frodo640aes_params.h:29:39: error: conflicting types for ‘OQS_KEM_frodokem_640_aes_encaps’ due to enum/integer mismatch; have ‘int(unsigned char *, unsigned char *, const unsigned char *)’ [-Werror=enum-int-mismatch]
   29 | #define crypto_kem_enc                OQS_KEM_frodokem_640_aes_encaps
      |                                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/build/liboqs/src/liboqs-0.7.2/src/kem/frodokem/external/kem.c:66:5: note: in expansion of macro ‘crypto_kem_enc’
   66 | int crypto_kem_enc(unsigned char *ct, unsigned char *ss, const unsigned char *pk)
      |     ^~~~~~~~~~~~~~
/build/liboqs/src/build/include/oqs/kem_frodokem.h:15:20: note: previous declaration of ‘OQS_KEM_frodokem_640_aes_encaps’ with type ‘OQS_STATUS(uint8_t *, uint8_t *, const uint8_t *)’ {aka ‘OQS_STATUS(unsigned char *, unsigned char *, const unsigned char *)’}
   15 | OQS_API OQS_STATUS OQS_KEM_frodokem_640_aes_encaps(uint8_t *ciphertext, uint8_t *shared_secret, const uint8_t *public_key);
      |                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/build/liboqs/src/liboqs-0.7.2/src/kem/frodokem/external/frodo640aes_params.h:30:39: error: conflicting types for ‘OQS_KEM_frodokem_640_aes_decaps’ due to enum/integer mismatch; have ‘int(unsigned char *, const unsigned char *, const unsigned char *)’ [-Werror=enum-int-mismatch]
   30 | #define crypto_kem_dec                OQS_KEM_frodokem_640_aes_decaps
      |                                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/build/liboqs/src/liboqs-0.7.2/src/kem/frodokem/external/kem.c:135:5: note: in expansion of macro ‘crypto_kem_dec’
  135 | int crypto_kem_dec(unsigned char *ss, const unsigned char *ct, const unsigned char *sk)
      |     ^~~~~~~~~~~~~~
/build/liboqs/src/build/include/oqs/kem_frodokem.h:16:20: note: previous declaration of ‘OQS_KEM_frodokem_640_aes_decaps’ with type ‘OQS_STATUS(uint8_t *, const uint8_t *, const uint8_t *)’ {aka ‘OQS_STATUS(unsigned char *, const unsigned char *, const unsigned char *)’}
   16 | OQS_API OQS_STATUS OQS_KEM_frodokem_640_aes_decaps(uint8_t *shared_secret, const uint8_t *ciphertext, const uint8_t *secret_key);
      |                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors
[48/1989] Building C object src/kem/frodokem/CMakeFiles/frodokem.dir/external/frodo976aes.c.o
FAILED: src/kem/frodokem/CMakeFiles/frodokem.dir/external/frodo976aes.c.o 
/usr/bin/cc  -I/build/liboqs/src/build/include -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions         -Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security         -fstack-clash-protection -fcf-protection -g -ffile-prefix-map=/build/liboqs/src=/usr/src/debug/liboqs -flto=auto -std=gnu11 -fPIC -fvisibility=hidden -Werror -Wall -Wextra -Wpedantic -Wstrict-prototypes -Wshadow -Wformat=2 -Wfloat-equal -Wwrite-strings -O3 -fomit-frame-pointer -fdata-sections -ffunction-sections -Wl,--gc-sections -MD -MT src/kem/frodokem/CMakeFiles/frodokem.dir/external/frodo976aes.c.o -MF src/kem/frodokem/CMakeFiles/frodokem.dir/external/frodo976aes.c.o.d -o src/kem/frodokem/CMakeFiles/frodokem.dir/external/frodo976aes.c.o -c /build/liboqs/src/liboqs-0.7.2/src/kem/frodokem/external/frodo976aes.c
In file included from /build/liboqs/src/liboqs-0.7.2/src/kem/frodokem/external/frodo976aes.c:6:
/build/liboqs/src/liboqs-0.7.2/src/kem/frodokem/external/frodo976aes_params.h:28:39: error: conflicting types for ‘OQS_KEM_frodokem_976_aes_keypair’ due to enum/integer mismatch; have ‘int(unsigned char *, unsigned char *)’ [-Werror=enum-int-mismatch]
   28 | #define crypto_kem_keypair            OQS_KEM_frodokem_976_aes_keypair
      |                                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/build/liboqs/src/liboqs-0.7.2/src/kem/frodokem/external/kem.c:9:5: note: in expansion of macro ‘crypto_kem_keypair’
    9 | int crypto_kem_keypair(unsigned char* pk, unsigned char* sk)
      |     ^~~~~~~~~~~~~~~~~~
In file included from /build/liboqs/src/liboqs-0.7.2/src/kem/frodokem/external/frodo976aes.c:4:
/build/liboqs/src/build/include/oqs/kem_frodokem.h:36:20: note: previous declaration of ‘OQS_KEM_frodokem_976_aes_keypair’ with type ‘OQS_STATUS(uint8_t *, uint8_t *)’ {aka ‘OQS_STATUS(unsigned char *, unsigned char *)’}
   36 | OQS_API OQS_STATUS OQS_KEM_frodokem_976_aes_keypair(uint8_t *public_key, uint8_t *secret_key);
      |                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/build/liboqs/src/liboqs-0.7.2/src/kem/frodokem/external/frodo976aes_params.h:29:39: error: conflicting types for ‘OQS_KEM_frodokem_976_aes_encaps’ due to enum/integer mismatch; have ‘int(unsigned char *, unsigned char *, const unsigned char *)’ [-Werror=enum-int-mismatch]
   29 | #define crypto_kem_enc                OQS_KEM_frodokem_976_aes_encaps
      |                                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/build/liboqs/src/liboqs-0.7.2/src/kem/frodokem/external/kem.c:66:5: note: in expansion of macro ‘crypto_kem_enc’
   66 | int crypto_kem_enc(unsigned char *ct, unsigned char *ss, const unsigned char *pk)
      |     ^~~~~~~~~~~~~~
/build/liboqs/src/build/include/oqs/kem_frodokem.h:37:20: note: previous declaration of ‘OQS_KEM_frodokem_976_aes_encaps’ with type ‘OQS_STATUS(uint8_t *, uint8_t *, const uint8_t *)’ {aka ‘OQS_STATUS(unsigned char *, unsigned char *, const unsigned char *)’}
   37 | OQS_API OQS_STATUS OQS_KEM_frodokem_976_aes_encaps(uint8_t *ciphertext, uint8_t *shared_secret, const uint8_t *public_key);
      |                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/build/liboqs/src/liboqs-0.7.2/src/kem/frodokem/external/frodo976aes_params.h:30:39: error: conflicting types for ‘OQS_KEM_frodokem_976_aes_decaps’ due to enum/integer mismatch; have ‘int(unsigned char *, const unsigned char *, const unsigned char *)’ [-Werror=enum-int-mismatch]
   30 | #define crypto_kem_dec                OQS_KEM_frodokem_976_aes_decaps
      |                                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/build/liboqs/src/liboqs-0.7.2/src/kem/frodokem/external/kem.c:135:5: note: in expansion of macro ‘crypto_kem_dec’
  135 | int crypto_kem_dec(unsigned char *ss, const unsigned char *ct, const unsigned char *sk)
      |     ^~~~~~~~~~~~~~
/build/liboqs/src/build/include/oqs/kem_frodokem.h:38:20: note: previous declaration of ‘OQS_KEM_frodokem_976_aes_decaps’ with type ‘OQS_STATUS(uint8_t *, const uint8_t *, const uint8_t *)’ {aka ‘OQS_STATUS(unsigned char *, const unsigned char *, const unsigned char *)’}
   38 | OQS_API OQS_STATUS OQS_KEM_frodokem_976_aes_decaps(uint8_t *shared_secret, const uint8_t *ciphertext, const uint8_t *secret_key);
      |                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors
[49/1989] Building C object src/kem/frodokem/CMakeFiles/frodokem.dir/kem_frodokem976shake.c.o
[50/1989] Building C object src/kem/frodokem/CMakeFiles/frodokem.dir/kem_frodokem1344aes.c.o
[51/1989] Building C object src/kem/frodokem/CMakeFiles/frodokem.dir/external/frodo976shake.c.o
FAILED: src/kem/frodokem/CMakeFiles/frodokem.dir/external/frodo976shake.c.o 
/usr/bin/cc  -I/build/liboqs/src/build/include -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions         -Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security         -fstack-clash-protection -fcf-protection -g -ffile-prefix-map=/build/liboqs/src=/usr/src/debug/liboqs -flto=auto -std=gnu11 -fPIC -fvisibility=hidden -Werror -Wall -Wextra -Wpedantic -Wstrict-prototypes -Wshadow -Wformat=2 -Wfloat-equal -Wwrite-strings -O3 -fomit-frame-pointer -fdata-sections -ffunction-sections -Wl,--gc-sections -MD -MT src/kem/frodokem/CMakeFiles/frodokem.dir/external/frodo976shake.c.o -MF src/kem/frodokem/CMakeFiles/frodokem.dir/external/frodo976shake.c.o.d -o src/kem/frodokem/CMakeFiles/frodokem.dir/external/frodo976shake.c.o -c /build/liboqs/src/liboqs-0.7.2/src/kem/frodokem/external/frodo976shake.c
In file included from /build/liboqs/src/liboqs-0.7.2/src/kem/frodokem/external/frodo976shake.c:6:
/build/liboqs/src/liboqs-0.7.2/src/kem/frodokem/external/frodo976shake_params.h:28:39: error: conflicting types for ‘OQS_KEM_frodokem_976_shake_keypair’ due to enum/integer mismatch; have ‘int(unsigned char *, unsigned char *)’ [-Werror=enum-int-mismatch]
   28 | #define crypto_kem_keypair            OQS_KEM_frodokem_976_shake_keypair
      |                                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/build/liboqs/src/liboqs-0.7.2/src/kem/frodokem/external/kem.c:9:5: note: in expansion of macro ‘crypto_kem_keypair’
    9 | int crypto_kem_keypair(unsigned char* pk, unsigned char* sk)
      |     ^~~~~~~~~~~~~~~~~~
In file included from /build/liboqs/src/liboqs-0.7.2/src/kem/frodokem/external/frodo976shake.c:4:
/build/liboqs/src/build/include/oqs/kem_frodokem.h:47:20: note: previous declaration of ‘OQS_KEM_frodokem_976_shake_keypair’ with type ‘OQS_STATUS(uint8_t *, uint8_t *)’ {aka ‘OQS_STATUS(unsigned char *, unsigned char *)’}
   47 | OQS_API OQS_STATUS OQS_KEM_frodokem_976_shake_keypair(uint8_t *public_key, uint8_t *secret_key);
      |                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/build/liboqs/src/liboqs-0.7.2/src/kem/frodokem/external/frodo976shake_params.h:29:39: error: conflicting types for ‘OQS_KEM_frodokem_976_shake_encaps’ due to enum/integer mismatch; have ‘int(unsigned char *, unsigned char *, const unsigned char *)’ [-Werror=enum-int-mismatch]
   29 | #define crypto_kem_enc                OQS_KEM_frodokem_976_shake_encaps
      |                                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/build/liboqs/src/liboqs-0.7.2/src/kem/frodokem/external/kem.c:66:5: note: in expansion of macro ‘crypto_kem_enc’
   66 | int crypto_kem_enc(unsigned char *ct, unsigned char *ss, const unsigned char *pk)
      |     ^~~~~~~~~~~~~~
/build/liboqs/src/build/include/oqs/kem_frodokem.h:48:20: note: previous declaration of ‘OQS_KEM_frodokem_976_shake_encaps’ with type ‘OQS_STATUS(uint8_t *, uint8_t *, const uint8_t *)’ {aka ‘OQS_STATUS(unsigned char *, unsigned char *, const unsigned char *)’}
   48 | OQS_API OQS_STATUS OQS_KEM_frodokem_976_shake_encaps(uint8_t *ciphertext, uint8_t *shared_secret, const uint8_t *public_key);
      |                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/build/liboqs/src/liboqs-0.7.2/src/kem/frodokem/external/frodo976shake_params.h:30:39: error: conflicting types for ‘OQS_KEM_frodokem_976_shake_decaps’ due to enum/integer mismatch; have ‘int(unsigned char *, const unsigned char *, const unsigned char *)’ [-Werror=enum-int-mismatch]
   30 | #define crypto_kem_dec                OQS_KEM_frodokem_976_shake_decaps
      |                                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/build/liboqs/src/liboqs-0.7.2/src/kem/frodokem/external/kem.c:135:5: note: in expansion of macro ‘crypto_kem_dec’
  135 | int crypto_kem_dec(unsigned char *ss, const unsigned char *ct, const unsigned char *sk)
      |     ^~~~~~~~~~~~~~
/build/liboqs/src/build/include/oqs/kem_frodokem.h:49:20: note: previous declaration of ‘OQS_KEM_frodokem_976_shake_decaps’ with type ‘OQS_STATUS(uint8_t *, const uint8_t *, const uint8_t *)’ {aka ‘OQS_STATUS(unsigned char *, const unsigned char *, const unsigned char *)’}
   49 | OQS_API OQS_STATUS OQS_KEM_frodokem_976_shake_decaps(uint8_t *shared_secret, const uint8_t *ciphertext, const uint8_t *secret_key);
      |                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors
[52/1989] Building C object src/kem/bike/CMakeFiles/bike_l1.dir/additional_r3/gf2x_ksqr_avx512.c.o
[53/1989] Building C object src/kem/bike/CMakeFiles/bike_l1.dir/additional_r3/gf2x_mul_avx512.c.o
[54/1989] Building C object src/kem/bike/CMakeFiles/bike_l1.dir/additional_r3/decode_avx512.c.o
[55/1989] Building C object src/kem/bike/CMakeFiles/bike_l1.dir/additional_r3/sampling_avx2.c.o
[56/1989] Building C object src/kem/bike/CMakeFiles/bike_l1.dir/additional_r3/sampling_avx512.c.o
[57/1989] Building C object src/kem/bike/CMakeFiles/bike_l1.dir/additional_r3/gf2x_mul_portable.c.o
[58/1989] Building C object src/kem/bike/CMakeFiles/bike_l3.dir/additional_r3/gf2x_mul_portable.c.o
[59/1989] Building C object src/kem/bike/CMakeFiles/bike_l3.dir/additional_r3/gf2x_ksqr_avx512.c.o
[60/1989] Building C object src/kem/bike/CMakeFiles/bike_l3.dir/additional_r3/decode_avx2.c.o
[61/1989] Building C object src/kem/bike/CMakeFiles/bike_l1.dir/additional_r3/gf2x_mul_avx2.c.o
[62/1989] Building C object src/kem/bike/CMakeFiles/bike_l1.dir/additional_r3/gf2x_ksqr_avx2.c.o
[63/1989] Building C object src/kem/bike/CMakeFiles/bike_l1.dir/additional_r3/decode_avx2.c.o
[64/1989] Building C object src/kem/bike/CMakeFiles/bike_l3.dir/additional_r3/decode_avx512.c.o
[65/1989] Building C object src/kem/bike/CMakeFiles/bike_l1.dir/additional_r3/gf2x_mul_base_pclmul.c.o
[66/1989] Building C object src/kem/bike/CMakeFiles/bike_l3.dir/additional_r3/sampling_avx512.c.o
[67/1989] Building C object src/kem/bike/CMakeFiles/bike_l3.dir/additional_r3/gf2x_mul_avx512.c.o
[68/1989] Building C object src/kem/bike/CMakeFiles/bike_l3.dir/additional_r3/sampling_avx2.c.o
[69/1989] Building C object src/kem/bike/CMakeFiles/bike_l3.dir/additional_r3/gf2x_mul_base_pclmul.c.o
[70/1989] Building C object src/kem/bike/CMakeFiles/bike_l3.dir/additional_r3/gf2x_mul_avx2.c.o
[71/1989] Building C object src/kem/bike/CMakeFiles/bike_l3.dir/additional_r3/gf2x_ksqr_avx2.c.o
ninja: build stopped: subcommand failed.

Closing comment (2023-05-16T23:45:52Z): Closing this issue since it's a duplicate of #1375 which was fixed in #1377 and will be available in the forthcoming liboqs 0.8.0 release.