aws / aws-lc-rs

aws-lc-rs is a cryptographic library using AWS-LC for its cryptographic operations. The library strives to be API-compatible with the popular Rust library named ring.
Other
236 stars 40 forks source link

Compilation Errors on `x86_64-pc-windows-gnu` Target due to Uninitialized Variables in `aws-lc` #397

Closed Lilit0x closed 2 months ago

Lilit0x commented 2 months ago

Problem:

I encountered a compilation issue when building my project that depends on aws-lc-rs v1.7.0 for the x86_64-pc-windows-gnu target. The compilation process fails with errors related to potentially uninitialized variables in the aws-lc C code. I tried to suppress the warnings by setting the CFLAGS=-Wno-maybe-uninitialized variable.

I am using github actions CI for the build process:

jobs:
  windows-release:
    name: release x86_64-pc-windows-gnu
    runs-on: windows-latest
    strategy:
      matrix:
        toolchain: [stable]
        triple:
          - { target: x86_64-pc-windows-gnu, cross: false }
    steps:
      - uses: ilammy/setup-nasm@v1
      - uses: actions/checkout@v2
        with:
          repository: opsfolio/resource-surveillance
          token: ${{ secrets.GH_PAT }}
          ref: 'main' 

      - name: Install toolchain
        uses: actions-rs/toolchain@v1
        with:
          profile: minimal
          toolchain: ${{ matrix.toolchain }}
          override: true
          target: ${{ matrix.triple.target }}
          default: true

      - name: Get Release Upload URL
        id: get_upload_url
        uses: actions/github-script@v5
        with:
          script: |
              const tag = process.env.GITHUB_REF.split('/').pop();
              const releases = await github.rest.repos.listReleases({
                  owner: context.repo.owner,
                  repo: context.repo.repo,
              });
              const release = releases.data.find(release => release.tag_name === tag);
              if (!release) {
                  throw new Error(`Release not found for tag ${tag}`);
              }
              return release.upload_url;
          result-encoding: string
        env:
              GITHUB_REF: ${{ github.ref }}
      - name: Suppress C warnings
        run: echo "CFLAGS=-Wno-maybe-uninitialized" >> $GITHUB_ENV

      - name: Build with Cargo
        run: |
          cargo build --release --target ${{ matrix.triple.target }}
          .\target\${{ matrix.triple.target }}\release\surveilr.exe --help
          Compress-Archive -Path .\target\${{ matrix.triple.target }}\release\surveilr.exe -DestinationPath resource-surveillance_${{ github.ref_name }}_${{ matrix.triple.target }}.zip

      - name: Upload To Releases
        uses: actions/upload-release-asset@v1
        env: 
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
        with:
          upload_url: ${{ steps.get_upload_url.outputs.result }}
          asset_path: resource-surveillance_${{ github.ref_name }}_${{ matrix.triple.target }}.zip
          asset_name: resource-surveillance_${{ github.ref_name }}_${{ matrix.triple.target }}.zip
          asset_content_type: application/zip

Relevant details

AWS-LC for Rust versions: v1.7.0

System information: Github hosted windows runner

Build log:

error: failed to run custom build command for `aws-lc-sys v0.15.0`
Caused by:
  process didn't exit successfully: `D:\a\releases.opsfolio.com\releases.opsfolio.com\target\release\build\aws-lc-sys-b9f51cce91766728\build-script-main` (exit code: 101)
  --- stdout
  cargo:rerun-if-env-changed=AWS_LC_SYS_INTERNAL_NO_PREFIX
  cargo:rerun-if-env-changed=AWS_LC_RUST_INTERNAL_BINDGEN
  cargo:rerun-if-env-changed=AWS_LC_SYS_CMAKE_BUILDER
  cargo:rerun-if-env-changed=AWS_LC_SYS_STATIC
  cargo:rerun-if-env-changed=AWS_LC_SYS_INCLUDES
  cargo:rustc-cfg=use_bindgen_generated
  cargo:rerun-if-env-changed=AWS_LC_SYS_STATIC
  CMAKE_TOOLCHAIN_FILE_x86_64-pc-windows-gnu = None
  CMAKE_TOOLCHAIN_FILE_x86_64_pc_windows_gnu = None
  TARGET_CMAKE_TOOLCHAIN_FILE = None
  CMAKE_TOOLCHAIN_FILE = None
  CMAKE_GENERATOR_x86_64-pc-windows-gnu = None
  CMAKE_GENERATOR_x86_64_pc_windows_gnu = None
  TARGET_CMAKE_GENERATOR = None
  CMAKE_GENERATOR = None
  CMAKE_PREFIX_PATH_x86_64-pc-windows-gnu = None
  CMAKE_PREFIX_PATH_x86_64_pc_windows_gnu = None
  TARGET_CMAKE_PREFIX_PATH = None
  CMAKE_PREFIX_PATH = None
  CMAKE_x86_64-pc-windows-gnu = None
  CMAKE_x86_64_pc_windows_gnu = None
  TARGET_CMAKE = None
  CMAKE = Some("cmake")
  running: "cmake" "C:\\Users\\runneradmin\\.cargo\\registry\\src\\index.crates.io-6f17d22bba15001f\\aws-lc-sys-0.15.0" "-G" "MSYS Makefiles" "-DBUILD_SHARED_LIBS=0" "-DCMAKE_BUILD_TYPE=release" "-DBORINGSSL_PREFIX=aws_lc_0_15_0_" "-DBORINGSSL_PREFIX_HEADERS=C:\\Users\\runneradmin\\.cargo\\registry\\src\\index.crates.io-6f17d22bba15001f\\aws-lc-sys-0.15.0\\generated-include" "-DBUILD_TESTING=OFF" "-DBUILD_LIBSSL=OFF" "-DDISABLE_PERL=ON" "-DDISABLE_GO=ON" "-DCMAKE_SYSTEM_NAME=Windows" "-DCMAKE_SYSTEM_PROCESSOR=AMD64" "-DCMAKE_INSTALL_PREFIX=D:\\a\\releases.opsfolio.com\\releases.opsfolio.com\\target\\x86_64-pc-windows-gnu\\release\\build\\aws-lc-sys-b313b0142cce05c4\\out" "-DCMAKE_C_FLAGS= -ffunction-sections -fdata-sections -m64" "-DCMAKE_CXX_FLAGS= -ffunction-sections -fdata-sections -m64" "-DCMAKE_ASM_FLAGS= -ffunction-sections -fdata-sections -m64" "--no-warn-unused-cli"
  Not searching for unused variables given on the command line.
  -- The C compiler identification is GNU 12.2.0
  -- Detecting C compiler ABI info
  -- Detecting C compiler ABI info - done
  -- Check for working C compiler: C:/mingw64/bin/gcc.exe - skipped
  -- Detecting C compile features
  -- Detecting C compile features - done
  -- Go not found. Disabling some code generation and using pre-generated code in generated-src/
  -- Perl not found. Disabling some code generation and using pre-generated code in generated-src/
  -- Run check_run file_to_test 'memcmp_invalid_stripped_check.c', flag_to_set 'MEMCMP_INVALID_STRIPPED', and compile_flags '-O3 -DNDEBUG'.
  -- stdalign_check.c probe is positive, enabling AWS_LC_STDALIGN_AVAILABLE
  -- builtin_swap_check.c probe is positive, enabling AWS_LC_BUILTIN_SWAP_SUPPORTED
  -- The ASM_NASM compiler identification is NASM
  -- Found assembler: C:/Users/runneradmin/nasm/nasm.exe
  -- Performing Test CMAKE_HAVE_LIBC_PTHREAD
  -- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
  -- Found Threads: TRUE
  -- Configuring done (10.6s)
  -- Generating done (0.2s)
  -- Build files have been written to: D:/a/releases.opsfolio.com/releases.opsfolio.com/target/x86_64-pc-windows-gnu/release/build/aws-lc-sys-b313b0142cce05c4/out/build
  running: "cmake" "--build" "." "--target" "install" "--config" "Release" "--parallel" "4"
  [  0%] Built target boringssl_prefix_symbols
  [  0%] Building C object aws-lc/crypto/fipsmodule/CMakeFiles/fipsmodule.dir/cpucap/cpucap.c.obj
  [  0%] Building C object aws-lc/crypto/fipsmodule/CMakeFiles/fipsmodule.dir/fips_shared_support.c.obj
  [  1%] Building C object aws-lc/crypto/fipsmodule/CMakeFiles/fipsmodule.dir/bcm.c.obj
  [  1%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/asn1/a_bitstr.c.obj
  [  2%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/asn1/a_bool.c.obj
  [  2%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/asn1/a_d2i_fp.c.obj
  [  3%] Building ASM_NASM object aws-lc/crypto/fipsmodule/CMakeFiles/fipsmodule.dir/aesni-gcm-avx512.asm.obj
  [  3%] Building ASM_NASM object aws-lc/crypto/fipsmodule/CMakeFiles/fipsmodule.dir/aesni-gcm-x86_64.asm.obj
  [  3%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/asn1/a_dup.c.obj
  [  4%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/asn1/a_gentm.c.obj
  [  4%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/asn1/a_i2d_fp.c.obj
  [  4%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/asn1/a_int.c.obj
  [  5%] Building ASM_NASM object aws-lc/crypto/fipsmodule/CMakeFiles/fipsmodule.dir/aesni-xts-avx512.asm.obj
  [  6%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/asn1/a_mbstr.c.obj
  [  5%] Building ASM_NASM object aws-lc/crypto/fipsmodule/CMakeFiles/fipsmodule.dir/aesni-x86_64.asm.obj
  [  6%] Building ASM_NASM object aws-lc/crypto/fipsmodule/CMakeFiles/fipsmodule.dir/ghash-ssse3-x86_64.asm.obj
  [  6%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/asn1/a_object.c.obj
  [  7%] Building ASM_NASM object aws-lc/crypto/fipsmodule/CMakeFiles/fipsmodule.dir/ghash-x86_64.asm.obj
  [  8%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/asn1/a_octet.c.obj
  [  8%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/asn1/a_strex.c.obj
  [  8%] Building ASM_NASM object aws-lc/crypto/fipsmodule/CMakeFiles/fipsmodule.dir/md5-x86_64.asm.obj
  [  8%] Building ASM_NASM object aws-lc/crypto/fipsmodule/CMakeFiles/fipsmodule.dir/p256-x86_64-asm.asm.obj
  [  8%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/asn1/a_strnid.c.obj
  [  9%] Building ASM_NASM object aws-lc/crypto/fipsmodule/CMakeFiles/fipsmodule.dir/p256_beeu-x86_64-asm.asm.obj
  [ 10%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/asn1/a_time.c.obj
  [ 10%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/asn1/a_type.c.obj
  [ 10%] Building ASM_NASM object aws-lc/crypto/fipsmodule/CMakeFiles/fipsmodule.dir/rdrand-x86_64.asm.obj
  [ 11%] Building ASM_NASM object aws-lc/crypto/fipsmodule/CMakeFiles/fipsmodule.dir/rsaz-avx2.asm.obj
  [ 11%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/asn1/a_utctm.c.obj
  [ 12%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/asn1/a_utf8.c.obj
  [ 12%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/asn1/asn1_lib.c.obj
  [ 12%] Building ASM_NASM object aws-lc/crypto/fipsmodule/CMakeFiles/fipsmodule.dir/sha1-x86_64.asm.obj
  [ 12%] Building ASM_NASM object aws-lc/crypto/fipsmodule/CMakeFiles/fipsmodule.dir/sha256-x86_64.asm.obj
  [ 13%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/asn1/asn1_par.c.obj
  [ 13%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/asn1/asn_pack.c.obj
  [ 13%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/asn1/f_int.c.obj
  [ 14%] Building ASM_NASM object aws-lc/crypto/fipsmodule/CMakeFiles/fipsmodule.dir/sha512-x86_64.asm.obj
  [ 14%] Building ASM_NASM object aws-lc/crypto/fipsmodule/CMakeFiles/fipsmodule.dir/vpaes-x86_64.asm.obj
  [ 15%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/asn1/f_string.c.obj
  [ 15%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/asn1/tasn_dec.c.obj
  [ 15%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/asn1/tasn_enc.c.obj
  [ 15%] Building ASM_NASM object aws-lc/crypto/fipsmodule/CMakeFiles/fipsmodule.dir/x86_64-mont5.asm.obj
  [ 16%] Building ASM_NASM object aws-lc/crypto/fipsmodule/CMakeFiles/fipsmodule.dir/x86_64-mont.asm.obj
  [ 17%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/asn1/tasn_fre.c.obj
  [ 17%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/asn1/tasn_new.c.obj
  [ 17%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/asn1/tasn_typ.c.obj
  [ 17%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/asn1/posix_time.c.obj
  [ 18%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/asn1/tasn_utl.c.obj
  [ 19%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/base64/base64.c.obj
  [ 19%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/bio/bio.c.obj
  [ 19%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/bio/bio_mem.c.obj
  [ 20%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/bio/connect.c.obj
  [ 20%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/bio/fd.c.obj
  [ 20%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/bio/errno.c.obj
  [ 21%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/bio/file.c.obj
  [ 21%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/bio/hexdump.c.obj
  [ 22%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/bio/pair.c.obj
  [ 22%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/bio/printf.c.obj
  [ 22%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/bio/socket.c.obj
  [ 22%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/blake2/blake2.c.obj
  [ 23%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/bio/socket_helper.c.obj
  [ 23%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/bn_extra/bn_asn1.c.obj
  [ 24%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/bn_extra/convert.c.obj
  [ 24%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/buf/buf.c.obj
  [ 24%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/bytestring/asn1_compat.c.obj
  [ 25%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/bytestring/ber.c.obj
  [ 25%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/bytestring/cbb.c.obj
  [ 26%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/bytestring/cbs.c.obj
  [ 26%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/bytestring/unicode.c.obj
  [ 26%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/chacha/chacha.c.obj
  [ 27%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/cipher_extra/cipher_extra.c.obj
  [ 27%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/cipher_extra/derive_key.c.obj
  [ 27%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/cipher_extra/e_aesctrhmac.c.obj
  [ 28%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/cipher_extra/e_aesgcmsiv.c.obj
  [ 28%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/cipher_extra/e_chacha20poly1305.c.obj
  [ 29%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/cipher_extra/e_aes_cbc_hmac_sha1.c.obj
  [ 29%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/cipher_extra/e_aes_cbc_hmac_sha256.c.obj
  [ 29%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/cipher_extra/e_des.c.obj
  [ 30%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/cipher_extra/e_null.c.obj
  [ 30%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/cipher_extra/e_rc2.c.obj
  [ 30%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/cipher_extra/e_rc4.c.obj
  [ 31%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/cipher_extra/e_tls.c.obj
  [ 31%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/cipher_extra/tls_cbc.c.obj
  [ 31%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/conf/conf.c.obj
  [ 32%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/crypto.c.obj
  [ 32%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/curve25519/curve25519.c.obj
  [ 33%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/curve25519/curve25519_nohw.c.obj
  [ 33%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/curve25519/curve25519_s2n_bignum_asm.c.obj
  [ 33%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/curve25519/spake25519.c.obj
  [ 34%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/des/des.c.obj
  [ 34%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/dh_extra/params.c.obj
  [ 34%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/dh_extra/dh_asn1.c.obj
  [ 35%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/digest_extra/digest_extra.c.obj
  [ 35%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/dsa/dsa.c.obj
  [ 36%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/dsa/dsa_asn1.c.obj
  [ 36%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/ecdh_extra/ecdh_extra.c.obj
  [ 36%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/ecdsa_extra/ecdsa_asn1.c.obj
  [ 37%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/ec_extra/ec_asn1.c.obj
  [ 37%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/ec_extra/ec_derive.c.obj
  [ 37%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/ec_extra/hash_to_curve.c.obj
  [ 38%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/err/err.c.obj
  [ 38%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/err_data.c.obj
  [ 38%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/engine/engine.c.obj
  [ 38%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/evp_extra/p_dsa_asn1.c.obj
  [ 39%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/evp_extra/evp_asn1.c.obj
  [ 40%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/evp_extra/p_ec_asn1.c.obj
  [ 40%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/evp_extra/p_ed25519.c.obj
  [ 40%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/evp_extra/p_ed25519_asn1.c.obj
  [ 41%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/evp_extra/p_hmac_asn1.c.obj
  [ 41%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/evp_extra/p_kem.c.obj
  [ 41%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/evp_extra/p_kem_asn1.c.obj
  [ 42%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/evp_extra/p_rsa_asn1.c.obj
  [ 42%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/evp_extra/p_x25519.c.obj
  [ 43%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/evp_extra/p_x25519_asn1.c.obj
  [ 43%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/evp_extra/p_methods.c.obj
  [ 43%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/evp_extra/print.c.obj
  [ 44%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/evp_extra/scrypt.c.obj
  [ 44%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/evp_extra/sign.c.obj
  [ 44%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/ex_data.c.obj
  [ 45%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/hpke/hpke.c.obj
  [ 45%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/hrss/hrss.c.obj
  [ 46%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/kem/kem.c.obj
  [ 46%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/kem/kem_methods.c.obj
  [ 46%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/kyber/kyber512r3_ref.c.obj
  [ 47%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/kyber/kyber768r3_ref.c.obj
  [ 47%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/kyber/kyber1024r3_ref.c.obj
  [ 47%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/kyber/pqcrystals_kyber_ref_common/fips202.c.obj
  [ 48%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/kyber/kem_kyber.c.obj
  [ 48%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/lhash/lhash.c.obj
  [ 48%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/mem.c.obj
  [ 49%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/obj/obj.c.obj
  [ 49%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/obj/obj_xref.c.obj
  [ 50%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/ocsp/ocsp_asn.c.obj
  [ 50%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/ocsp/ocsp_client.c.obj
  [ 50%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/ocsp/ocsp_extension.c.obj
  [ 51%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/ocsp/ocsp_http.c.obj
  [ 51%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/ocsp/ocsp_lib.c.obj
  [ 51%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/ocsp/ocsp_print.c.obj
  [ 52%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/ocsp/ocsp_server.c.obj
  [ 52%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/ocsp/ocsp_verify.c.obj
  [ 53%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/pem/pem_all.c.obj
  [ 53%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/pem/pem_info.c.obj
  [ 53%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/pem/pem_lib.c.obj
  [ 54%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/pem/pem_oth.c.obj
  [ 54%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/pem/pem_pk8.c.obj
  [ 55%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/pem/pem_x509.c.obj
  [ 55%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/pem/pem_pkey.c.obj
  [ 55%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/pem/pem_xaux.c.obj
  [ 55%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/pkcs7/pkcs7.c.obj
  [ 56%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/pkcs7/pkcs7_x509.c.obj
  [ 56%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/pkcs8/pkcs8.c.obj
  [ 57%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/pkcs8/pkcs8_x509.c.obj
  [ 57%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/pkcs8/p5_pbev2.c.obj
  [ 58%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/poly1305/poly1305_arm.c.obj
  [ 57%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/poly1305/poly1305.c.obj
  [ 58%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/poly1305/poly1305_vec.c.obj
  [ 58%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/pool/pool.c.obj
  [ 59%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/rand_extra/deterministic.c.obj
  [ 59%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/rand_extra/entropy_passive.c.obj
  [ 60%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/rand_extra/forkunsafe.c.obj
  [ 60%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/rand_extra/fuchsia.c.obj
  [ 60%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/rand_extra/rand_extra.c.obj
  [ 61%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/rand_extra/pq_custom_randombytes.c.obj
  [ 61%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/rand_extra/trusty.c.obj
  [ 61%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/rand_extra/windows.c.obj
  [ 62%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/rc4/rc4.c.obj
  [ 62%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/refcount_c11.c.obj
  [ 62%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/refcount_lock.c.obj
  [ 63%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/refcount_win.c.obj
  [ 63%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/rsa_extra/rsa_asn1.c.obj
  [ 64%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/rsa_extra/rsassa_pss_asn1.c.obj
  [ 64%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/rsa_extra/rsa_crypt.c.obj
  [ 64%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/rsa_extra/rsa_print.c.obj
  [ 65%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/stack/stack.c.obj
  [ 65%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/siphash/siphash.c.obj
  [ 65%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/thread.c.obj
  [ 66%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/thread_none.c.obj
  [ 66%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/thread_pthread.c.obj
  [ 67%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/thread_win.c.obj
  [ 67%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/trust_token/pmbtoken.c.obj
  [ 67%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/trust_token/trust_token.c.obj
  [ 68%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/trust_token/voprf.c.obj
  [ 68%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509/a_digest.c.obj
  [ 68%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509/a_sign.c.obj
  [ 69%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509/a_verify.c.obj
  [ 69%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509/algorithm.c.obj
  [ 69%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509/asn1_gen.c.obj
  [ 70%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509/by_dir.c.obj
  [ 70%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509/by_file.c.obj
  [ 71%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509/i2d_pr.c.obj
  [ 71%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509/name_print.c.obj
  [ 71%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509/policy.c.obj
  [ 72%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509/rsa_pss.c.obj
  [ 72%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509/t_crl.c.obj
  [ 72%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509/t_req.c.obj
  [ 73%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509/t_x509.c.obj
  [ 73%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509/t_x509a.c.obj
  [ 74%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509/x509.c.obj
  [ 74%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509/x509_att.c.obj
  [ 74%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509/x509_cmp.c.obj
  [ 75%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509/x509_d2.c.obj
  [ 75%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509/x509_def.c.obj
  [ 75%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509/x509_ext.c.obj
  [ 76%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509/x509_lu.c.obj
  [ 76%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509/x509_obj.c.obj
  [ 77%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509/x509_req.c.obj
  [ 77%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509/x509_set.c.obj
  [ 77%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509/x509_v3.c.obj
  [ 77%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509/x509_trs.c.obj
  [ 78%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509/x509_txt.c.obj
  [ 78%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509/x509_vfy.c.obj
  [ 79%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509/x509_vpm.c.obj
  [ 79%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509/x509cset.c.obj
  [ 79%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509/x509name.c.obj
  [ 80%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509/x509rset.c.obj
  [ 81%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509/x_algor.c.obj
  [ 81%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509/x509spki.c.obj
  [ 81%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509/x_all.c.obj
  [ 81%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509/x_attrib.c.obj
  [ 81%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509/x_exten.c.obj
  [ 82%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509/x_crl.c.obj
  [ 83%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509/x_pubkey.c.obj
  [ 82%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509/x_name.c.obj
  [ 83%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509/x_req.c.obj
  [ 84%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509/x_sig.c.obj
  [ 84%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509/x_spki.c.obj
  [ 84%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509/x_val.c.obj
  [ 85%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509/x_x509.c.obj
  [ 85%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509/x_x509a.c.obj
  [ 85%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509v3/v3_akey.c.obj
  [ 86%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509v3/v3_akeya.c.obj
  [ 86%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509v3/v3_alt.c.obj
  [ 86%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509v3/v3_bcons.c.obj
  [ 87%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509v3/v3_bitst.c.obj
  [ 87%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509v3/v3_conf.c.obj
  [ 88%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509v3/v3_cpols.c.obj
  [ 88%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509v3/v3_crld.c.obj
  [ 88%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509v3/v3_enum.c.obj
  [ 89%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509v3/v3_extku.c.obj
  [ 89%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509v3/v3_genn.c.obj
  [ 89%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509v3/v3_ia5.c.obj
  [ 90%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509v3/v3_info.c.obj
  [ 90%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509v3/v3_int.c.obj
  [ 91%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509v3/v3_lib.c.obj
  [ 91%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509v3/v3_ncons.c.obj
  [ 91%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509v3/v3_ocsp.c.obj
  [ 92%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509v3/v3_pcons.c.obj
  [ 92%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509v3/v3_pmaps.c.obj
  [ 92%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509v3/v3_prn.c.obj
  [ 93%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509v3/v3_purp.c.obj
  [ 93%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509v3/v3_skey.c.obj
  [ 93%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509v3/v3_utl.c.obj
  [ 94%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/decrepit/bio/base64_bio.c.obj
  [ 94%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/decrepit/blowfish/blowfish.c.obj
  [ 95%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/decrepit/cast/cast.c.obj
  [ 95%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/decrepit/cast/cast_tables.c.obj
  [ 95%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/decrepit/cfb/cfb.c.obj
  [ 96%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/decrepit/dh/dh_decrepit.c.obj
  [ 96%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/decrepit/evp/evp_do_all.c.obj
  [ 97%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/decrepit/rsa/rsa_decrepit.c.obj
  [ 97%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/decrepit/ripemd/ripemd.c.obj
  [ 97%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/decrepit/x509/x509_decrepit.c.obj
  [ 98%] Building ASM_NASM object aws-lc/crypto/CMakeFiles/crypto_objects.dir/chacha/chacha-x86_64.asm.obj
  [ 98%] Building ASM_NASM object aws-lc/crypto/CMakeFiles/crypto_objects.dir/cipher_extra/chacha20_poly1305_x86_64.asm.obj
  [ 98%] Building ASM_NASM object aws-lc/crypto/CMakeFiles/crypto_objects.dir/cipher_extra/aes128gcmsiv-x86_64.asm.obj
  [ 98%] Building ASM_NASM object aws-lc/crypto/CMakeFiles/crypto_objects.dir/cipher_extra/aesni-sha256-x86_64.asm.obj
  [ 99%] Building ASM_NASM object aws-lc/crypto/CMakeFiles/crypto_objects.dir/cipher_extra/aesni-sha1-x86_64.asm.obj
  [ 99%] Building ASM_NASM object aws-lc/crypto/CMakeFiles/crypto_objects.dir/test/trampoline-x86_64.asm.obj
  [ 99%] Built target crypto_objects
  --- stderr
  CMake Deprecation Warning at CMakeLists.txt:4 (cmake_minimum_required):
    Compatibility with CMake < 3.5 will be removed from a future version of
    CMake.
    Update the VERSION argument <min> value or use a ...<max> suffix to tell
    CMake that the project does not need compatibility with older versions.
  CMake Deprecation Warning at aws-lc/CMakeLists.txt:1 (cmake_minimum_required):
    Compatibility with CMake < 3.5 will be removed from a future version of
    CMake.
    Update the VERSION argument <min> value or use a ...<max> suffix to tell
    CMake that the project does not need compatibility with older versions.
  Copying platform assembly files from C:/Users/runneradmin/.cargo/registry/src/index.crates.io-6f17d22bba15001f/aws-lc-sys-0.15.0/aws-lc/generated-src/win-x86_64/crypto/ to D:/a/releases.opsfolio.com/releases.opsfolio.com/target/x86_64-pc-windows-gnu/release/build/aws-lc-sys-b313b0142cce05c4/out/build/aws-lc/crypto
  In file included from C:/Users/runneradmin/.cargo/registry/src/index.crates.io-6f17d22bba15001f/aws-lc-sys-0.15.0/aws-lc/include/openssl/base.h:80,
                   from C:/Users/runneradmin/.cargo/registry/src/index.crates.io-6f17d22bba15001f/aws-lc-sys-0.15.0/aws-lc/include/openssl/crypto.h:18,
                   from C:/Users/runneradmin/.cargo/registry/src/index.crates.io-6f17d22bba15001f/aws-lc-sys-0.15.0/aws-lc/crypto/fipsmodule/bcm.c:19:
  D:/a/releases.opsfolio.com/releases.opsfolio.com/target/x86_64-pc-windows-gnu/release/build/aws-lc-sys-b313b0142cce05c4/out/build/aws-lc/symbol_prefix_include/openssl/boringssl_prefix_symbols.h: In function 'aws_lc_0_15_0_ecdsa_digestverify_no_self_test':
  D:/a/releases.opsfolio.com/releases.opsfolio.com/target/x86_64-pc-windows-gnu/release/build/aws-lc-sys-b313b0142cce05c4/out/build/aws-lc/symbol_prefix_include/openssl/boringssl_prefix_symbols.h:20:26: error: 'digest_len' may be used uninitialized [-Werror=maybe-uninitialized]
     20 | #define BORINGSSL_PREFIX aws_lc_0_15_0
        |                          ^~~~~~~~~~~~~
  In file included from C:/Users/runneradmin/.cargo/registry/src/index.crates.io-6f17d22bba15001f/aws-lc-sys-0.15.0/aws-lc/crypto/fipsmodule/bcm.c:92:
  C:/Users/runneradmin/.cargo/registry/src/index.crates.io-6f17d22bba15001f/aws-lc-sys-0.15.0/aws-lc/crypto/fipsmodule/ecdsa/ecdsa.c:458:16: note: 'digest_len' was declared here
    458 |   unsigned int digest_len;
        |                ^~~~~~~~~~
  In file included from C:/Users/runneradmin/.cargo/registry/src/index.crates.io-6f17d22bba15001f/aws-lc-sys-0.15.0/aws-lc/crypto/fipsmodule/bcm.c:89:
  In function 'aws_lc_0_15_0_EVP_Digest',
      inlined from 'aws_lc_0_15_0_ecdsa_digestsign_no_self_test' at C:/Users/runneradmin/.cargo/registry/src/index.crates.io-6f17d22bba15001f/aws-lc-sys-0.15.0/aws-lc/crypto/fipsmodule/ecdsa/ecdsa.c:446:8:
  C:/Users/runneradmin/.cargo/registry/src/index.crates.io-6f17d22bba15001f/aws-lc-sys-0.15.0/aws-lc/crypto/fipsmodule/digest/digest.c:322:45: error: 'digest_len' may be used uninitialized [-Werror=maybe-uninitialized]
    322 |     ret &= EVP_DigestFinalXOF(&ctx, out_md, *out_size);
        |                                             ^~~~~~~~~
  C:/Users/runneradmin/.cargo/registry/src/index.crates.io-6f17d22bba15001f/aws-lc-sys-0.15.0/aws-lc/crypto/fipsmodule/ecdsa/ecdsa.c: In function 'aws_lc_0_15_0_ecdsa_digestsign_no_self_test':
  C:/Users/runneradmin/.cargo/registry/src/index.crates.io-6f17d22bba15001f/aws-lc-sys-0.15.0/aws-lc/crypto/fipsmodule/ecdsa/ecdsa.c:445:16: note: 'digest_len' declared here
    445 |   unsigned int digest_len;
        |                ^~~~~~~~~~
  D:/a/releases.opsfolio.com/releases.opsfolio.com/target/x86_64-pc-windows-gnu/release/build/aws-lc-sys-b313b0142cce05c4/out/build/aws-lc/symbol_prefix_include/openssl/boringssl_prefix_symbols.h: In function 'aws_lc_0_15_0_rsa_digestsign_no_self_test':
  D:/a/releases.opsfolio.com/releases.opsfolio.com/target/x86_64-pc-windows-gnu/release/build/aws-lc-sys-b313b0142cce05c4/out/build/aws-lc/symbol_prefix_include/openssl/boringssl_prefix_symbols.h:20:26: error: 'digest_len' may be used uninitialized [-Werror=maybe-uninitialized]
     20 | #define BORINGSSL_PREFIX aws_lc_0_15_0
        |                          ^~~~~~~~~~~~~
  In file included from C:/Users/runneradmin/.cargo/registry/src/index.crates.io-6f17d22bba15001f/aws-lc-sys-0.15.0/aws-lc/crypto/fipsmodule/bcm.c:134:
  C:/Users/runneradmin/.cargo/registry/src/index.crates.io-6f17d22bba15001f/aws-lc-sys-0.15.0/aws-lc/crypto/fipsmodule/rsa/rsa.c:695:16: note: 'digest_len' was declared here
    695 |   unsigned int digest_len;
        |                ^~~~~~~~~~
  D:/a/releases.opsfolio.com/releases.opsfolio.com/target/x86_64-pc-windows-gnu/release/build/aws-lc-sys-b313b0142cce05c4/out/build/aws-lc/symbol_prefix_include/openssl/boringssl_prefix_symbols.h: In function 'aws_lc_0_15_0_rsa_digestverify_no_self_test':
  D:/a/releases.opsfolio.com/releases.opsfolio.com/target/x86_64-pc-windows-gnu/release/build/aws-lc-sys-b313b0142cce05c4/out/build/aws-lc/symbol_prefix_include/openssl/boringssl_prefix_symbols.h:20:26: error: 'digest_len' may be used uninitialized [-Werror=maybe-uninitialized]
     20 | #define BORINGSSL_PREFIX aws_lc_0_15_0
        |                          ^~~~~~~~~~~~~
  C:/Users/runneradmin/.cargo/registry/src/index.crates.io-6f17d22bba15001f/aws-lc-sys-0.15.0/aws-lc/crypto/fipsmodule/rsa/rsa.c:763:16: note: 'digest_len' was declared here
    763 |   unsigned int digest_len;
        |                ^~~~~~~~~~
  cc1.exe: all warnings being treated as errors
  make.exe[2]: *** [aws-lc/crypto/fipsmodule/CMakeFiles/fipsmodule.dir/build.make:77: aws-lc/crypto/fipsmodule/CMakeFiles/fipsmodule.dir/bcm.c.obj] Error 1
  make.exe[1]: *** [CMakeFiles/Makefile2:258: aws-lc/crypto/fipsmodule/CMakeFiles/fipsmodule.dir/all] Error 2
  make.exe[1]: *** Waiting for unfinished jobs....
  make.exe: *** [Makefile:136: all] Error 2
  thread 'main' panicked at C:\Users\runneradmin\.cargo\registry\src\index.crates.io-6f17d22bba15001f\cmake-0.1.50\src\lib.rs:1098:5:
  command did not execute successfully, got: exit code: 2
  build script failed, must exit now
  note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
warning: build failed, waiting for other jobs to finish...
justsmth commented 2 months ago

I suspect the reason we're not seeing this failure in our CI is that we're not performing a --release build. Optimized/release builds are more likely to produce such "maybe-uninitialized" variable warnings. In the cases above, I believe these are all actually false-positives from the compiler given how the variables are being used -- but that doesn't make this problem any less painful for our consumer.

I'd need to investigate what workarounds are available for this type of issue. I'm not sure that CFLAGS gets propagated through. One option for now is to perform a debug build (instead of --release). I hope to have a patch release available to address this issue soon.

justsmth commented 2 months ago

I'm able to reproduce this error in our CI: https://github.com/aws/aws-lc-rs/actions/runs/8723216911/job/23930952090?pr=399

Lilit0x commented 2 months ago

I'd need to investigate what workarounds are available for this type of issue. I'm not sure that CFLAGS gets propagated through. One option for now is to perform a debug build (instead of --release). I hope to have a patch release available to address this issue soon.

I can confirm that debug builds compile successfully. I'll stick with that for now pending the fix. Thank you.

justsmth commented 2 months ago

As of our v1.7.1 release, I believe this issue to be resolved. Feel free to reopen or create a new issue if you are still having a problem building aws-lc-rs. Thanks!