Giter Club home page Giter Club logo

aws-lc-rs's People

Contributors

amazon-auto avatar bencivjan avatar camshaft avatar cpu avatar ctz avatar dependabot[bot] avatar hansonchar avatar justinwsmith avatar justsmth avatar samuel40791765 avatar skmcgrail avatar theli-ua avatar torben-hansen avatar wesleyrosenblum avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

aws-lc-rs's Issues

Supports peer public key in both Octet String and X509 encoding for key agreement

Problem:

Currently only octet string encoding is supported for the input peer public key for key agreement. This makes it difficult to interoperate with other platforms such as Java where the public key is output in X509 encoding.

Solution:

Support the input of peer public key in both Octet String and X509 encoding for key agreement purposes.

  • Does this change any public APIs? If yes, explain.
    The proposed change should be 100% backward compatible while providing new API to specify the encoding of the peer public key for key agreement purposes.

  • Which algorithm(s) will this impact?
    The encoding specification of the input public key Key agreement for P-256, P-384, P-521 and X22519.

Requirements / Acceptance Criteria:

Providing a peer public key in X509 DER encoding for key agreement works.

  • Will the Usage Guide or other documentation need to be updated?
    Potentially can provide examples on how to specify different encoding scheme for the peer public key.

  • Testing: How will this change be tested? Call out new integration tests, functional tests, or particularly
    interesting/important unit tests.
    Add unit test for key agreement with the peer public key in X509 DER encoding for P-256, P-384, P-521 and X22519.

Out of scope:

Is there anything the solution will intentionally NOT address?

Currently the output bytes of a EC public key from aws-lc-rs is always in octet string encoding. It should also provide the API to output the public key in X509 DER encoding as an option. This is however out of scope for now with respect to this issue.

feature request: RSA key generation support

Problem:

It looks as though aws-lc-rs shares the same API limitation as ring with respect to key generation being supported for EcdsaKeyPair and Ed25519KeyPair, but not RsaKeyPair.

As we're evaluating using aws-lc-rs as a backend for rcgen it would be really nice if aws-lc-rs supported RSA key generation. There's a class of use-case (e.g. Rustls' integration tests) where we have to use the openssl command line in order to generate RSA keypairs. Having support for this in rcgen would make replacing that usage feasible.

Solution:

aws-lc-rs could augment the RsaKeyPair struct to offer methods for generating a keypair comparable to those offered by Ed25519KeyPair and EcdsaKeyPair.

  • Does this change any public APIs? Yes: the RsaKeyPair struct would gain a generate_pkcs8 and possibly a generate_pkcs1 fns.
  • Which algorithm(s) will this impact? RSA.

Requirements / Acceptance Criteria:

It must be possible to generate an RSA keypair with both the public and private components. It should be convenient to load the serialized private key using the existing RsaKeyPair::from_pkcs8 and RsaKeyPair::from_der methods. Acceptance should look something like an end-to-end test generating a RSA keypair, loading it, using it to produce a signature, and then verifying the signature.

Consolidate FFI bindings

aws-lc-sys exposes separate bindings for every supported target. These files are huge, totaling almost 8MiB today and growing to 14MiB after #369. They are also almost identical to eachother: e.g. diff -U3 linux_aarch64_crypto.rs linux_x86_64_crypto.rs reveals that the only difference is the representation of the va_list argument to OPENSSL_vasprintf.

Most Rust FFI bindings are able to support diverse platforms using a single in-tree binding file (perhaps generated by bindgen with allowlisted symbols), leaving platform-specific types to be supplied by std::os::raw and/or libc, or at worst a small hand-written helper module. Can aws-lc-sys do similar?

Support for building aws-lc-rs with just rustc

Problem:

We'd love to include aws-lc-rs in the Rust SDK but feel that the current build requirements are too onerous for most customers to use it as the default.

Consider using build.rs to replace CMake to compile aws-lc-rs. Perhaps we could also use the Rust compiler to achieve the static linking achieved with the Go compiler currently?

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

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...

aws-lc-sys --features ssl,bindgen failed to build

cargo build -p aws-lc-sys --features ssl,bindgen

failed to compile, the output:

error[E0425]: cannot find function, tuple struct or tuple variant `BIO_ctrl` in this scope
  --> aws-lc-sys/src/lib.rs:82:14
   |
82 |     unsafe { BIO_ctrl(b, BIO_CTRL_INFO, 0, pp.cast::<c_void>()) }
   |              ^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `CRYPTO_library_init` in this scope
  --> aws-lc-sys/src/lib.rs:86:14
   |
86 |     unsafe { CRYPTO_library_init() }
   |              ^^^^^^^^^^^^^^^^^^^ not found in this scope

For more information about this error, try `rustc --explain E0425`.
error: could not compile `aws-lc-sys` (lib) due to 2 previous errors

the function name in the bindgen.rs is

extern "C" {
    pub fn aws_lc_0_13_0_CRYPTO_library_init();
}

which is different than the pre-generated one:

extern "C" {
    #[link_name = "\u{1}aws_lc_0_13_0_CRYPTO_library_init"]
    pub fn CRYPTO_library_init();
}

Linux -> Mac cannot cross compile aws-lc-sys

Problem:

On an x86_64 Linux box

cargo new repro
cd repro
cargo add aws-lc-rs
cargo b --target x86_64-apple-darwin

Fails with unknown flag errors.

  --- stderr
  thread 'main' panicked at /home/brong/.local/share/cargo/registry/src/index.crates.io-6f17d22bba15001f/aws-lc-sys-0.15.0/builder/cc_builder.rs:225:9:
  COMPILER: "cc"ARGS: ["-O0", "-ffunction-sections", "-fdata-sections", "-fPIC", "-gdwarf-2", "-fno-omit-frame-pointer", "-m64", "-arch", "x86_64", "-mmacosx-version-min=10.7", "-Wall", "-Wextra", "/home/brong/.local/share/cargo/registry/src/index.crates.io-6f17d22bba15001f/aws-lc-sys-0.15.0/aws-lc/tests/compiler_features_tests/memcmp_invalid_stripped_check.c", "-Wno-unused-parameter", "-o", "/home/brong/ws/repro/target/x86_64-apple-darwin/debug/build/aws-lc-sys-963977ec30e96b4e/out/memcmp_invalid_stripped_check"]EXECUTED: trueERROR: cc: error: unrecognized command-line option โ€˜-archโ€™
  cc: error: unrecognized command-line option โ€˜-mmacosx-version-min=10.7โ€™
  OUTPUT: Failed to compile memcmp_invalid_stripped_check

Relevant details

aws-lc-rs 17

Linux 6.8.6-zen1-1-zen #1 ZEN SMP PREEMPT_DYNAMIC Sat, 13 Apr 2024 14:44:53 +0000 x86_64 unknown

nightly-x86_64-unknown-linux-gnu (default)
rustc 1.78.0-nightly (a4472498d 2024-02-15)

Support streaming API for CBC

Problem:

I would like to be able to use CBC in a streaming fashion. Unfortunately, currently the CBC encryptor always puts padding after an encryption operation and expects padding during a decryption operation.

OpenSSL solves that problem with finalize methods (for ex. https://docs.rs/openssl/latest/openssl/envelope/struct.Open.html#method.finalize)

Solution:

There are two possible options

  • Add CBC support to EncryptingKey and DecryptingKey types, and have the caveat that the inputs must be divisible by the block size, and leave padding decisions to the caller.

  • Introduce a StreamingPaddedBlockEncryptingKey and StreamingPaddedBlockDecryptingKey that implements the streaming and padding concepts.

The later would be nicer but more work

  • Does this change any public APIs? No it add more APIs
  • Which algorithm(s) will this impact? CBC

Requirements / Acceptance Criteria:

What must a solution address in order to solve the problem? How do we know the solution is complete?

Ideally we can encrypt/decrypt in a streaming fashion.

  • RFC links: N/A
  • Related Issues: None
  • Will the Usage Guide or other documentation need to be updated? Maybe depending on the solution
  • Testing: How will this change be tested? Call out new integration tests, functional tests, or particularly
    interesting/important unit tests. Probably through unit tests

Out of scope:

Is there anything the solution will intentionally NOT address?

Supports compresssed octets format in `agreement::agree_ephemeral()`

Problem:

agreement::agree_ephemeral() currently supports the peer public key in uncompressed octets format, but rejects if the peer public key is in compressed octets format.

Solution:

Relax the length check of the peer public key to allow both compressed and uncompressed octets to be supported.

  • Does this change any public APIs? If yes, explain.

No

  • Which algorithm(s) will this impact?

agreement::agree_ephemeral()

Requirements / Acceptance Criteria:

The key agreement should succeed for peer public keys to be specified in either compressed or uncompressed octets format.

  • RFC links: Links to relevant RFC(s)
  • Related Issues: Link any relevant issues
  • Will the Usage Guide or other documentation need to be updated?
  • Testing: How will this change be tested? Call out new integration tests, functional tests, or particularly
    interesting/important unit tests.
    • Will this change trigger AWS LibCrypto Formal Verification changes? Changes to the implementation of verified
      algorithms will require additional changes.
    • Should this change be fuzz tested? Will it handle untrusted input? Create a separate issue to track the fuzzing
      work.

Out of scope:

Is there anything the solution will intentionally NOT address?

Add `-Z minimal-versions` CI integration test

Per @ctz comment on the recent fs_extra edition for our sys-testing crate:

This should be fs_extra = "1.3" because, for example, CopyOptions::skip_exist [does not exist in version 1](https://docs.rs> /fs_extra/1.0.0/fs_extra/dir/struct.CopyOptions.html).
Ideally the aws-lc-rs would have a -Z minimal-versions job to validate these versions do select usable versions.

AWS-LCโ€™s libcrypto means, is it support for libcrypto of OpenSSL library added?

Security issue notifications

If you discover a potential security issue in AWS-LC for Rust we ask that you notify AWS Security via our
vulnerability reporting page. Please do not create a
public github issue, if in doubt contact AWS security first.

Problem:

A short description of what the problem is and why we need to fix it. Add reproduction steps if necessary.

Solution:

A description of the possible solution in terms of AWS-LC for Rust architecture. Highlight and explain any potentially
controversial design decisions taken.

  • Does this change any public APIs? If yes, explain.
  • Which algorithm(s) will this impact?

Requirements / Acceptance Criteria:

What must a solution address in order to solve the problem? How do we know the solution is complete?

  • RFC links: Links to relevant RFC(s)
  • Related Issues: Link any relevant issues
  • Will the Usage Guide or other documentation need to be updated?
  • Testing: How will this change be tested? Call out new integration tests, functional tests, or particularly
    interesting/important unit tests.

Out of scope:

Is there anything the solution will intentionally NOT address?

Bindgen warning about deprecated function: `rustfmt_bindings`

Problem:

During crate generation, the following warning message appears:

warning: use of deprecated associated function `bindgen::options::<impl bindgen::Builder>::rustfmt_bindings`
   --> aws-lc-sys/builder/bindgen.rs:116:10
    |
116 |         .rustfmt_bindings(true)
    |          ^^^^^^^^^^^^^^^^
    |
    = note: `#[warn(deprecated)]` on by default

warning: `aws-lc-sys` (build script) generated 1 warning

Relevant details

AWS-LC for Rust versions or commit: 1e96011

Run the script:

โฏ ./generate-aws-lc-sys.sh -d -b -u

Add support for signature verification using public key in X509 DER encoding format.

Problem:

In addition to Exposing accessors for private/public key on elliptic curve keys, we need signature verification to support public key in X509 DER encoding format. This is similar to the issue addressed by #256 for key agreement, but for signature verification.

Solution:

The proposed solution is to build on top of #259, but add support for signature verification using public key not only in Octet String format, but also X509 DER encoding format.

  • Does this change any public APIs? If yes, explain.

Adding functions:

  • signature::UnparsedPublicKey.new_with_x509()

  • Which algorithm(s) will this impact?
    RSA, ed25519 and EC

Requirements / Acceptance Criteria:

Signature verification works with public key provided in either Octet String format or X509 DER encoding format.

  • Related Issues: Link any relevant issues

  • #259

  • #256

  • Will the Usage Guide or other documentation need to be updated?

Yes

  • Testing: How will this change be tested? Call out new integration tests, functional tests, or particularly
    interesting/important unit tests.

Unit tests added to cover RSA, EC and ed25519 for signature verification using public key in X509 DER encoding format. More unit tests will be added if this proposed pull request looks reasonable enough to be potentially accepted.

Linking failures when trying to run on ppc64le architecture due to symbol issues

Problem:

Attempted to build/test aws-lc-rs on ppc64le architecture, as this architecture is technically supported by AWS-LC.
Besides trying to get this build there is still an outstanding question of what the overall performance profile looks like. This might be a challenge as this build is currently being done in a docker container using qemu.

Build Notes

  • Used fedora:38 docker container using the ppc64le platform image.
  • Had to comment out ~4 tests which required use of the ring crate, as ring doesn't appear to support ppc64le?
  • When running tests I get a linker error:
  = note: /usr/bin/ld: /home/ec2-user/aws-lc-rs/target/debug/deps/libaws_lc_sys-32d0dce44c55f186.rlib(bcm.c.o): in function `aws_lc_0_7_0_AES_encrypt':
          /home/ec2-user/aws-lc-rs/aws-lc-sys/aws-lc/crypto/fipsmodule/aes/aes.c:64: undefined reference to `aws_lc_0_7_0_aes_hw_encrypt'
          /usr/bin/ld: /home/ec2-user/aws-lc-rs/target/debug/deps/libaws_lc_sys-32d0dce44c55f186.rlib(bcm.c.o): in function `aws_lc_0_7_0_AES_decrypt':
          /home/ec2-user/aws-lc-rs/aws-lc-sys/aws-lc/crypto/fipsmodule/aes/aes.c:74: undefined reference to `aws_lc_0_7_0_aes_hw_decrypt'
          /usr/bin/ld: /home/ec2-user/aws-lc-rs/target/debug/deps/libaws_lc_sys-32d0dce44c55f186.rlib(bcm.c.o): in function `aws_lc_0_7_0_AES_set_encrypt_key':
          /home/ec2-user/aws-lc-rs/aws-lc-sys/aws-lc/crypto/fipsmodule/aes/aes.c:87: undefined reference to `aws_lc_0_7_0_aes_hw_set_encrypt_key'
          /usr/bin/ld: /home/ec2-user/aws-lc-rs/target/debug/deps/libaws_lc_sys-32d0dce44c55f186.rlib(bcm.c.o):(.toc+0x0): undefined reference to `aws_lc_0_7_0_aes_hw_ctr32_encrypt_blocks'
          /usr/bin/ld: /home/ec2-user/aws-lc-rs/target/debug/deps/libaws_lc_sys-32d0dce44c55f186.rlib(bcm.c.o):(.toc+0x8): undefined reference to `aws_lc_0_7_0_aes_hw_encrypt'
          /usr/bin/ld: /home/ec2-user/aws-lc-rs/target/debug/deps/libaws_lc_sys-32d0dce44c55f186.rlib(bcm.c.o): in function `aws_lc_0_7_0_aes_ctr_set_key':
          /home/ec2-user/aws-lc-rs/aws-lc-sys/aws-lc/crypto/fipsmodule/cipher/e_aes.c:297: undefined reference to `aws_lc_0_7_0_aes_hw_set_encrypt_key'
          collect2: error: ld returned 1 exit status

  = note: some `extern` functions couldn't be found; some native libraries may need to be installed or have their path specified
  = note: use the `-l` flag to specify native libraries to link
  = note: use the `cargo:rustc-link-lib` directive to specify the native libraries to link with Cargo (see https://doc.rust-lang.org/cargo/reference/build-scripts.html#cargorustc-link-libkindname)

warning: `aws-lc-rs` (lib test) generated 3 warnings
error: could not compile `aws-lc-rs` (lib test) due to previous error; 3 warnings emitted
 nm libaws_lc_0_7_0crypto.a | grep aes_hw_encrypt
                 U aws_lc_0_7_0_aes_hw_encrypt
00000000000004c0 T aes_hw_encrypt

Build failure following instructions under "Contributor Quickstart for Amazon Linux 2023"

Problem:

I launched a new EC2 instance (i3.4xlarge which is x86_64) with the latest AL2023 (6.1.55-75.123.amzn2023.x86_64), pulled the latest aws-lc-rs from main commit fe5d0de and followed the build instructions, but cargo test failed.

Relevant details

AWS-LC for Rust versions or commit: (fe5d0de)

System information: for linux, below info can be collected by running uname -srvmp

  • CPU architecture: (x86-64)
  • CPU name: (Intel(R) Xeon(R) CPU E5-2686 v4 @ 2.30GHz)
  • OS: (AL2023)

Build log:

  • The log tells compiler and version.
aws-lc-rs]$ sudo yum install -y cmake3 clang git clang-libs golang openssl-devel
[aws-lc-rs]$ curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
[aws-lc-rs]$ source "$HOME/.cargo/env"
[aws-lc-rs]$ git clone https://github.com/awslabs/aws-lc-rs.git
[aws-lc-rs]$ cd aws-lc-rs/
[aws-lc-rs]$ git submodule update --init --recursive
[aws-lc-rs]$ cargo test
    Updating crates.io index
  Downloaded anstyle-parse v0.2.2
  Downloaded cast v0.3.0
  Downloaded anstyle-query v1.0.0
  Downloaded anes v0.1.6
  Downloaded anstyle v1.0.4
  Downloaded anstream v0.6.4
  Downloaded autocfg v1.1.0
  Downloaded aho-corasick v1.1.2
  Downloaded cfg-if v1.0.0
  Downloaded ciborium-ll v0.2.1
  Downloaded colorchoice v1.0.0
  Downloaded crossbeam-epoch v0.9.15
  Downloaded foreign-types-shared v0.1.1
  Downloaded errno v0.3.5
  Downloaded crossbeam-utils v0.8.16
  Downloaded pkg-config v0.3.27
  Downloaded proc-macro2 v1.0.69
  Downloaded zeroize v1.6.0
  Downloaded criterion-plot v0.5.0
  Downloaded ring v0.17.5
  Downloaded walkdir v2.4.0
  Downloaded openssl-src v300.1.5+3.1.3
  Downloaded vcpkg v0.2.15
  Downloaded utf8parse v0.2.1
  Downloaded untrusted v0.9.0
  Downloaded untrusted v0.7.1
  Downloaded unicode-ident v1.0.12
  Downloaded tinytemplate v1.2.1
  Downloaded syn v2.0.38
  Downloaded strsim v0.10.0
  Downloaded spin v0.9.8
  Downloaded serde_json v1.0.107
  Downloaded serde_derive v1.0.189
  Downloaded serde v1.0.189
  Downloaded scopeguard v1.2.0
  Downloaded same-file v1.0.6
  Downloaded ryu v1.0.15
  Downloaded rustix v0.38.20
  Downloaded regex-syntax v0.8.2
  Downloaded regex-automata v0.4.3
  Downloaded regex v1.10.2
  Downloaded rayon-core v1.12.0
  Downloaded rayon v1.8.0
  Downloaded quote v1.0.33
  Downloaded plotters-backend v0.3.5
  Downloaded paste v1.0.14
  Downloaded openssl-sys v0.9.93
  Downloaded mirai-annotations v1.12.0
  Downloaded linux-raw-sys v0.4.10
  Downloaded plotters-svg v0.3.5
  Downloaded plotters v0.3.5
  Downloaded openssl-macros v0.1.1
  Downloaded openssl v0.10.57
  Downloaded oorandom v11.1.3
  Downloaded once_cell v1.18.0
  Downloaded memchr v2.6.4
  Downloaded itoa v1.0.9
  Downloaded itertools v0.10.5
  Downloaded hex v0.4.3
  Downloaded half v1.8.2
  Downloaded getrandom v0.2.10
  Downloaded either v1.9.0
  Downloaded criterion v0.5.1
  Downloaded num-traits v0.2.17
  Downloaded memoffset v0.9.0
  Downloaded libc v0.2.149
  Downloaded lazy_static v1.4.0
  Downloaded is-terminal v0.4.9
  Downloaded heck v0.4.1
  Downloaded foreign-types v0.3.2
  Downloaded dunce v1.0.4
  Downloaded csv v1.3.0
  Downloaded crossbeam-deque v0.8.3
  Downloaded cmake v0.1.50
  Downloaded clap_lex v0.5.1
  Downloaded csv-core v0.1.11
  Downloaded clap_builder v4.4.6
  Downloaded clap_derive v4.4.2
  Downloaded clap v4.4.6
  Downloaded ciborium-io v0.2.1
  Downloaded ciborium v0.2.1
  Downloaded cc v1.0.83
  Downloaded bitflags v2.4.1
  Downloaded 83 crates (20.9 MB) in 1.34s (largest was `openssl-src` at 8.8 MB)
   Compiling libc v0.2.149
   Compiling proc-macro2 v1.0.69
   Compiling unicode-ident v1.0.12
   Compiling dunce v1.0.4
   Compiling paste v1.0.14
   Compiling memchr v2.6.4
   Compiling utf8parse v0.2.1
   Compiling anstyle-query v1.0.0
   Compiling anstyle v1.0.4
   Compiling colorchoice v1.0.0
   Compiling regex-syntax v0.8.2
   Compiling clap_lex v0.5.1
   Compiling strsim v0.10.0
   Compiling heck v0.4.1
   Compiling aws-lc-rs v1.3.0 (/local/aws-lc-rs/aws-lc-rs)
   Compiling untrusted v0.7.1
   Compiling anstyle-parse v0.2.2
   Compiling mirai-annotations v1.12.0
   Compiling zeroize v1.6.0
   Compiling lazy_static v1.4.0
   Compiling hex v0.4.3
   Compiling autocfg v1.1.0
   Compiling cfg-if v1.0.0
   Compiling serde v1.0.189
   Compiling anstream v0.6.4
   Compiling crossbeam-utils v0.8.16
   Compiling vcpkg v0.2.15
   Compiling pkg-config v0.3.27
   Compiling scopeguard v1.2.0
   Compiling itoa v1.0.9
   Compiling bitflags v2.4.1
   Compiling clap_builder v4.4.6
   Compiling serde_json v1.0.107
   Compiling memoffset v0.9.0
   Compiling crossbeam-epoch v0.9.15
   Compiling num-traits v0.2.17
   Compiling either v1.9.0
   Compiling aho-corasick v1.1.2
   Compiling rayon-core v1.12.0
   Compiling ryu v1.0.15
   Compiling rustix v0.38.20
   Compiling ciborium-io v0.2.1
   Compiling linux-raw-sys v0.4.10
   Compiling quote v1.0.33
   Compiling plotters-backend v0.3.5
   Compiling syn v2.0.38
   Compiling half v1.8.2
   Compiling cc v1.0.83
   Compiling crossbeam-deque v0.8.3
   Compiling plotters-svg v0.3.5
   Compiling itertools v0.10.5
   Compiling csv-core v0.1.11
   Compiling same-file v1.0.6
   Compiling once_cell v1.18.0
   Compiling cast v0.3.0
   Compiling ciborium-ll v0.2.1
   Compiling openssl v0.10.57
   Compiling foreign-types-shared v0.1.1
   Compiling walkdir v2.4.0
   Compiling getrandom v0.2.10
   Compiling foreign-types v0.3.2
   Compiling oorandom v11.1.3
   Compiling untrusted v0.9.0
   Compiling anes v0.1.6
   Compiling spin v0.9.8
   Compiling cmake v0.1.50
   Compiling openssl-src v300.1.5+3.1.3
   Compiling rayon v1.8.0
   Compiling openssl-sys v0.9.93
   Compiling ring v0.17.5
   Compiling plotters v0.3.5
   Compiling aws-lc-sys v0.11.0 (/local/aws-lc-rs/aws-lc-sys)
   Compiling is-terminal v0.4.9
   Compiling aws-lc-fips-sys v0.11.0 (/local/aws-lc-rs/aws-lc-fips-sys)
   Compiling regex-automata v0.4.3
   Compiling criterion-plot v0.5.0
error: failed to run custom build command for `openssl-sys v0.9.93`
 
Caused by:
  process didn't exit successfully: `/local/aws-lc-rs/target/debug/build/openssl-sys-16a2637b11ea24e5/build-script-main` (exit status: 101)
  --- stdout
  cargo:rerun-if-env-changed=X86_64_UNKNOWN_LINUX_GNU_OPENSSL_NO_VENDOR
  X86_64_UNKNOWN_LINUX_GNU_OPENSSL_NO_VENDOR unset
  cargo:rerun-if-env-changed=OPENSSL_NO_VENDOR
  OPENSSL_NO_VENDOR unset
  cargo:rerun-if-env-changed=CC_x86_64-unknown-linux-gnu
  CC_x86_64-unknown-linux-gnu = None
  cargo:rerun-if-env-changed=CC_x86_64_unknown_linux_gnu
  CC_x86_64_unknown_linux_gnu = None
  cargo:rerun-if-env-changed=HOST_CC
  HOST_CC = None
  cargo:rerun-if-env-changed=CC
  CC = None
  cargo:rerun-if-env-changed=CRATE_CC_NO_DEFAULTS
  CRATE_CC_NO_DEFAULTS = None
  DEBUG = Some("true")
  CARGO_CFG_TARGET_FEATURE = Some("fxsr,sse,sse2")
  cargo:rerun-if-env-changed=CFLAGS_x86_64-unknown-linux-gnu
  CFLAGS_x86_64-unknown-linux-gnu = None
  cargo:rerun-if-env-changed=CFLAGS_x86_64_unknown_linux_gnu
  CFLAGS_x86_64_unknown_linux_gnu = None
  cargo:rerun-if-env-changed=HOST_CFLAGS
  HOST_CFLAGS = None
  cargo:rerun-if-env-changed=CFLAGS
  CFLAGS = None
  cargo:rerun-if-env-changed=AR_x86_64-unknown-linux-gnu
  AR_x86_64-unknown-linux-gnu = None
  cargo:rerun-if-env-changed=AR_x86_64_unknown_linux_gnu
  AR_x86_64_unknown_linux_gnu = None
  cargo:rerun-if-env-changed=HOST_AR
  HOST_AR = None
  cargo:rerun-if-env-changed=AR
  AR = None
  cargo:rerun-if-env-changed=ARFLAGS_x86_64-unknown-linux-gnu
  ARFLAGS_x86_64-unknown-linux-gnu = None
  cargo:rerun-if-env-changed=ARFLAGS_x86_64_unknown_linux_gnu
  ARFLAGS_x86_64_unknown_linux_gnu = None
  cargo:rerun-if-env-changed=HOST_ARFLAGS
  HOST_ARFLAGS = None
  cargo:rerun-if-env-changed=ARFLAGS
  ARFLAGS = None
  cargo:rerun-if-env-changed=RANLIB_x86_64-unknown-linux-gnu
  RANLIB_x86_64-unknown-linux-gnu = None
  cargo:rerun-if-env-changed=RANLIB_x86_64_unknown_linux_gnu
  RANLIB_x86_64_unknown_linux_gnu = None
  cargo:rerun-if-env-changed=HOST_RANLIB
  HOST_RANLIB = None
  cargo:rerun-if-env-changed=RANLIB
  RANLIB = None
  cargo:rerun-if-env-changed=RANLIBFLAGS_x86_64-unknown-linux-gnu
  RANLIBFLAGS_x86_64-unknown-linux-gnu = None
  cargo:rerun-if-env-changed=RANLIBFLAGS_x86_64_unknown_linux_gnu
  RANLIBFLAGS_x86_64_unknown_linux_gnu = None
  cargo:rerun-if-env-changed=HOST_RANLIBFLAGS
  HOST_RANLIBFLAGS = None
  cargo:rerun-if-env-changed=RANLIBFLAGS
  RANLIBFLAGS = None
  running cd "/local/aws-lc-rs/target/debug/build/openssl-sys-772e32caf7aab96d/out/openssl-build/build/src" && AR="ar" CC="cc" RANLIB="ranlib" "perl" "./Configure" "--prefix=/local/aws-lc-rs/target/debug/build/openssl-sys-772e32caf7aab96d/out/openssl-build/install" "--openssldir=/usr/local/ssl" "no-dso" "no-shared" "no-ssl3" "no-tests" "no-comp" "no-zlib" "no-zlib-dynamic" "--libdir=lib" "no-md2" "no-rc5" "no-weak-ssl-ciphers" "no-camellia" "no-idea" "no-seed" "linux-x86_64" "-O2" "-ffunction-sections" "-fdata-sections" "-fPIC" "-gdwarf-4" "-fno-omit-frame-pointer" "-m64"
 
  --- stderr
  Can't locate FindBin.pm in @INC (you may need to install the FindBin module) (@INC contains: /usr/local/lib64/perl5/5.32 /usr/local/share/perl5/5.32 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5) at ./Configure line 15.
  BEGIN failed--compilation aborted at ./Configure line 15.
  thread 'main' panicked at /home/ec2-user/.cargo/registry/src/index.crates.io-6f17d22bba15001f/openssl-src-300.1.5+3.1.3/src/lib.rs:577:9:
 
 
 
  Error configuring OpenSSL build:
      Command: cd "/local/aws-lc-rs/target/debug/build/openssl-sys-772e32caf7aab96d/out/openssl-build/build/src" && AR="ar" CC="cc" RANLIB="ranlib" "perl" "./Configure" "--prefix=/local/aws-lc-rs/target/debug/build/openssl-sys-772e32caf7aab96d/out/openssl-build/install" "--openssldir=/usr/local/ssl" "no-dso" "no-shared" "no-ssl3" "no-tests" "no-comp" "no-zlib" "no-zlib-dynamic" "--libdir=lib" "no-md2" "no-rc5" "no-weak-ssl-ciphers" "no-camellia" "no-idea" "no-seed" "linux-x86_64" "-O2" "-ffunction-sections" "-fdata-sections" "-fPIC" "-gdwarf-4" "-fno-omit-frame-pointer" "-m64"
      Exit status: exit status: 2
 
 
 
  note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
warning: build failed, waiting for other jobs to finish...

HPKE base mode support or ephemeral-static ECDH API

Problem:

Over in rustls, we'd like to implement Encrypted Client Hello. This uses HPKE "Base" mode. We've defined traits to generalise over this use, and would like to implement these traits on top of aws-lc-rs. HPKE is a pretty straightforward construction and I think the existing AEAD and HKDF APIs can be reused for this. Unfortunately the ECDH API cannot, because it only supports ephemeral-ephemeral key exchange -- the server key in ECH is static.

Solution:

I think there are two possible solutions:

  1. aws-lc-rs exposes HPKE base mode as a first-class API, and we use this directly.
  2. aws-lc-rs exposes an ephemeral-static ECDH API (and we do the glueing-together and known-answer testing in rustls.)

For reference these have issues/PRs in ring:

  1. briansmith/ring#1462
  2. briansmith/ring#331

Remove CMake requirement for builds

Problem:

CMake is not a ubiquitous build tool; for example it is not automatically installed with the build-essential. By requiring CMake, aws-lc-rs puts additional build requirements on environments, which will potentially hinder adoption.

Solution

Instead, the library should have a build system that uses more ubiquitous tools. I think make would be a step in the right direction, but I think ideally the only requirement should be a C compiler and assembler. This is the approach that was taken in s2n-tls-sys which makes it quite easy to build.

Track *ring* 0.17 public API changes

Problem:

"Upstream" ring 0.17 contains some public API changes. This means the ring-compatible API offered by aws-lc-rs has diverged. Ideally aws-lc-rs would track the ring public API changes.

https://crates.io/crates/public-api could be a building block in automatically checking the two APIs do not contain unexpected differences.

Link to guide on bindgen requirement

Problem:

Related: aws/s2n-quic#2149

When compiling for a target outside of the pregenerated bindings, the current build fails with a suggestion to enable the bindgen feature in aws-lc-sys. For someone pulling in s2n-quic, this is quite confusing, since they're not depending on it directly.

I think one way to improve this is to link the guide on how to proceed. Maybe we also need to expand the guide a bit and have a specific section about what to do with the dependency of a dependency situation.

Another slight improvement over taking aws-lc as a dependency would be to have them install the bindgen CLI in their PATH and we could try and detect that and use it instead of the crates.io dependency.

Build fails for iOS simulator on x86_64

Problem:

When I try to compile the latest version for iOS simulator on my M1 mac, it will build successfully when targeting the aarch64 simulator but not the x86_64 one. We need the x86_64 simulator slice to be able to run unit tests in our CI. I have also confirmed that AWS-LC does compile for the x86_64 simulator when using standalone CMake on the C library.

Relevant details

AWS-LC for Rust versions or commit: aws-lc-sys/v0.13.3

System information: for linux, below info can be collected by running uname -srvmp

  • CPU architecture: aarch64
  • CPU name: M1 Mac
  • OS: MacOS

Build log:

  • The log tells compiler and version.
โฏ cargo build --target x86_64-apple-ios
warning: use of deprecated type alias `toml_edit::Document`: Replaced with `DocumentMut`
 --> links-testing/build.rs:4:16
  |
4 | use toml_edit::Document;
  |                ^^^^^^^^
  |
  = note: `#[warn(deprecated)]` on by default

warning: use of deprecated type alias `toml_edit::Document`: Replaced with `DocumentMut`
  --> links-testing/build.rs:51:41
   |
51 |     let cargo_toml = cargo_toml.parse::<Document>().unwrap();
   |                                         ^^^^^^^^

warning: `links-testing` (build script) generated 2 warnings
   Compiling aws-lc-sys v0.14.0 (/Users/tomleavy/git/aws-lc-rs/aws-lc-sys)
   Compiling aws-lc-fips-sys v0.12.5 (/Users/tomleavy/git/aws-lc-rs/aws-lc-fips-sys)
error: failed to run custom build command for `aws-lc-sys v0.14.0 (/Users/tomleavy/git/aws-lc-rs/aws-lc-sys)`

Caused by:
  process didn't exit successfully: `/Users/tomleavy/git/aws-lc-rs/target/debug/build/aws-lc-sys-9a95abfa6d31adb3/build-script-main` (exit status: 101)
  --- stdout
  cargo:rustc-cfg=use_bindgen_generated
  CMAKE_TOOLCHAIN_FILE_x86_64-apple-ios = None
  CMAKE_TOOLCHAIN_FILE_x86_64_apple_ios = None
  TARGET_CMAKE_TOOLCHAIN_FILE = None
  CMAKE_TOOLCHAIN_FILE = None
  CMAKE_GENERATOR_x86_64-apple-ios = None
  CMAKE_GENERATOR_x86_64_apple_ios = None
  TARGET_CMAKE_GENERATOR = None
  CMAKE_GENERATOR = None
  CMAKE_PREFIX_PATH_x86_64-apple-ios = None
  CMAKE_PREFIX_PATH_x86_64_apple_ios = None
  TARGET_CMAKE_PREFIX_PATH = None
  CMAKE_PREFIX_PATH = None
  CMAKE_x86_64-apple-ios = None
  CMAKE_x86_64_apple_ios = None
  TARGET_CMAKE = None
  CMAKE = Some("cmake")
  running: cd "/Users/tomleavy/git/aws-lc-rs/target/x86_64-apple-ios/debug/build/aws-lc-sys-0814bc827fceafc2/out/build" && CMAKE_PREFIX_PATH="" "cmake" "/Users/tomleavy/git/aws-lc-rs/aws-lc-sys" "-DBUILD_SHARED_LIBS=0" "-DCMAKE_BUILD_TYPE=debug" "-DBORINGSSL_PREFIX=aws_lc_0_14_0_" "-DBORINGSSL_PREFIX_HEADERS=/Users/tomleavy/git/aws-lc-rs/aws-lc-sys/generated-include" "-DBUILD_TESTING=OFF" "-DBUILD_LIBSSL=OFF" "-DDISABLE_PERL=ON" "-DDISABLE_GO=ON" "-DCMAKE_SYSTEM_NAME=iOS" "-DCMAKE_INSTALL_PREFIX=/Users/tomleavy/git/aws-lc-rs/target/x86_64-apple-ios/debug/build/aws-lc-sys-0814bc827fceafc2/out" "-DCMAKE_C_FLAGS= -fPIC -m64 --target=x86_64-apple-ios -m64 -mios-simulator-version-min=17.4 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator17.4.sdk" "-DCMAKE_C_COMPILER=/usr/bin/clang" "-DCMAKE_CXX_FLAGS= -fPIC -m64 --target=x86_64-apple-ios -m64 -mios-simulator-version-min=17.4 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator17.4.sdk" "-DCMAKE_CXX_COMPILER=/usr/bin/clang++" "-DCMAKE_ASM_FLAGS= -fPIC -m64 --target=x86_64-apple-ios -m64 -mios-simulator-version-min=17.4 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator17.4.sdk" "-DCMAKE_ASM_COMPILER=/usr/bin/clang" "--no-warn-unused-cli"
  Not searching for unused variables given on the command line.
  -- 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/
  -- stdalign_check.c probe is negative, NOT enabling AWS_LC_STDALIGN_AVAILABLE:
  --     Change Dir: '/Users/tomleavy/git/aws-lc-rs/target/x86_64-apple-ios/debug/build/aws-lc-sys-0814bc827fceafc2/out/build/aws-lc/CMakeFiles/CMakeTmp'

  Run Build Command(s): /opt/homebrew/Cellar/cmake/3.28.1/bin/cmake -E env VERBOSE=1 /usr/bin/make -f Makefile cmTC_477fa/fast
  /Applications/Xcode.app/Contents/Developer/usr/bin/make  -f CMakeFiles/cmTC_477fa.dir/build.make CMakeFiles/cmTC_477fa.dir/build
  Building C object CMakeFiles/cmTC_477fa.dir/stdalign_check.c.o
  /usr/bin/clang   -fPIC -m64 --target=x86_64-apple-ios -m64 -mios-simulator-version-min=17.4 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator17.4.sdk -std=c99 -fvisibility=hidden -Wall -Wextra -Wno-unused-parameter -Werror -Wunused -Wcomment -Wchar-subscripts -Wuninitialized -Wshadow -Wwrite-strings -Wformat-security -Wunused-result  -Wvla -Wtype-limits -Werror -Wformat=2 -Wsign-compare -Wmissing-field-initializers -Wwrite-strings -ggdb -Wall -fvisibility=hidden -fno-common -Wnewline-eof -fcolor-diagnostics -Wstring-concatenation -Wimplicit-fallthrough -Wmissing-prototypes -Wold-style-definition -Wstrict-prototypes  -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.4.sdk   -Werror -MD -MT CMakeFiles/cmTC_477fa.dir/stdalign_check.c.o -MF CMakeFiles/cmTC_477fa.dir/stdalign_check.c.o.d -o CMakeFiles/cmTC_477fa.dir/stdalign_check.c.o -c /Users/tomleavy/git/aws-lc-rs/aws-lc-sys/aws-lc/tests/compiler_features_tests/stdalign_check.c
  In file included from /Users/tomleavy/git/aws-lc-rs/aws-lc-sys/aws-lc/tests/compiler_features_tests/stdalign_check.c:8:
  In file included from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/15.0.0/include/stdint.h:52:
  In file included from /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.4.sdk/usr/include/stdint.h:52:
  In file included from /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.4.sdk/usr/include/sys/_types.h:32:
  /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.4.sdk/usr/include/sys/cdefs.h:1010:2: error: Unsupported architecture
  #error Unsupported architecture
   ^
  In file included from /Users/tomleavy/git/aws-lc-rs/aws-lc-sys/aws-lc/tests/compiler_features_tests/stdalign_check.c:8:
  In file included from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/15.0.0/include/stdint.h:52:
  In file included from /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.4.sdk/usr/include/stdint.h:52:
  In file included from /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.4.sdk/usr/include/sys/_types.h:33:
  /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.4.sdk/usr/include/machine/_types.h:34:2: error: architecture not supported
  #error architecture not supported
   ^
  In file included from /Users/tomleavy/git/aws-lc-rs/aws-lc-sys/aws-lc/tests/compiler_features_tests/stdalign_check.c:8:
  In file included from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/15.0.0/include/stdint.h:52:
  In file included from /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.4.sdk/usr/include/stdint.h:52:
  /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.4.sdk/usr/include/sys/_types.h:55:9: error: unknown type name '__int64_t'
  typedef __int64_t       __darwin_blkcnt_t;      /* total blocks */
          ^
  /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.4.sdk/usr/include/sys/_types.h:56:9: error: unknown type name '__int32_t'
  typedef __int32_t       __darwin_blksize_t;     /* preferred block size */
          ^
  /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.4.sdk/usr/include/sys/_types.h:57:9: error: unknown type name '__int32_t'
  typedef __int32_t       __darwin_dev_t;         /* dev_t */
          ^
  /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.4.sdk/usr/include/sys/_types.h:60:9: error: unknown type name '__uint32_t'
  typedef __uint32_t      __darwin_gid_t;         /* [???] process and group IDs */
          ^
  /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.4.sdk/usr/include/sys/_types.h:61:9: error: unknown type name '__uint32_t'
  typedef __uint32_t      __darwin_id_t;          /* [XSI] pid_t, uid_t, or gid_t*/
          ^
  /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.4.sdk/usr/include/sys/_types.h:62:9: error: unknown type name '__uint64_t'; did you mean 'uint64_t'?
  typedef __uint64_t      __darwin_ino64_t;       /* [???] Used for 64 bit inodes */
          ^
  /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.4.sdk/usr/include/_types/_uint64_t.h:31:28: note: 'uint64_t' declared here
  typedef unsigned long long uint64_t;
                             ^
  In file included from /Users/tomleavy/git/aws-lc-rs/aws-lc-sys/aws-lc/tests/compiler_features_tests/stdalign_check.c:8:
  In file included from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/15.0.0/include/stdint.h:52:
  In file included from /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.4.sdk/usr/include/stdint.h:52:
  /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.4.sdk/usr/include/sys/_types.h:68:9: error: unknown type name '__darwin_natural_t'
  typedef __darwin_natural_t __darwin_mach_port_name_t; /* Used by mach */
          ^
  /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.4.sdk/usr/include/sys/_types.h:70:9: error: unknown type name '__uint16_t'
  typedef __uint16_t      __darwin_mode_t;        /* [???] Some file attributes */
          ^
  /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.4.sdk/usr/include/sys/_types.h:71:9: error: unknown type name '__int64_t'
  typedef __int64_t       __darwin_off_t;         /* [???] Used for file sizes */
          ^
  /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.4.sdk/usr/include/sys/_types.h:72:9: error: unknown type name '__int32_t'
  typedef __int32_t       __darwin_pid_t;         /* [???] process and group IDs */
          ^
  /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.4.sdk/usr/include/sys/_types.h:73:9: error: unknown type name '__uint32_t'
  typedef __uint32_t      __darwin_sigset_t;      /* [???] signal set */
          ^
  /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.4.sdk/usr/include/sys/_types.h:74:9: error: unknown type name '__int32_t'
  typedef __int32_t       __darwin_suseconds_t;   /* [???] microseconds */
          ^
  /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.4.sdk/usr/include/sys/_types.h:75:9: error: unknown type name '__uint32_t'
  typedef __uint32_t      __darwin_uid_t;         /* [???] user IDs */
          ^
  /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.4.sdk/usr/include/sys/_types.h:76:9: error: unknown type name '__uint32_t'
  typedef __uint32_t      __darwin_useconds_t;    /* [???] microseconds */
          ^
  In file included from /Users/tomleavy/git/aws-lc-rs/aws-lc-sys/aws-lc/tests/compiler_features_tests/stdalign_check.c:8:
  In file included from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/15.0.0/include/stdint.h:52:
  In file included from /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.4.sdk/usr/include/stdint.h:53:
  In file included from /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.4.sdk/usr/include/sys/_types/_intptr_t.h:30:
  /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.4.sdk/usr/include/machine/types.h:37:2: error: architecture not supported
  #error architecture not supported
   ^
  In file included from /Users/tomleavy/git/aws-lc-rs/aws-lc-sys/aws-lc/tests/compiler_features_tests/stdalign_check.c:8:
  In file included from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/15.0.0/include/stdint.h:52:
  In file included from /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.4.sdk/usr/include/stdint.h:53:
  /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.4.sdk/usr/include/sys/_types/_intptr_t.h:32:9: error: unknown type name '__darwin_intptr_t'
  typedef __darwin_intptr_t       intptr_t;
          ^
  In file included from /Users/tomleavy/git/aws-lc-rs/aws-lc-sys/aws-lc/tests/compiler_features_tests/stdalign_check.c:10:
  In file included from /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.4.sdk/usr/include/stdlib.h:64:
  /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.4.sdk/usr/include/_types.h:43:9: error: unknown type name '__uint32_t'
  typedef __uint32_t      __darwin_wctype_t;
          ^
  fatal error: too many errors emitted, stopping now [-ferror-limit=]
  20 errors generated.
  make[1]: *** [CMakeFiles/cmTC_477fa.dir/stdalign_check.c.o] Error 1
  make: *** [cmTC_477fa/fast] Error 2


  -- builtin_swap_check.c probe is negative, NOT enabling AWS_LC_BUILTIN_SWAP_SUPPORTED:
  --     Change Dir: '/Users/tomleavy/git/aws-lc-rs/target/x86_64-apple-ios/debug/build/aws-lc-sys-0814bc827fceafc2/out/build/aws-lc/CMakeFiles/CMakeTmp'

  Run Build Command(s): /opt/homebrew/Cellar/cmake/3.28.1/bin/cmake -E env VERBOSE=1 /usr/bin/make -f Makefile cmTC_3ddee/fast
  /Applications/Xcode.app/Contents/Developer/usr/bin/make  -f CMakeFiles/cmTC_3ddee.dir/build.make CMakeFiles/cmTC_3ddee.dir/build
  Building C object CMakeFiles/cmTC_3ddee.dir/builtin_swap_check.c.o
  /usr/bin/clang   -fPIC -m64 --target=x86_64-apple-ios -m64 -mios-simulator-version-min=17.4 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator17.4.sdk -std=c99 -fvisibility=hidden -Wall -Wextra -Wno-unused-parameter -Werror -Wunused -Wcomment -Wchar-subscripts -Wuninitialized -Wshadow -Wwrite-strings -Wformat-security -Wunused-result  -Wvla -Wtype-limits -Werror -Wformat=2 -Wsign-compare -Wmissing-field-initializers -Wwrite-strings -ggdb -Wall -fvisibility=hidden -fno-common -Wnewline-eof -fcolor-diagnostics -Wstring-concatenation -Wimplicit-fallthrough -Wmissing-prototypes -Wold-style-definition -Wstrict-prototypes  -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.4.sdk   -Werror -MD -MT CMakeFiles/cmTC_3ddee.dir/builtin_swap_check.c.o -MF CMakeFiles/cmTC_3ddee.dir/builtin_swap_check.c.o.d -o CMakeFiles/cmTC_3ddee.dir/builtin_swap_check.c.o -c /Users/tomleavy/git/aws-lc-rs/aws-lc-sys/aws-lc/tests/compiler_features_tests/builtin_swap_check.c
  In file included from /Users/tomleavy/git/aws-lc-rs/aws-lc-sys/aws-lc/tests/compiler_features_tests/builtin_swap_check.c:8:
  In file included from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/15.0.0/include/stdint.h:52:
  In file included from /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.4.sdk/usr/include/stdint.h:52:
  In file included from /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.4.sdk/usr/include/sys/_types.h:32:
  /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.4.sdk/usr/include/sys/cdefs.h:1010:2: error: Unsupported architecture
  #error Unsupported architecture
   ^
  In file included from /Users/tomleavy/git/aws-lc-rs/aws-lc-sys/aws-lc/tests/compiler_features_tests/builtin_swap_check.c:8:
  In file included from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/15.0.0/include/stdint.h:52:
  In file included from /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.4.sdk/usr/include/stdint.h:52:
  In file included from /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.4.sdk/usr/include/sys/_types.h:33:
  /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.4.sdk/usr/include/machine/_types.h:34:2: error: architecture not supported
  #error architecture not supported
   ^
  In file included from /Users/tomleavy/git/aws-lc-rs/aws-lc-sys/aws-lc/tests/compiler_features_tests/builtin_swap_check.c:8:
  In file included from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/15.0.0/include/stdint.h:52:
  In file included from /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.4.sdk/usr/include/stdint.h:52:
  /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.4.sdk/usr/include/sys/_types.h:55:9: error: unknown type name '__int64_t'
  typedef __int64_t       __darwin_blkcnt_t;      /* total blocks */
          ^
  /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.4.sdk/usr/include/sys/_types.h:56:9: error: unknown type name '__int32_t'
  typedef __int32_t       __darwin_blksize_t;     /* preferred block size */
          ^
  /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.4.sdk/usr/include/sys/_types.h:57:9: error: unknown type name '__int32_t'
  typedef __int32_t       __darwin_dev_t;         /* dev_t */
          ^
  /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.4.sdk/usr/include/sys/_types.h:60:9: error: unknown type name '__uint32_t'
  typedef __uint32_t      __darwin_gid_t;         /* [???] process and group IDs */
          ^
  /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.4.sdk/usr/include/sys/_types.h:61:9: error: unknown type name '__uint32_t'
  typedef __uint32_t      __darwin_id_t;          /* [XSI] pid_t, uid_t, or gid_t*/
          ^
  /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.4.sdk/usr/include/sys/_types.h:62:9: error: unknown type name '__uint64_t'; did you mean 'uint64_t'?
  typedef __uint64_t      __darwin_ino64_t;       /* [???] Used for 64 bit inodes */
          ^
  /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.4.sdk/usr/include/_types/_uint64_t.h:31:28: note: 'uint64_t' declared here
  typedef unsigned long long uint64_t;
                             ^
  In file included from /Users/tomleavy/git/aws-lc-rs/aws-lc-sys/aws-lc/tests/compiler_features_tests/builtin_swap_check.c:8:
  In file included from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/15.0.0/include/stdint.h:52:
  In file included from /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.4.sdk/usr/include/stdint.h:52:
  /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.4.sdk/usr/include/sys/_types.h:68:9: error: unknown type name '__darwin_natural_t'
  typedef __darwin_natural_t __darwin_mach_port_name_t; /* Used by mach */
          ^
  /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.4.sdk/usr/include/sys/_types.h:70:9: error: unknown type name '__uint16_t'
  typedef __uint16_t      __darwin_mode_t;        /* [???] Some file attributes */
          ^
  /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.4.sdk/usr/include/sys/_types.h:71:9: error: unknown type name '__int64_t'
  typedef __int64_t       __darwin_off_t;         /* [???] Used for file sizes */
          ^
  /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.4.sdk/usr/include/sys/_types.h:72:9: error: unknown type name '__int32_t'
  typedef __int32_t       __darwin_pid_t;         /* [???] process and group IDs */
          ^
  /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.4.sdk/usr/include/sys/_types.h:73:9: error: unknown type name '__uint32_t'
  typedef __uint32_t      __darwin_sigset_t;      /* [???] signal set */
          ^
  /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.4.sdk/usr/include/sys/_types.h:74:9: error: unknown type name '__int32_t'
  typedef __int32_t       __darwin_suseconds_t;   /* [???] microseconds */
          ^
  /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.4.sdk/usr/include/sys/_types.h:75:9: error: unknown type name '__uint32_t'
  typedef __uint32_t      __darwin_uid_t;         /* [???] user IDs */
          ^
  /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.4.sdk/usr/include/sys/_types.h:76:9: error: unknown type name '__uint32_t'
  typedef __uint32_t      __darwin_useconds_t;    /* [???] microseconds */
          ^
  In file included from /Users/tomleavy/git/aws-lc-rs/aws-lc-sys/aws-lc/tests/compiler_features_tests/builtin_swap_check.c:8:
  In file included from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/15.0.0/include/stdint.h:52:
  In file included from /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.4.sdk/usr/include/stdint.h:53:
  In file included from /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.4.sdk/usr/include/sys/_types/_intptr_t.h:30:
  /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.4.sdk/usr/include/machine/types.h:37:2: error: architecture not supported
  #error architecture not supported
   ^
  In file included from /Users/tomleavy/git/aws-lc-rs/aws-lc-sys/aws-lc/tests/compiler_features_tests/builtin_swap_check.c:8:
  In file included from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/15.0.0/include/stdint.h:52:
  In file included from /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.4.sdk/usr/include/stdint.h:53:
  /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.4.sdk/usr/include/sys/_types/_intptr_t.h:32:9: error: unknown type name '__darwin_intptr_t'
  typedef __darwin_intptr_t       intptr_t;
          ^
  In file included from /Users/tomleavy/git/aws-lc-rs/aws-lc-sys/aws-lc/tests/compiler_features_tests/builtin_swap_check.c:9:
  In file included from /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.4.sdk/usr/include/stdlib.h:64:
  /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.4.sdk/usr/include/_types.h:43:9: error: unknown type name '__uint32_t'
  typedef __uint32_t      __darwin_wctype_t;
          ^
  fatal error: too many errors emitted, stopping now [-ferror-limit=]
  20 errors generated.
  make[1]: *** [CMakeFiles/cmTC_3ddee.dir/builtin_swap_check.c.o] Error 1
  make: *** [cmTC_3ddee/fast] Error 2


  -- Configuring incomplete, errors occurred!

  --- stderr
  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_STATIC
  cargo:rerun-if-env-changed=AWS_LC_SYS_INCLUDES
  cargo:rerun-if-env-changed=AWS_LC_SYS_STATIC
  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.


  CMake Error at aws-lc/CMakeLists.txt:703 (elseif):
    given arguments:

      "STREQUAL" "riscv64"

    Unknown arguments specified


  thread 'main' panicked at /Users/tomleavy/.cargo/registry/src/index.crates.io-6f17d22bba15001f/cmake-0.1.50/src/lib.rs:1098:5:

  command did not execute successfully, got: exit status: 1

  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...
error: failed to run custom build command for `aws-lc-fips-sys v0.12.5 (/Users/tomleavy/git/aws-lc-rs/aws-lc-fips-sys)`

Caused by:
  process didn't exit successfully: `/Users/tomleavy/git/aws-lc-rs/target/debug/build/aws-lc-fips-sys-021df60f973f7d1f/build-script-main` (exit status: 101)
  --- stdout
  cargo:rustc-cfg=use_bindgen_generated
  CMAKE_TOOLCHAIN_FILE_x86_64-apple-ios = None
  CMAKE_TOOLCHAIN_FILE_x86_64_apple_ios = None
  TARGET_CMAKE_TOOLCHAIN_FILE = None
  CMAKE_TOOLCHAIN_FILE = None
  CMAKE_GENERATOR_x86_64-apple-ios = None
  CMAKE_GENERATOR_x86_64_apple_ios = None
  TARGET_CMAKE_GENERATOR = None
  CMAKE_GENERATOR = None
  CMAKE_PREFIX_PATH_x86_64-apple-ios = None
  CMAKE_PREFIX_PATH_x86_64_apple_ios = None
  TARGET_CMAKE_PREFIX_PATH = None
  CMAKE_PREFIX_PATH = None
  CMAKE_x86_64-apple-ios = None
  CMAKE_x86_64_apple_ios = None
  TARGET_CMAKE = None
  CMAKE = Some("cmake")
  running: cd "/Users/tomleavy/git/aws-lc-rs/target/x86_64-apple-ios/debug/build/aws-lc-fips-sys-9e3b325de1149101/out/build" && CMAKE_PREFIX_PATH="" "cmake" "/Users/tomleavy/git/aws-lc-rs/aws-lc-fips-sys" "-DBUILD_SHARED_LIBS=1" "-DCMAKE_BUILD_TYPE=debug" "-DBORINGSSL_PREFIX=aws_lc_fips_0_12_5_" "-DBORINGSSL_PREFIX_HEADERS=/Users/tomleavy/git/aws-lc-rs/aws-lc-fips-sys/generated-include" "-DBUILD_TESTING=OFF" "-DBUILD_LIBSSL=OFF" "-DCMAKE_SYSTEM_NAME=iOS" "-DFIPS=1" "-DCMAKE_INSTALL_PREFIX=/Users/tomleavy/git/aws-lc-rs/target/x86_64-apple-ios/debug/build/aws-lc-fips-sys-9e3b325de1149101/out" "-DCMAKE_C_FLAGS= -fPIC -m64 --target=x86_64-apple-ios -m64 -mios-simulator-version-min=17.4 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator17.4.sdk" "-DCMAKE_C_COMPILER=/usr/bin/clang" "-DCMAKE_CXX_FLAGS= -fPIC -m64 --target=x86_64-apple-ios -m64 -mios-simulator-version-min=17.4 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator17.4.sdk" "-DCMAKE_CXX_COMPILER=/usr/bin/clang++" "-DCMAKE_ASM_FLAGS= -fPIC -m64 --target=x86_64-apple-ios -m64 -mios-simulator-version-min=17.4 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator17.4.sdk" "-DCMAKE_ASM_COMPILER=/usr/bin/clang" "--no-warn-unused-cli"
  Not searching for unused variables given on the command line.
  -- stdalign_check.c probe is negative, NOT enabling AWS_LC_STDALIGN_AVAILABLE:
  --     Change Dir: '/Users/tomleavy/git/aws-lc-rs/target/x86_64-apple-ios/debug/build/aws-lc-fips-sys-9e3b325de1149101/out/build/aws-lc/CMakeFiles/CMakeTmp'

  Run Build Command(s): /opt/homebrew/Cellar/cmake/3.28.1/bin/cmake -E env VERBOSE=1 /usr/bin/make -f Makefile cmTC_37c68/fast
  /Applications/Xcode.app/Contents/Developer/usr/bin/make  -f CMakeFiles/cmTC_37c68.dir/build.make CMakeFiles/cmTC_37c68.dir/build
  Building C object CMakeFiles/cmTC_37c68.dir/stdalign_check.c.o
  /usr/bin/clang   -fPIC -m64 --target=x86_64-apple-ios -m64 -mios-simulator-version-min=17.4 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator17.4.sdk -fno-function-sections -fno-data-sections -std=c99 -fvisibility=hidden -Wall -Wextra -Wno-unused-parameter -Werror -Wunused -Wcomment -Wchar-subscripts -Wuninitialized -Wshadow -Wwrite-strings -Wformat-security -Wunused-result  -Wvla -Wtype-limits -Werror -Wformat=2 -Wsign-compare -Wmissing-field-initializers -Wwrite-strings -ggdb -Wall -fvisibility=hidden -fno-common -Wnewline-eof -fcolor-diagnostics -Wstring-concatenation -Wimplicit-fallthrough -Wmissing-prototypes -Wold-style-definition -Wstrict-prototypes  -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.4.sdk   -Werror -MD -MT CMakeFiles/cmTC_37c68.dir/stdalign_check.c.o -MF CMakeFiles/cmTC_37c68.dir/stdalign_check.c.o.d -o CMakeFiles/cmTC_37c68.dir/stdalign_check.c.o -c /Users/tomleavy/git/aws-lc-rs/aws-lc-fips-sys/aws-lc/tests/compiler_features_tests/stdalign_check.c
  In file included from /Users/tomleavy/git/aws-lc-rs/aws-lc-fips-sys/aws-lc/tests/compiler_features_tests/stdalign_check.c:8:
  In file included from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/15.0.0/include/stdint.h:52:
  In file included from /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.4.sdk/usr/include/stdint.h:52:
  In file included from /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.4.sdk/usr/include/sys/_types.h:32:
  /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.4.sdk/usr/include/sys/cdefs.h:1010:2: error: Unsupported architecture
  #error Unsupported architecture
   ^
  In file included from /Users/tomleavy/git/aws-lc-rs/aws-lc-fips-sys/aws-lc/tests/compiler_features_tests/stdalign_check.c:8:
  In file included from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/15.0.0/include/stdint.h:52:
  In file included from /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.4.sdk/usr/include/stdint.h:52:
  In file included from /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.4.sdk/usr/include/sys/_types.h:33:
  /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.4.sdk/usr/include/machine/_types.h:34:2: error: architecture not supported
  #error architecture not supported
   ^
  In file included from /Users/tomleavy/git/aws-lc-rs/aws-lc-fips-sys/aws-lc/tests/compiler_features_tests/stdalign_check.c:8:
  In file included from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/15.0.0/include/stdint.h:52:
  In file included from /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.4.sdk/usr/include/stdint.h:52:
  /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.4.sdk/usr/include/sys/_types.h:55:9: error: unknown type name '__int64_t'
  typedef __int64_t       __darwin_blkcnt_t;      /* total blocks */
          ^
  /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.4.sdk/usr/include/sys/_types.h:56:9: error: unknown type name '__int32_t'
  typedef __int32_t       __darwin_blksize_t;     /* preferred block size */
          ^
  /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.4.sdk/usr/include/sys/_types.h:57:9: error: unknown type name '__int32_t'
  typedef __int32_t       __darwin_dev_t;         /* dev_t */
          ^
  /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.4.sdk/usr/include/sys/_types.h:60:9: error: unknown type name '__uint32_t'
  typedef __uint32_t      __darwin_gid_t;         /* [???] process and group IDs */
          ^
  /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.4.sdk/usr/include/sys/_types.h:61:9: error: unknown type name '__uint32_t'
  typedef __uint32_t      __darwin_id_t;          /* [XSI] pid_t, uid_t, or gid_t*/
          ^
  /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.4.sdk/usr/include/sys/_types.h:62:9: error: unknown type name '__uint64_t'; did you mean 'uint64_t'?
  typedef __uint64_t      __darwin_ino64_t;       /* [???] Used for 64 bit inodes */
          ^
  /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.4.sdk/usr/include/_types/_uint64_t.h:31:28: note: 'uint64_t' declared here
  typedef unsigned long long uint64_t;
                             ^
  In file included from /Users/tomleavy/git/aws-lc-rs/aws-lc-fips-sys/aws-lc/tests/compiler_features_tests/stdalign_check.c:8:
  In file included from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/15.0.0/include/stdint.h:52:
  In file included from /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.4.sdk/usr/include/stdint.h:52:
  /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.4.sdk/usr/include/sys/_types.h:68:9: error: unknown type name '__darwin_natural_t'
  typedef __darwin_natural_t __darwin_mach_port_name_t; /* Used by mach */
          ^
  /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.4.sdk/usr/include/sys/_types.h:70:9: error: unknown type name '__uint16_t'
  typedef __uint16_t      __darwin_mode_t;        /* [???] Some file attributes */
          ^
  /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.4.sdk/usr/include/sys/_types.h:71:9: error: unknown type name '__int64_t'
  typedef __int64_t       __darwin_off_t;         /* [???] Used for file sizes */
          ^
  /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.4.sdk/usr/include/sys/_types.h:72:9: error: unknown type name '__int32_t'
  typedef __int32_t       __darwin_pid_t;         /* [???] process and group IDs */
          ^
  /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.4.sdk/usr/include/sys/_types.h:73:9: error: unknown type name '__uint32_t'
  typedef __uint32_t      __darwin_sigset_t;      /* [???] signal set */
          ^
  /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.4.sdk/usr/include/sys/_types.h:74:9: error: unknown type name '__int32_t'
  typedef __int32_t       __darwin_suseconds_t;   /* [???] microseconds */
          ^
  /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.4.sdk/usr/include/sys/_types.h:75:9: error: unknown type name '__uint32_t'
  typedef __uint32_t      __darwin_uid_t;         /* [???] user IDs */
          ^
  /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.4.sdk/usr/include/sys/_types.h:76:9: error: unknown type name '__uint32_t'
  typedef __uint32_t      __darwin_useconds_t;    /* [???] microseconds */
          ^
  In file included from /Users/tomleavy/git/aws-lc-rs/aws-lc-fips-sys/aws-lc/tests/compiler_features_tests/stdalign_check.c:8:
  In file included from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/15.0.0/include/stdint.h:52:
  In file included from /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.4.sdk/usr/include/stdint.h:53:
  In file included from /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.4.sdk/usr/include/sys/_types/_intptr_t.h:30:
  /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.4.sdk/usr/include/machine/types.h:37:2: error: architecture not supported
  #error architecture not supported
   ^
  In file included from /Users/tomleavy/git/aws-lc-rs/aws-lc-fips-sys/aws-lc/tests/compiler_features_tests/stdalign_check.c:8:
  In file included from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/15.0.0/include/stdint.h:52:
  In file included from /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.4.sdk/usr/include/stdint.h:53:
  /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.4.sdk/usr/include/sys/_types/_intptr_t.h:32:9: error: unknown type name '__darwin_intptr_t'
  typedef __darwin_intptr_t       intptr_t;
          ^
  In file included from /Users/tomleavy/git/aws-lc-rs/aws-lc-fips-sys/aws-lc/tests/compiler_features_tests/stdalign_check.c:10:
  In file included from /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.4.sdk/usr/include/stdlib.h:64:
  /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.4.sdk/usr/include/_types.h:43:9: error: unknown type name '__uint32_t'
  typedef __uint32_t      __darwin_wctype_t;
          ^
  fatal error: too many errors emitted, stopping now [-ferror-limit=]
  20 errors generated.
  make[1]: *** [CMakeFiles/cmTC_37c68.dir/stdalign_check.c.o] Error 1
  make: *** [cmTC_37c68/fast] Error 2


  -- builtin_swap_check.c probe is negative, NOT enabling AWS_LC_BUILTIN_SWAP_SUPPORTED:
  --     Change Dir: '/Users/tomleavy/git/aws-lc-rs/target/x86_64-apple-ios/debug/build/aws-lc-fips-sys-9e3b325de1149101/out/build/aws-lc/CMakeFiles/CMakeTmp'

  Run Build Command(s): /opt/homebrew/Cellar/cmake/3.28.1/bin/cmake -E env VERBOSE=1 /usr/bin/make -f Makefile cmTC_fb297/fast
  /Applications/Xcode.app/Contents/Developer/usr/bin/make  -f CMakeFiles/cmTC_fb297.dir/build.make CMakeFiles/cmTC_fb297.dir/build
  Building C object CMakeFiles/cmTC_fb297.dir/builtin_swap_check.c.o
  /usr/bin/clang   -fPIC -m64 --target=x86_64-apple-ios -m64 -mios-simulator-version-min=17.4 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator17.4.sdk -fno-function-sections -fno-data-sections -std=c99 -fvisibility=hidden -Wall -Wextra -Wno-unused-parameter -Werror -Wunused -Wcomment -Wchar-subscripts -Wuninitialized -Wshadow -Wwrite-strings -Wformat-security -Wunused-result  -Wvla -Wtype-limits -Werror -Wformat=2 -Wsign-compare -Wmissing-field-initializers -Wwrite-strings -ggdb -Wall -fvisibility=hidden -fno-common -Wnewline-eof -fcolor-diagnostics -Wstring-concatenation -Wimplicit-fallthrough -Wmissing-prototypes -Wold-style-definition -Wstrict-prototypes  -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.4.sdk   -Werror -MD -MT CMakeFiles/cmTC_fb297.dir/builtin_swap_check.c.o -MF CMakeFiles/cmTC_fb297.dir/builtin_swap_check.c.o.d -o CMakeFiles/cmTC_fb297.dir/builtin_swap_check.c.o -c /Users/tomleavy/git/aws-lc-rs/aws-lc-fips-sys/aws-lc/tests/compiler_features_tests/builtin_swap_check.c
  In file included from /Users/tomleavy/git/aws-lc-rs/aws-lc-fips-sys/aws-lc/tests/compiler_features_tests/builtin_swap_check.c:8:
  In file included from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/15.0.0/include/stdint.h:52:
  In file included from /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.4.sdk/usr/include/stdint.h:52:
  In file included from /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.4.sdk/usr/include/sys/_types.h:32:
  /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.4.sdk/usr/include/sys/cdefs.h:1010:2: error: Unsupported architecture
  #error Unsupported architecture
   ^
  In file included from /Users/tomleavy/git/aws-lc-rs/aws-lc-fips-sys/aws-lc/tests/compiler_features_tests/builtin_swap_check.c:8:
  In file included from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/15.0.0/include/stdint.h:52:
  In file included from /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.4.sdk/usr/include/stdint.h:52:
  In file included from /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.4.sdk/usr/include/sys/_types.h:33:
  /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.4.sdk/usr/include/machine/_types.h:34:2: error: architecture not supported
  #error architecture not supported
   ^
  In file included from /Users/tomleavy/git/aws-lc-rs/aws-lc-fips-sys/aws-lc/tests/compiler_features_tests/builtin_swap_check.c:8:
  In file included from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/15.0.0/include/stdint.h:52:
  In file included from /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.4.sdk/usr/include/stdint.h:52:
  /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.4.sdk/usr/include/sys/_types.h:55:9: error: unknown type name '__int64_t'
  typedef __int64_t       __darwin_blkcnt_t;      /* total blocks */
          ^
  /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.4.sdk/usr/include/sys/_types.h:56:9: error: unknown type name '__int32_t'
  typedef __int32_t       __darwin_blksize_t;     /* preferred block size */
          ^
  /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.4.sdk/usr/include/sys/_types.h:57:9: error: unknown type name '__int32_t'
  typedef __int32_t       __darwin_dev_t;         /* dev_t */
          ^
  /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.4.sdk/usr/include/sys/_types.h:60:9: error: unknown type name '__uint32_t'
  typedef __uint32_t      __darwin_gid_t;         /* [???] process and group IDs */
          ^
  /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.4.sdk/usr/include/sys/_types.h:61:9: error: unknown type name '__uint32_t'
  typedef __uint32_t      __darwin_id_t;          /* [XSI] pid_t, uid_t, or gid_t*/
          ^
  /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.4.sdk/usr/include/sys/_types.h:62:9: error: unknown type name '__uint64_t'; did you mean 'uint64_t'?
  typedef __uint64_t      __darwin_ino64_t;       /* [???] Used for 64 bit inodes */
          ^
  /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.4.sdk/usr/include/_types/_uint64_t.h:31:28: note: 'uint64_t' declared here
  typedef unsigned long long uint64_t;
                             ^
  In file included from /Users/tomleavy/git/aws-lc-rs/aws-lc-fips-sys/aws-lc/tests/compiler_features_tests/builtin_swap_check.c:8:
  In file included from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/15.0.0/include/stdint.h:52:
  In file included from /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.4.sdk/usr/include/stdint.h:52:
  /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.4.sdk/usr/include/sys/_types.h:68:9: error: unknown type name '__darwin_natural_t'
  typedef __darwin_natural_t __darwin_mach_port_name_t; /* Used by mach */
          ^
  /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.4.sdk/usr/include/sys/_types.h:70:9: error: unknown type name '__uint16_t'
  typedef __uint16_t      __darwin_mode_t;        /* [???] Some file attributes */
          ^
  /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.4.sdk/usr/include/sys/_types.h:71:9: error: unknown type name '__int64_t'
  typedef __int64_t       __darwin_off_t;         /* [???] Used for file sizes */
          ^
  /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.4.sdk/usr/include/sys/_types.h:72:9: error: unknown type name '__int32_t'
  typedef __int32_t       __darwin_pid_t;         /* [???] process and group IDs */
          ^
  /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.4.sdk/usr/include/sys/_types.h:73:9: error: unknown type name '__uint32_t'
  typedef __uint32_t      __darwin_sigset_t;      /* [???] signal set */
          ^
  /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.4.sdk/usr/include/sys/_types.h:74:9: error: unknown type name '__int32_t'
  typedef __int32_t       __darwin_suseconds_t;   /* [???] microseconds */
          ^
  /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.4.sdk/usr/include/sys/_types.h:75:9: error: unknown type name '__uint32_t'
  typedef __uint32_t      __darwin_uid_t;         /* [???] user IDs */
          ^
  /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.4.sdk/usr/include/sys/_types.h:76:9: error: unknown type name '__uint32_t'
  typedef __uint32_t      __darwin_useconds_t;    /* [???] microseconds */
          ^
  In file included from /Users/tomleavy/git/aws-lc-rs/aws-lc-fips-sys/aws-lc/tests/compiler_features_tests/builtin_swap_check.c:8:
  In file included from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/15.0.0/include/stdint.h:52:
  In file included from /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.4.sdk/usr/include/stdint.h:53:
  In file included from /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.4.sdk/usr/include/sys/_types/_intptr_t.h:30:
  /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.4.sdk/usr/include/machine/types.h:37:2: error: architecture not supported
  #error architecture not supported
   ^
  In file included from /Users/tomleavy/git/aws-lc-rs/aws-lc-fips-sys/aws-lc/tests/compiler_features_tests/builtin_swap_check.c:8:
  In file included from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/15.0.0/include/stdint.h:52:
  In file included from /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.4.sdk/usr/include/stdint.h:53:
  /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.4.sdk/usr/include/sys/_types/_intptr_t.h:32:9: error: unknown type name '__darwin_intptr_t'
  typedef __darwin_intptr_t       intptr_t;
          ^
  In file included from /Users/tomleavy/git/aws-lc-rs/aws-lc-fips-sys/aws-lc/tests/compiler_features_tests/builtin_swap_check.c:9:
  In file included from /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.4.sdk/usr/include/stdlib.h:64:
  /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.4.sdk/usr/include/_types.h:43:9: error: unknown type name '__uint32_t'
  typedef __uint32_t      __darwin_wctype_t;
          ^
  fatal error: too many errors emitted, stopping now [-ferror-limit=]
  20 errors generated.
  make[1]: *** [CMakeFiles/cmTC_fb297.dir/builtin_swap_check.c.o] Error 1
  make: *** [cmTC_fb297/fast] Error 2


  -- Configuring incomplete, errors occurred!

  --- stderr
  cargo:rerun-if-env-changed=AWS_LC_FIPS_SYS_STATIC
  cargo:rerun-if-env-changed=AWS_LC_RUST_INTERNAL_BINDGEN
  cargo:rerun-if-env-changed=AWS_LC_FIPS_SYS_INCLUDES
  cargo:rerun-if-env-changed=AWS_LC_FIPS_SYS_STATIC
  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.


  CMake Error at aws-lc/CMakeLists.txt:711 (elseif):
    given arguments:

      "STREQUAL" "riscv64"

    Unknown arguments specified


  thread 'main' panicked at /Users/tomleavy/.cargo/registry/src/index.crates.io-6f17d22bba15001f/cmake-0.1.50/src/lib.rs:1098:5:

  command did not execute successfully, got: exit status: 1

  build script failed, must exit now
  note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
...

Build failed at target: aarch64-pc-windows-msvc

Problem:

My application is using tokio-rustls 0.26.0, and tokio-rustls relies on aws_lc_rs. I built my app on github action and it failed to build on aarch64-pc-windows-msvc. Can someone help me?

github action config

  build-aarch64-windows:
    runs-on: windows-latest
    steps:
      - uses: actions/checkout@v4
      - name: Setup Rust
        uses: actions-rust-lang/setup-rust-toolchain@v1
        with:
          toolchain: stable
          target: aarch64-pc-windows-msvc

      - name: Install NASM for tokio-rustls(aws-lc-rs) on Windows
        uses: ilammy/setup-nasm@v1

      - name: Install ninja-build tool for tokio-rustls(aws-lc-rs) on Windows
        uses: seanmiddleditch/gha-setup-ninja@v4

      - name: Build aarch64-pc-windows-msvc
        working-directory: ./windSend-rs
        run: cargo build --target aarch64-pc-windows-msvc --verbose

Build log:

error: failed to run custom build command for `aws-lc-sys v0.13.3`
note: To improve backtraces for build dependencies, set the CARGO_PROFILE_DEV_BUILD_OVERRIDE_DEBUG=true environment variable to enable debug information generation.

Caused by:
  process didn't exit successfully: `D:\a\WindSend\WindSend\windSend-rs\target\debug\build\aws-lc-sys-9ef1db5a918cb67b\build-script-main` (exit code: 101)
  --- stdout
  cargo:rustc-cfg=use_bindgen_generated
  CMAKE_TOOLCHAIN_FILE_aarch64-pc-windows-msvc = None
  CMAKE_TOOLCHAIN_FILE_aarch64_pc_windows_msvc = None
  TARGET_CMAKE_TOOLCHAIN_FILE = None
  CMAKE_TOOLCHAIN_FILE = None
  CMAKE_GENERATOR_aarch64-pc-windows-msvc = None
  CMAKE_GENERATOR_aarch64_pc_windows_msvc = None
  TARGET_CMAKE_GENERATOR = None
  CMAKE_GENERATOR = None
  CMAKE_PREFIX_PATH_aarch64-pc-windows-msvc = None
  CMAKE_PREFIX_PATH_aarch64_pc_windows_msvc = None
  TARGET_CMAKE_PREFIX_PATH = None
  CMAKE_PREFIX_PATH = None
  CMAKE_aarch64-pc-windows-msvc = None
  CMAKE_aarch64_pc_windows_msvc = None
  TARGET_CMAKE = None
  CMAKE = Some("cmake")
  running: "cmake" "C:\\Users\\runneradmin\\.cargo\\registry\\src\\index.crates.io-6f17d22bba15001f\\aws-lc-sys-0.13.3" "-G" "Visual Studio 17 2022" "-Thost=x64" "-AARM64" "-DBUILD_SHARED_LIBS=0" "-DCMAKE_BUILD_TYPE=debug" "-DBORINGSSL_PREFIX=aws_lc_0_13_3_" "-DBORINGSSL_PREFIX_HEADERS=C:\\Users\\runneradmin\\.cargo\\registry\\src\\index.crates.io-6f17d22bba15001f\\aws-lc-sys-0.13.3\\generated-include" "-DBUILD_TESTING=OFF" "-DBUILD_LIBSSL=OFF" "-DDISABLE_PERL=ON" "-DDISABLE_GO=ON" "-DCMAKE_SYSTEM_NAME=Windows" "-DCMAKE_SYSTEM_PROCESSOR=ARM64" "-DCMAKE_INSTALL_PREFIX=D:\\a\\WindSend\\WindSend\\windSend-rs\\target\\aarch64-pc-windows-msvc\\debug\\build\\aws-lc-sys-f0fd55ebab3cd7b6\\out" "-DCMAKE_C_FLAGS= -nologo -MD -Brepro" "-DCMAKE_C_FLAGS_DEBUG= -nologo -MD -Brepro" "-DCMAKE_CXX_FLAGS= -nologo -MD -Brepro" "-DCMAKE_CXX_FLAGS_DEBUG= -nologo -MD -Brepro" "-DCMAKE_ASM_FLAGS= -nologo -MD -Brepro" "-DCMAKE_ASM_FLAGS_DEBUG= -nologo -MD -Brepro" "--no-warn-unused-cli"
  Not searching for unused variables given on the command line.
  -- Selecting Windows SDK version 10.0.22621.0 to target Windows .
  -- The C compiler identification is MSVC 19.38.33135.0
  -- Detecting C compiler ABI info
  -- Detecting C compiler ABI info - done
  -- Check for working C compiler: C:/Program Files/Microsoft Visual Studio/2022/Enterprise/VC/Tools/MSVC/14.38.33130/bin/HostX64/arm64/cl.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/
  -- The ASM compiler identification is MSVC
  -- Found assembler: C:/Program Files/Microsoft Visual Studio/2022/Enterprise/VC/Tools/MSVC/14.38.33130/bin/HostX64/arm64/cl.exe
  -- Performing Test CMAKE_HAVE_LIBC_PTHREAD
  -- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Failed
  -- Looking for pthread_create in pthreads
  -- Looking for pthread_create in pthreads - not found
  -- Looking for pthread_create in pthread
  -- Looking for pthread_create in pthread - not found
  -- Found Threads: TRUE
  -- Configuring done (41.9s)
  -- Generating done (0.1s)
  -- Build files have been written to: D:/a/WindSend/WindSend/windSend-rs/target/aarch64-pc-windows-msvc/debug/build/aws-lc-sys-f0fd55ebab3cd7b6/out/build
  running: "cmake" "--build" "." "--target" "install" "--config" "Debug" "--parallel" "4"
  MSBuild version 17.9.8+b34f75857 for .NET Framework

    1>Checking Build System
    Building Custom Rule C:/Users/runneradmin/.cargo/registry/src/index.crates.io-6f17d22bba15001f/aws-lc-sys-0.13.3/aws-lc/CMakeLists.txt
    Building Custom Rule C:/Users/runneradmin/.cargo/registry/src/index.crates.io-6f17d22bba15001f/aws-lc-sys-0.13.3/aws-lc/crypto/CMakeLists.txt
    Building Custom Rule C:/Users/runneradmin/.cargo/registry/src/index.crates.io-6f17d22bba15001f/aws-lc-sys-0.13.3/aws-lc/crypto/fipsmodule/CMakeLists.txt
    bcm.c
    a_bitstr.c
    a_bool.c
    a_d2i_fp.c
    a_dup.c
    a_gentm.c
    a_i2d_fp.c
    a_int.c
    a_mbstr.c
    fips_shared_support.c
    cpucap.c
    a_object.c
    Generating Code...
    a_octet.c
    a_strex.c
    a_strnid.c
    a_time.c
    a_type.c
    a_utctm.c
    a_utf8.c
    asn1_lib.c
    asn1_par.c
    asn_pack.c
    f_int.c
    Generating Code...
    Compiling...
    f_string.c
    tasn_dec.c
    tasn_enc.c
    tasn_fre.c
    tasn_new.c
    tasn_typ.c
    tasn_utl.c
    posix_time.c
    base64.c
    bio.c
    bio_mem.c
    connect.c
    fd.c
    file.c
    hexdump.c
    pair.c
    printf.c
    socket.c
    fipsmodule.vcxproj -> D:\a\WindSend\WindSend\windSend-rs\target\aarch64-pc-windows-msvc\debug\build\aws-lc-sys-f0fd55ebab3cd7b6\out\build\aws-lc\crypto\fipsmodule\fipsmodule.dir\Debug\fipsmodule.lib
    socket_helper.c
    blake2.c
    Generating Code...
    Compiling...
    bn_asn1.c
    convert.c
    buf.c
    asn1_compat.c
    ber.c
    cbb.c
    cbs.c
    unicode.c
    chacha.c
    cipher_extra.c
    derive_key.c
    e_aesctrhmac.c
    e_aesgcmsiv.c
    e_chacha20poly1305.c
    e_aes_cbc_hmac_sha1.c
    e_aes_cbc_hmac_sha256.c
    e_des.c
    e_null.c
    e_rc2.c
    e_rc4.c
    Generating Code...
    Compiling...
    e_tls.c
    tls_cbc.c
    conf.c
    crypto.c
    curve25519.c
    curve25519_nohw.c
    curve25519_s2n_bignum_asm.c
    spake25519.c
    des.c
    params.c
    dh_asn1.c
    digest_extra.c
    dsa.c
    dsa_asn1.c
    ecdh_extra.c
    ecdsa_asn1.c
    ec_asn1.c
    ec_derive.c
    hash_to_curve.c
    err.c
    Generating Code...
    Compiling...
    err_data.c
    engine.c
    evp_asn1.c
    p_dsa_asn1.c
    p_ec_asn1.c
    p_ed25519.c
    p_ed25519_asn1.c
    p_hmac_asn1.c
    p_kem.c
    p_kem_asn1.c
    p_rsa_asn1.c
    p_x25519.c
    p_x25519_asn1.c
    p_methods.c
    print.c
    scrypt.c
    sign.c
    ex_data.c
    hpke.c
    hrss.c
    Generating Code...
    Compiling...
    kem.c
    kem_methods.c
    kyber512r3_ref.c
    kyber768r3_ref.c
    kyber1024r3_ref.c
    fips202.c
    kem_kyber.c
    lhash.c
    mem.c
    obj.c
    obj_xref.c
    ocsp_asn.c
    ocsp_client.c
    ocsp_extension.c
    ocsp_http.c
    ocsp_lib.c
    ocsp_print.c
    ocsp_server.c
    ocsp_verify.c
    pem_all.c
    Generating Code...
    Compiling...
    pem_info.c
    pem_lib.c
    pem_oth.c
    pem_pk8.c
    pem_pkey.c
    pem_x509.c
    pem_xaux.c
    pkcs7.c
    pkcs7_x509.c
    pkcs8.c
    pkcs8_x509.c
    p5_pbev2.c
    poly1305.c
    poly1305_arm.c
    poly1305_vec.c
    pool.c
    deterministic.c
    entropy_passive.c
    forkunsafe.c
    fuchsia.c
    Generating Code...
    Compiling...
    rand_extra.c
    pq_custom_randombytes.c
    trusty.c
    windows.c
    rc4.c
    refcount_c11.c
    refcount_lock.c
    refcount_win.c
    rsa_asn1.c
    rsassa_pss_asn1.c
    rsa_print.c
    stack.c
    siphash.c
    thread.c
    thread_none.c
    thread_pthread.c
    thread_win.c
    pmbtoken.c
    trust_token.c
    voprf.c
    Generating Code...
    Compiling...
    a_digest.c
    a_sign.c
    a_verify.c
    algorithm.c
    asn1_gen.c
    by_dir.c
    by_file.c
    i2d_pr.c
    name_print.c
    policy.c
    rsa_pss.c
    t_crl.c
    t_req.c
    t_x509.c
    t_x509a.c
    x509.c
    x509_att.c
    x509_cmp.c
    x509_d2.c
    x509_def.c
    Generating Code...
    Compiling...
    x509_ext.c
    x509_lu.c
    x509_obj.c
    x509_req.c
    x509_set.c
    x509_trs.c
    x509_txt.c
    x509_v3.c
    x509_vfy.c
    x509_vpm.c
    x509cset.c
    x509name.c
    x509rset.c
    x509spki.c
    x_algor.c
    x_all.c
    x_attrib.c
    x_crl.c
    x_exten.c
    x_info.c
    Generating Code...
    Compiling...
    x_name.c
    x_pkey.c
    x_pubkey.c
    x_req.c
    x_sig.c
    x_spki.c
    x_val.c
    x_x509.c
    x_x509a.c
    v3_akey.c
    v3_akeya.c
    v3_alt.c
    v3_bcons.c
    v3_bitst.c
    v3_conf.c
    v3_cpols.c
    v3_crld.c
    v3_enum.c
    v3_extku.c
    v3_genn.c
    Generating Code...
    Compiling...
    v3_ia5.c
    v3_info.c
    v3_int.c
    v3_lib.c
    v3_ncons.c
    v3_ocsp.c
    v3_pcons.c
    v3_pmaps.c
    v3_prn.c
    v3_purp.c
    v3_skey.c
    v3_utl.c
    base64_bio.c
    blowfish.c
    cast.c
    cast_tables.c
    cfb.c
    dh_decrepit.c
    evp_do_all.c
    ripemd.c
    Generating Code...
    Compiling...
    rsa_decrepit.c
    x509_decrepit.c
    Generating Code...
    crypto_objects.vcxproj -> D:\a\WindSend\WindSend\windSend-rs\target\aarch64-pc-windows-msvc\debug\build\aws-lc-sys-f0fd55ebab3cd7b6\out\build\aws-lc\crypto\crypto_objects.dir\Debug\crypto_objects.lib
    Building Custom Rule C:/Users/runneradmin/.cargo/registry/src/index.crates.io-6f17d22bba15001f/aws-lc-sys-0.13.3/aws-lc/crypto/CMakeLists.txt
  LINK : fatal error LNK1181: cannot open input file 'D:\a\WindSend\WindSend\windSend-rs\target\aarch64-pc-windows-msvc\debug\build\aws-lc-sys-f0fd55ebab3cd7b6\out\build\aws-lc\crypto\crypto_objects.dir\Debug\chacha-armv8.obj' [D:\a\WindSend\WindSend\windSend-rs\target\aarch64-pc-windows-msvc\debug\build\aws-lc-sys-f0fd55ebab3cd7b6\out\build\aws-lc\crypto\crypto.vcxproj]

  --- 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.13.3/aws-lc/generated-src/win-aarch64/crypto/ to D:/a/WindSend/WindSend/windSend-rs/target/aarch64-pc-windows-msvc/debug/build/aws-lc-sys-f0fd55ebab3cd7b6/out/build/aws-lc/crypto
  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: 1

  build script failed, must exit now
  stack backtrace:
     0: std::panicking::begin_panic_handler
               at /rustc/aedd173a2c086e558c2b66d3743b344f[977](https://github.com/doraemonkeys/WindSend/actions/runs/8450765895/job/23147643919#step:4:978)621a7/library\std\src\panicking.rs:647
     1: core::panicking::panic_fmt
               at /rustc/aedd173a2c086e558c2b66d3743b344f977621a7/library\core\src\panicking.rs:72
     2: cmake::find_exe::{{closure}}
     3: <cmake::Version as core::default::Default>::default
     4: cmake::Config::build
     5: build_script_main::cmake_builder::CmakeBuilder::prepare_cmake_build::{{closure}}
     6: <build_script_main::cmake_builder::CmakeBuilder as build_script_main::Builder>::build
     7: build_script_main::target
     8: core::ops::function::FnOnce::call_once
  note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
Error: Process completed with exit code 1.

no_std support?

Hi there ๐Ÿ‘‹ Thanks for the great library :-)

Problem:

The rustls fork of webpki relies on ring for its cryptographic operations, as well as some DER parsing (mostly via ring helpers/re-exports of untrusted).

aws-lc-rs is a very tempting alternative to ring, especially with the amazing API compatibility you've provided. It truly is a near drop-in replacement. The main issue I can see with replacing ring with aws-lc-rs outright in webpki is that we have support for no_std builds via feature flags.

The aws-lc-rs ring compatibility docs note that there is not support for no_std in this crate, meaning if we want to replace ring with aws-lc-rs we would have to drop our no_std support. That would be unfortunate because one of the development priorities we have for the Rustls ecosystem is to support no_std throughout.

I'm filing this issue to find out if no_std support is something that's on your radar to support eventually (and to provide a use-case that would benefit from the work), of if it's a non-goal for the project.

Thanks!

actions-rs no longer mantained

Problem:

The entire actions-rs organization and repositories has been marked as archived as the projects are no longer maintained. Need to investigate a new set of GitHub actions we can use to replace our existing usage before we inevitably hit some surprise breakage.

How to use this library with aws-rust-sdk for fips compliance?

Problem:

My application talks to AWS S3 using aws-rust-sdk. I need to make it FIPS compliant. How can I make it use aws-lc-rs and enforce FIPS mode?

Solution:

Any guidance and examples would be appreciated. I didn't find any info regarding this on both the aws-rust-sdk and aws-lc-rs repos.

Support building using pre-generated sources on windows-x86_64

Problem:

At the minute building on windows-x86_64 gives this output (full log below):

(...)
  -- 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/
  -- The ASM_NASM compiler identification is NASM
  -- Found assembler: C:/Users/runneradmin/nasm/nasm.exe
  -- C:/Users/runneradmin/.cargo/registry/src/index.crates.io-6f17d22bba15001f/aws-lc-sys-0.9.0/aws-lc/generated-src/win-x86_64/crypto/ assembly files do not exist.
(...)

  CMake Error at aws-lc/crypto/CMakeLists.txt:286 (add_library):
    Cannot find source file:

      chacha/chacha-x86_64.asm

    Tried extensions .c .C .c++ .cc .cpp .cxx .cu .mpp .m .M .mm .ixx .cppm
    .ccm .cxxm .c++m .h .hh .h++ .hm .hpp .hxx .in .txx .f .F .for .f77 .f90
    .f95 .f03 .hip .ispc

(...)

Relevant details

aws-lc-rs-sys 0.9.0 only contains generated-src for win-aarch64.

https://aws.github.io/aws-lc-rs/requirements/windows.html doesn't mention requirement for Perl or golang.

Build log:

error: failed to run custom build command for `aws-lc-sys v0.9.0`
note: To improve backtraces for build dependencies, set the CARGO_PROFILE_TEST_BUILD_OVERRIDE_DEBUG=true environment variable to enable debug information generation.

Caused by:
  process didn't exit successfully: `D:\a\rustls\rustls\target\debug\build\aws-lc-sys-a3156c0dfbf5[74](https://github.com/rustls/rustls/actions/runs/5963826710/job/16177790487?pr=1414#step:6:75)53\build-script-main` (exit code: 101)
  --- stdout
  cargo:rustc-cfg=use_bindgen_generated
  CMAKE_TOOLCHAIN_FILE_x86_64-pc-windows-msvc = None
  CMAKE_TOOLCHAIN_FILE_x86_64_pc_windows_msvc = None
  HOST_CMAKE_TOOLCHAIN_FILE = None
  CMAKE_TOOLCHAIN_FILE = None
  CMAKE_GENERATOR_x86_64-pc-windows-msvc = None
  CMAKE_GENERATOR_x86_64_pc_windows_msvc = None
  HOST_CMAKE_GENERATOR = None
  CMAKE_GENERATOR = None
  CMAKE_PREFIX_PATH_x86_64-pc-windows-msvc = None
  CMAKE_PREFIX_PATH_x86_64_pc_windows_msvc = None
  HOST_CMAKE_PREFIX_PATH = None
  CMAKE_PREFIX_PATH = None
  CMAKE_x86_64-pc-windows-msvc = None
  CMAKE_x86_64_pc_windows_msvc = None
  HOST_CMAKE = None
  CMAKE = Some("cmake")
  running: "cmake" "C:\\Users\\runneradmin\\.cargo\\registry\\src\\index.crates.io-6f17d22bba15001f\\aws-lc-sys-0.9.0" "-G" "Visual Studio 17 2022" "-Thost=x64" "-Ax64" "-DBUILD_SHARED_LIBS=0" "-DBORINGSSL_PREFIX=aws_lc_0_9_0" "-DBORINGSSL_PREFIX_HEADERS=C:\\Users\\runneradmin\\.cargo\\registry\\src\\index.crates.io-6f17d22bba15001f\\aws-lc-sys-0.9.0\\generated-include" "-DBUILD_TESTING=OFF" "-DBUILD_LIBSSL=OFF" "-DDISABLE_PERL=ON" "-DDISABLE_GO=ON" "-DCMAKE_INSTALL_PREFIX=D:\\a\\rustls\\rustls\\target\\debug\\build\\aws-lc-sys-9cc6c10862390ca0\\out" "-DCMAKE_C_FLAGS= -nologo -MD -Brepro" "-DCMAKE_C_FLAGS_DEBUG= -nologo -MD -Brepro" "-DCMAKE_CXX_FLAGS= -nologo -MD -Brepro" "-DCMAKE_CXX_FLAGS_DEBUG= -nologo -MD -Brepro" "-DCMAKE_ASM_FLAGS= -nologo -MD -Brepro" "-DCMAKE_ASM_FLAGS_DEBUG= -nologo -MD -Brepro" "-DCMAKE_BUILD_TYPE=Debug" "--no-warn-unused-cli"
  Not searching for unused variables given on the command line.
  -- The C compiler identification is MSVC 19.35.32217.1
  -- Detecting C compiler ABI info
  -- Detecting C compiler ABI info - done
  -- Check for working C compiler: C:/Program Files/Microsoft Visual Studio/2022/Enterprise/VC/Tools/MSVC/14.35.32215/bin/HostX64/x64/cl.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/
  -- The ASM_NASM compiler identification is NASM
  -- Found assembler: C:/Users/runneradmin/nasm/nasm.exe
  -- C:/Users/runneradmin/.cargo/registry/src/index.crates.io-6f17d22bba15001f/aws-lc-sys-0.9.0/aws-lc/generated-src/win-x86_64/crypto/ assembly files do not exist.
  -- Performing Test CMAKE_HAVE_LIBC_PTHREAD
  -- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Failed
  -- Looking for pthread_create in pthreads
  -- Looking for pthread_create in pthreads - not found
  -- Looking for pthread_create in pthread
  -- Looking for pthread_create in pthread - not found
  -- Found Threads: TRUE  
  -- Configuring done (122.2s)

  --- stderr
  CMake Deprecation Warning at CMakeLists.txt:6 (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.


  CMake Error at aws-lc/crypto/CMakeLists.txt:286 (add_library):
    Cannot find source file:

      chacha/chacha-x86_64.asm

    Tried extensions .c .C .c++ .cc .cpp .cxx .cu .mpp .m .M .mm .ixx .cppm
    .ccm .cxxm .c++m .h .hh .h++ .hm .hpp .hxx .in .txx .f .F .for .f[77](https://github.com/rustls/rustls/actions/runs/5963826710/job/16177790487?pr=1414#step:6:78) .f90
    .f95 .f03 .hip .ispc


  CMake Error at aws-lc/crypto/fipsmodule/CMakeLists.txt:499 (add_library):
    Cannot find source file:

      aesni-gcm-avx512.asm

    Tried extensions .c .C .c++ .cc .cpp .cxx .cu .mpp .m .M .mm .ixx .cppm
    .ccm .cxxm .c++m .h .hh .h++ .hm .hpp .hxx .in .txx .f .F .for .f77 .f90
    .f95 .f03 .hip .ispc


  CMake Error at aws-lc/crypto/CMakeLists.txt:286 (add_library):
    No SOURCES given to target: crypto_objects


  CMake Error at aws-lc/crypto/CMakeLists.txt:542 (add_library):
    No SOURCES given to target: crypto
  Call Stack (most recent call first):
    aws-lc/crypto/CMakeLists.txt:633 (build_libcrypto)


  CMake Error at aws-lc/crypto/fipsmodule/CMakeLists.txt:499 (add_library):
    No SOURCES given to target: fipsmodule


  CMake Generate step failed.  Build files cannot be regenerated correctly.
  thread 'main' panicked at '
  command did not execute successfully, got: exit code: 1

  build script failed, must exit now', C:\Users\runneradmin\.cargo\registry\src\index.crates.io-6f17d22bba15001f\cmake-0.1.50\src\lib.rs:1098:5
  stack backtrace:
     0: std::panicking::begin_panic_handler
               at /rustc/eb26296b556cef10fb713a38f3d16b9886080f26/library\std\src\panicking.rs:593
     1: core::panicking::panic_fmt
               at /rustc/eb26296b556cef10fb713a38f3d16b9886080f26/library\core\src\panicking.rs:67
     2: cmake::find_exe::{{closure}}
     3: <cmake::Version as core::default::Default>::default
     4: cmake::Config::build
     5: build_script_main::prepare_cmake_build::{{closure}}
     6: build_script_main::prepare_cmake_build::{{closure}}
     7: core::ops::function::FnOnce::call_once
     8: <hashbrown::raw::RawTable<T,A> as core::ops::drop::Drop>::drop
     9: std::rt::lang_start::{{closure}}
    10: std::rt::lang_start_internal::closure$2
               at /rustc/eb26296b556cef10fb713a38f3d16b9886080f26/library\std\src\rt.rs:148
    11: std::panicking::try::do_call
               at /rustc/eb26296b556cef10fb713a38f3d16b9886080f26/library\std\src\panicking.rs:500
    12: std::panicking::try
               at /rustc/eb26296b556cef10fb713a38f3d16b9886080f26/library\std\src\panicking.rs:464
    13: std::panic::catch_unwind
               at /rustc/eb26296b556cef10fb713a38f3d16b9886080f26/library\std\src\panic.rs:142
    14: std::rt::lang_start_internal
               at /rustc/eb26296b556cef10fb713a38f3d16b9886080f26/library\std\src\rt.rs:148
    15: std::rt::lang_start
    16: main
    17: invoke_main
               at D:\a\_work\1\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:[78](https://github.com/rustls/rustls/actions/runs/5963826710/job/16177790487?pr=1414#step:6:79)
    18: __scrt_common_main_seh
               at D:\a\_work\1\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:2[88](https://github.com/rustls/rustls/actions/runs/5963826710/job/16177790487?pr=1414#step:6:89)
    19: BaseThreadInitThunk
    20: RtlUserThreadStart
  note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
Error: Process completed with exit code 1.

https://github.com/rustls/rustls/actions/runs/5963826710/job/16177790487?pr=1414#step:6:74

aws-lc-sys failed to build for mipsel

Problem:

aws-lc-sys v0.9.0 failed to build for mipsel.

build command:

export OPENWRT_SDK=/home/s2/openwrt-sdk-22.03.5-ramips-mt76x8_gcc-11.2.0_musl.Linux-x86_64
export PATH=$OPENWRT_SDK/staging_dir/toolchain-mipsel_24kc_gcc-11.2.0_musl/bin:$PATH
export CARGO_TARGET_MIPSEL_UNKNOWN_LINUX_MUSL_LINKER=mipsel-openwrt-linux-gcc
export CC=mipsel-openwrt-linux-gcc
cargo build --release --target mipsel-unknown-linux-musl

Relevant details

AWS-LC commit: aws-lc-sys v0.9.0

System information: for linux, below info can be collected by running uname -srvmp

  • CPU architecture: cross compile for mipsel-unknown-linux-musl
  • CPU name: target CPU: MediaTek MT7621AT
  • OS: target OS: OpenWrt 22.03
  • host: x86_64-unknown-linux-gnu (ArchLinux)

Build log:

  • The log tells compiler and version. It's available when building awslc with CMake.
   Compiling aws-lc-sys v0.9.0
error: failed to run custom build command for `aws-lc-sys v0.9.0`

Caused by:
  process didn't exit successfully: `/home/s2/test/target/release/build/aws-lc-sys-7abcb37ecf1a3586/build-script-main` (exit status: 101)
  --- stdout
  cargo:rustc-cfg=use_bindgen_generated
  CMAKE_TOOLCHAIN_FILE_mipsel-unknown-linux-musl = None
  CMAKE_TOOLCHAIN_FILE_mipsel_unknown_linux_musl = None
  TARGET_CMAKE_TOOLCHAIN_FILE = None
  CMAKE_TOOLCHAIN_FILE = None
  CMAKE_GENERATOR_mipsel-unknown-linux-musl = None
  CMAKE_GENERATOR_mipsel_unknown_linux_musl = None
  TARGET_CMAKE_GENERATOR = None
  CMAKE_GENERATOR = None
  CMAKE_PREFIX_PATH_mipsel-unknown-linux-musl = None
  CMAKE_PREFIX_PATH_mipsel_unknown_linux_musl = None
  TARGET_CMAKE_PREFIX_PATH = None
  CMAKE_PREFIX_PATH = None
  CMAKE_mipsel-unknown-linux-musl = None
  CMAKE_mipsel_unknown_linux_musl = None
  TARGET_CMAKE = None
  CMAKE = Some("cmake")
  running: cd "/home/s2/test/target/mipsel-unknown-linux-musl/release/build/aws-lc-sys-4c2fa93da43d9497/out/build" && CMAKE_PREFIX_PATH="" "cmake" "/home/s2/.cargo/registry/src/rsproxy.cn-8f6827c7555bfaf8/aws-lc-sys-0.9.0" "-DBUILD_SHARED_LIBS=0" "-DCMAKE_BUILD_TYPE=release" "-DBORINGSSL_PREFIX=aws_lc_0_9_0" "-DBORINGSSL_PREFIX_HEADERS=/home/s2/.cargo/registry/src/rsproxy.cn-8f6827c7555bfaf8/aws-lc-sys-0.9.0/generated-include" "-DBUILD_TESTING=OFF" "-DBUILD_LIBSSL=OFF" "-DDISABLE_PERL=ON" "-DDISABLE_GO=ON" "-DCMAKE_SYSTEM_NAME=Linux" "-DCMAKE_SYSTEM_PROCESSOR=mips" "-DCMAKE_INSTALL_PREFIX=/home/s2/test/target/mipsel-unknown-linux-musl/release/build/aws-lc-sys-4c2fa93da43d9497/out" "-DCMAKE_C_FLAGS= -ffunction-sections -fdata-sections -fPIC" "-DCMAKE_C_COMPILER=/home/s2/openwrt-sdk-22.03.5-ramips-mt76x8_gcc-11.2.0_musl.Linux-x86_64/staging_dir/toolchain-mipsel_24kc_gcc-11.2.0_musl/bin/mipsel-openwrt-linux-gcc" "-DCMAKE_CXX_FLAGS= -ffunction-sections -fdata-sections -fPIC" "-DCMAKE_CXX_COMPILER=mipsel-linux-musl-g++" "-DCMAKE_ASM_FLAGS= -ffunction-sections -fdata-sections -fPIC" "-DCMAKE_ASM_COMPILER=/home/s2/openwrt-sdk-22.03.5-ramips-mt76x8_gcc-11.2.0_musl.Linux-x86_64/staging_dir/toolchain-mipsel_24kc_gcc-11.2.0_musl/bin/mipsel-openwrt-linux-gcc" "--no-warn-unused-cli"
  Not searching for unused variables given on the command line.
  -- The C compiler identification is GNU 11.2.0
  -- Detecting C compiler ABI info
  -- Detecting C compiler ABI info - done
  -- Check for working C compiler: /home/s2/openwrt-sdk-22.03.5-ramips-mt76x8_gcc-11.2.0_musl.Linux-x86_64/staging_dir/toolchain-mipsel_24kc_gcc-11.2.0_musl/bin/mipsel-openwrt-linux-gcc - 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
  -- Unknown processor found. Using generic implementations. Processor:mips
  -- The ASM compiler identification is GNU
  -- Found assembler: /home/s2/openwrt-sdk-22.03.5-ramips-mt76x8_gcc-11.2.0_musl.Linux-x86_64/staging_dir/toolchain-mipsel_24kc_gcc-11.2.0_musl/bin/mipsel-openwrt-linux-gcc
  -- Detected generic linux platform. No assembly files will be included.
  -- Performing Test CMAKE_HAVE_LIBC_PTHREAD
  -- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
  -- Found Threads: TRUE  
  -- Configuring done (1.8s)
  -- Generating done (0.1s)
  -- Build files have been written to: /home/s2/test/target/mipsel-unknown-linux-musl/release/build/aws-lc-sys-4c2fa93da43d9497/out/build
  running: cd "/home/s2/test/target/mipsel-unknown-linux-musl/release/build/aws-lc-sys-4c2fa93da43d9497/out/build" && MAKEFLAGS="-j --jobserver-fds=9,10 --jobserver-auth=9,10" "cmake" "--build" "." "--target" "install" "--config" "Release"
  [  0%] Built target boringssl_prefix_symbols
  [  0%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/asn1/a_bitstr.c.o
  [  1%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/asn1/a_bool.c.o
  [  2%] Building C object aws-lc/crypto/fipsmodule/CMakeFiles/fipsmodule.dir/bcm.c.o
  [  2%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/asn1/a_d2i_fp.c.o
  [  3%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/asn1/a_dup.c.o
  [  3%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/asn1/a_gentm.c.o
  [  3%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/asn1/a_i2d_fp.c.o
  [  4%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/asn1/a_int.c.o
  [  4%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/asn1/a_mbstr.c.o
  [  5%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/asn1/a_object.c.o
  [  5%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/asn1/a_octet.c.o
  [  5%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/asn1/a_strex.c.o
  [  6%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/asn1/a_strnid.c.o
  [  6%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/asn1/a_time.c.o
  [  7%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/asn1/a_type.c.o
  [  7%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/asn1/a_utctm.c.o
  [  7%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/asn1/a_utf8.c.o
  [  8%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/asn1/asn1_lib.c.o
  [  8%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/asn1/asn1_par.c.o
  [  9%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/asn1/asn_pack.c.o
  [  9%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/asn1/f_int.c.o
  [ 10%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/asn1/f_string.c.o
  [ 10%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/asn1/tasn_dec.c.o
  [ 10%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/asn1/tasn_enc.c.o
  [ 11%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/asn1/tasn_fre.c.o
  [ 11%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/asn1/tasn_new.c.o
  [ 12%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/asn1/tasn_typ.c.o
  [ 12%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/asn1/tasn_utl.c.o
  [ 12%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/asn1/posix_time.c.o
  [ 13%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/base64/base64.c.o
  [ 13%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/bio/bio.c.o
  [ 14%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/bio/bio_mem.c.o
  [ 14%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/bio/connect.c.o
  [ 14%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/bio/fd.c.o
  [ 15%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/bio/file.c.o
  [ 15%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/bio/hexdump.c.o
  [ 16%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/bio/pair.c.o
  [ 16%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/bio/printf.c.o
  [ 17%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/bio/socket.c.o
  [ 17%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/bio/socket_helper.c.o
  [ 17%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/blake2/blake2.c.o
  [ 18%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/bn_extra/bn_asn1.c.o
  [ 18%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/bn_extra/convert.c.o
  [ 19%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/buf/buf.c.o
  [ 19%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/bytestring/asn1_compat.c.o
  [ 19%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/bytestring/ber.c.o
  [ 20%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/bytestring/cbb.c.o
  [ 20%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/bytestring/cbs.c.o
  [ 21%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/bytestring/unicode.c.o
  [ 21%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/chacha/chacha.c.o
  [ 21%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/cipher_extra/cipher_extra.c.o
  [ 22%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/cipher_extra/derive_key.c.o
  [ 22%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/cipher_extra/e_aesctrhmac.c.o
  [ 23%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/cipher_extra/e_aesgcmsiv.c.o
  [ 23%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/cipher_extra/e_chacha20poly1305.c.o
  [ 24%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/cipher_extra/e_aes_cbc_hmac_sha1.c.o
  [ 24%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/cipher_extra/e_aes_cbc_hmac_sha256.c.o
  [ 24%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/cipher_extra/e_des.c.o
  [ 25%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/cipher_extra/e_null.c.o
  [ 25%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/cipher_extra/e_rc2.c.o
  [ 26%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/cipher_extra/e_rc4.c.o
  [ 26%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/cipher_extra/e_tls.c.o
  [ 26%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/cipher_extra/tls_cbc.c.o
  [ 27%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/conf/conf.c.o
  [ 27%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/crypto.c.o
  [ 28%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/curve25519/curve25519.c.o
  [ 28%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/curve25519/curve25519_nohw.c.o
  [ 28%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/curve25519/spake25519.c.o
  [ 29%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/des/des.c.o
  [ 29%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/dh_extra/params.c.o
  [ 30%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/dh_extra/dh_asn1.c.o
  [ 30%] Building C object aws-lc/crypto/fipsmodule/CMakeFiles/fipsmodule.dir/fips_shared_support.c.o
  [ 31%] Building C object aws-lc/crypto/fipsmodule/CMakeFiles/fipsmodule.dir/cpucap/cpucap.c.o
  [ 31%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/digest_extra/digest_extra.c.o
  [ 32%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/dsa/dsa.c.o
  [ 32%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/dsa/dsa_asn1.c.o
  [ 32%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/ecdh_extra/ecdh_extra.c.o
  [ 33%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/ecdsa_extra/ecdsa_asn1.c.o
  [ 33%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/ec_extra/ec_asn1.c.o
  [ 34%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/ec_extra/ec_derive.c.o
  [ 34%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/ec_extra/hash_to_curve.c.o
  [ 34%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/err/err.c.o
  [ 35%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/err_data.c.o
  [ 35%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/engine/engine.c.o
  [ 36%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/evp_extra/evp_asn1.c.o
  [ 36%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/evp_extra/p_dsa_asn1.c.o
  [ 36%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/evp_extra/p_ec_asn1.c.o
  [ 37%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/evp_extra/p_ed25519.c.o
  [ 37%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/evp_extra/p_ed25519_asn1.c.o
  [ 38%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/evp_extra/p_kem.c.o
  [ 38%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/evp_extra/p_kem_asn1.c.o
  [ 39%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/evp_extra/p_rsa_asn1.c.o
  [ 39%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/evp_extra/p_x25519.c.o
  [ 39%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/evp_extra/p_x25519_asn1.c.o
  [ 40%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/evp_extra/p_methods.c.o
  [ 40%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/evp_extra/print.c.o
  [ 41%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/evp_extra/scrypt.c.o
  [ 41%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/evp_extra/sign.c.o
  [ 41%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/ex_data.c.o
  [ 42%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/hpke/hpke.c.o
  [ 42%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/hrss/hrss.c.o
  [ 43%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/kem/kem.c.o
  [ 43%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/kem/kem_methods.c.o
  [ 43%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/kyber/kyber512r3_ref.c.o
  [ 44%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/kyber/kyber768r3_ref.c.o
  [ 44%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/kyber/kyber1024r3_ref.c.o
  [ 45%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/kyber/pqcrystals_kyber_ref_common/fips202.c.o
  [ 45%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/kyber/kem_kyber.c.o
  [ 46%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/lhash/lhash.c.o
  [ 46%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/mem.c.o
  [ 46%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/obj/obj.c.o
  [ 47%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/obj/obj_xref.c.o
  [ 47%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/ocsp/ocsp_asn.c.o
  [ 48%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/ocsp/ocsp_client.c.o
  [ 48%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/ocsp/ocsp_extension.c.o
  [ 48%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/ocsp/ocsp_http.c.o
  [ 49%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/ocsp/ocsp_lib.c.o
  [ 49%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/ocsp/ocsp_print.c.o
  [ 50%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/ocsp/ocsp_server.c.o
  [ 50%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/ocsp/ocsp_verify.c.o
  [ 50%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/pem/pem_all.c.o
  [ 51%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/pem/pem_info.c.o
  [ 51%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/pem/pem_lib.c.o
  [ 52%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/pem/pem_oth.c.o
  [ 52%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/pem/pem_pk8.c.o

  --- stderr
  CMake Deprecation Warning at CMakeLists.txt:6 (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.


  mipsel-openwrt-linux-gcc: warning: environment variable 'STAGING_DIR' not defined
  mipsel-openwrt-linux-gcc: warning: environment variable 'STAGING_DIR' not defined
  mipsel-openwrt-linux-gcc: warning: environment variable 'STAGING_DIR' not defined
  mipsel-openwrt-linux-gcc: warning: environment variable 'STAGING_DIR' not defined
  mipsel-openwrt-linux-gcc: warning: environment variable 'STAGING_DIR' not defined
  mipsel-openwrt-linux-gcc: warning: environment variable 'STAGING_DIR' not defined
  mipsel-openwrt-linux-gcc: warning: environment variable 'STAGING_DIR' not defined
  mipsel-openwrt-linux-gcc: warning: environment variable 'STAGING_DIR' not defined
  mipsel-openwrt-linux-gcc: warning: environment variable 'STAGING_DIR' not defined
  mipsel-openwrt-linux-gcc: warning: environment variable 'STAGING_DIR' not defined
  mipsel-openwrt-linux-gcc: warning: environment variable 'STAGING_DIR' not defined
  mipsel-openwrt-linux-gcc: warning: environment variable 'STAGING_DIR' not defined
  mipsel-openwrt-linux-gcc: warning: environment variable 'STAGING_DIR' not defined
  mipsel-openwrt-linux-gcc: warning: environment variable 'STAGING_DIR' not defined
  mipsel-openwrt-linux-gcc: warning: environment variable 'STAGING_DIR' not defined
  mipsel-openwrt-linux-gcc: warning: environment variable 'STAGING_DIR' not defined
  mipsel-openwrt-linux-gcc: warning: environment variable 'STAGING_DIR' not defined
  mipsel-openwrt-linux-gcc: warning: environment variable 'STAGING_DIR' not defined
  mipsel-openwrt-linux-gcc: warning: environment variable 'STAGING_DIR' not defined
  mipsel-openwrt-linux-gcc: warning: environment variable 'STAGING_DIR' not defined
  mipsel-openwrt-linux-gcc: warning: environment variable 'STAGING_DIR' not defined
  mipsel-openwrt-linux-gcc: warning: environment variable 'STAGING_DIR' not defined
  mipsel-openwrt-linux-gcc: warning: environment variable 'STAGING_DIR' not defined
  mipsel-openwrt-linux-gcc: warning: environment variable 'STAGING_DIR' not defined
  mipsel-openwrt-linux-gcc: warning: environment variable 'STAGING_DIR' not defined
  mipsel-openwrt-linux-gcc: warning: environment variable 'STAGING_DIR' not defined
  mipsel-openwrt-linux-gcc: warning: environment variable 'STAGING_DIR' not defined
  mipsel-openwrt-linux-gcc: warning: environment variable 'STAGING_DIR' not defined
  mipsel-openwrt-linux-gcc: warning: environment variable 'STAGING_DIR' not defined
  mipsel-openwrt-linux-gcc: warning: environment variable 'STAGING_DIR' not defined
  mipsel-openwrt-linux-gcc: warning: environment variable 'STAGING_DIR' not defined
  mipsel-openwrt-linux-gcc: warning: environment variable 'STAGING_DIR' not defined
  mipsel-openwrt-linux-gcc: warning: environment variable 'STAGING_DIR' not defined
  mipsel-openwrt-linux-gcc: warning: environment variable 'STAGING_DIR' not defined
  mipsel-openwrt-linux-gcc: warning: environment variable 'STAGING_DIR' not defined
  mipsel-openwrt-linux-gcc: warning: environment variable 'STAGING_DIR' not defined
  mipsel-openwrt-linux-gcc: warning: environment variable 'STAGING_DIR' not defined
  mipsel-openwrt-linux-gcc: warning: environment variable 'STAGING_DIR' not defined
  mipsel-openwrt-linux-gcc: warning: environment variable 'STAGING_DIR' not defined
  mipsel-openwrt-linux-gcc: warning: environment variable 'STAGING_DIR' not defined
  mipsel-openwrt-linux-gcc: warning: environment variable 'STAGING_DIR' not defined
  mipsel-openwrt-linux-gcc: warning: environment variable 'STAGING_DIR' not defined
  mipsel-openwrt-linux-gcc: warning: environment variable 'STAGING_DIR' not defined
  mipsel-openwrt-linux-gcc: warning: environment variable 'STAGING_DIR' not defined
  mipsel-openwrt-linux-gcc: warning: environment variable 'STAGING_DIR' not defined
  mipsel-openwrt-linux-gcc: warning: environment variable 'STAGING_DIR' not defined
  mipsel-openwrt-linux-gcc: warning: environment variable 'STAGING_DIR' not defined
  mipsel-openwrt-linux-gcc: warning: environment variable 'STAGING_DIR' not defined
  mipsel-openwrt-linux-gcc: warning: environment variable 'STAGING_DIR' not defined
  mipsel-openwrt-linux-gcc: warning: environment variable 'STAGING_DIR' not defined
  mipsel-openwrt-linux-gcc: warning: environment variable 'STAGING_DIR' not defined
  mipsel-openwrt-linux-gcc: warning: environment variable 'STAGING_DIR' not defined
  mipsel-openwrt-linux-gcc: warning: environment variable 'STAGING_DIR' not defined
  mipsel-openwrt-linux-gcc: warning: environment variable 'STAGING_DIR' not defined
  mipsel-openwrt-linux-gcc: warning: environment variable 'STAGING_DIR' not defined
  mipsel-openwrt-linux-gcc: warning: environment variable 'STAGING_DIR' not defined
  mipsel-openwrt-linux-gcc: warning: environment variable 'STAGING_DIR' not defined
  mipsel-openwrt-linux-gcc: warning: environment variable 'STAGING_DIR' not defined
  mipsel-openwrt-linux-gcc: warning: environment variable 'STAGING_DIR' not defined
  mipsel-openwrt-linux-gcc: warning: environment variable 'STAGING_DIR' not defined
  mipsel-openwrt-linux-gcc: warning: environment variable 'STAGING_DIR' not defined
  mipsel-openwrt-linux-gcc: warning: environment variable 'STAGING_DIR' not defined
  mipsel-openwrt-linux-gcc: warning: environment variable 'STAGING_DIR' not defined
  mipsel-openwrt-linux-gcc: warning: environment variable 'STAGING_DIR' not defined
  mipsel-openwrt-linux-gcc: warning: environment variable 'STAGING_DIR' not defined
  mipsel-openwrt-linux-gcc: warning: environment variable 'STAGING_DIR' not defined
  mipsel-openwrt-linux-gcc: warning: environment variable 'STAGING_DIR' not defined
  mipsel-openwrt-linux-gcc: warning: environment variable 'STAGING_DIR' not defined
  mipsel-openwrt-linux-gcc: warning: environment variable 'STAGING_DIR' not defined
  mipsel-openwrt-linux-gcc: warning: environment variable 'STAGING_DIR' not defined
  mipsel-openwrt-linux-gcc: warning: environment variable 'STAGING_DIR' not defined
  mipsel-openwrt-linux-gcc: warning: environment variable 'STAGING_DIR' not defined
  mipsel-openwrt-linux-gcc: warning: environment variable 'STAGING_DIR' not defined
  mipsel-openwrt-linux-gcc: warning: environment variable 'STAGING_DIR' not defined
  mipsel-openwrt-linux-gcc: warning: environment variable 'STAGING_DIR' not defined
  mipsel-openwrt-linux-gcc: warning: environment variable 'STAGING_DIR' not defined
  mipsel-openwrt-linux-gcc: warning: environment variable 'STAGING_DIR' not defined
  mipsel-openwrt-linux-gcc: warning: environment variable 'STAGING_DIR' not defined
  mipsel-openwrt-linux-gcc: warning: environment variable 'STAGING_DIR' not defined
  mipsel-openwrt-linux-gcc: warning: environment variable 'STAGING_DIR' not defined
  mipsel-openwrt-linux-gcc: warning: environment variable 'STAGING_DIR' not defined
  mipsel-openwrt-linux-gcc: warning: environment variable 'STAGING_DIR' not defined
  mipsel-openwrt-linux-gcc: warning: environment variable 'STAGING_DIR' not defined
  mipsel-openwrt-linux-gcc: warning: environment variable 'STAGING_DIR' not defined
  mipsel-openwrt-linux-gcc: warning: environment variable 'STAGING_DIR' not defined
  mipsel-openwrt-linux-gcc: warning: environment variable 'STAGING_DIR' not defined
  mipsel-openwrt-linux-gcc: warning: environment variable 'STAGING_DIR' not defined
  mipsel-openwrt-linux-gcc: warning: environment variable 'STAGING_DIR' not defined
  mipsel-openwrt-linux-gcc: warning: environment variable 'STAGING_DIR' not defined
  mipsel-openwrt-linux-gcc: warning: environment variable 'STAGING_DIR' not defined
  mipsel-openwrt-linux-gcc: warning: environment variable 'STAGING_DIR' not defined
  mipsel-openwrt-linux-gcc: warning: environment variable 'STAGING_DIR' not defined
  mipsel-openwrt-linux-gcc: warning: environment variable 'STAGING_DIR' not defined
  mipsel-openwrt-linux-gcc: warning: environment variable 'STAGING_DIR' not defined
  mipsel-openwrt-linux-gcc: warning: environment variable 'STAGING_DIR' not defined
  mipsel-openwrt-linux-gcc: warning: environment variable 'STAGING_DIR' not defined
  mipsel-openwrt-linux-gcc: warning: environment variable 'STAGING_DIR' not defined
  mipsel-openwrt-linux-gcc: warning: environment variable 'STAGING_DIR' not defined
  mipsel-openwrt-linux-gcc: warning: environment variable 'STAGING_DIR' not defined
  mipsel-openwrt-linux-gcc: warning: environment variable 'STAGING_DIR' not defined
  mipsel-openwrt-linux-gcc: warning: environment variable 'STAGING_DIR' not defined
  mipsel-openwrt-linux-gcc: warning: environment variable 'STAGING_DIR' not defined
  mipsel-openwrt-linux-gcc: warning: environment variable 'STAGING_DIR' not defined
  mipsel-openwrt-linux-gcc: warning: environment variable 'STAGING_DIR' not defined
  mipsel-openwrt-linux-gcc: warning: environment variable 'STAGING_DIR' not defined
  mipsel-openwrt-linux-gcc: warning: environment variable 'STAGING_DIR' not defined
  mipsel-openwrt-linux-gcc: warning: environment variable 'STAGING_DIR' not defined
  mipsel-openwrt-linux-gcc: warning: environment variable 'STAGING_DIR' not defined
  mipsel-openwrt-linux-gcc: warning: environment variable 'STAGING_DIR' not defined
  mipsel-openwrt-linux-gcc: warning: environment variable 'STAGING_DIR' not defined
  mipsel-openwrt-linux-gcc: warning: environment variable 'STAGING_DIR' not defined
  mipsel-openwrt-linux-gcc: warning: environment variable 'STAGING_DIR' not defined
  mipsel-openwrt-linux-gcc: warning: environment variable 'STAGING_DIR' not defined
  mipsel-openwrt-linux-gcc: warning: environment variable 'STAGING_DIR' not defined
  mipsel-openwrt-linux-gcc: warning: environment variable 'STAGING_DIR' not defined
  mipsel-openwrt-linux-gcc: warning: environment variable 'STAGING_DIR' not defined
  mipsel-openwrt-linux-gcc: warning: environment variable 'STAGING_DIR' not defined
  mipsel-openwrt-linux-gcc: warning: environment variable 'STAGING_DIR' not defined
  mipsel-openwrt-linux-gcc: warning: environment variable 'STAGING_DIR' not defined
  mipsel-openwrt-linux-gcc: warning: environment variable 'STAGING_DIR' not defined
  mipsel-openwrt-linux-gcc: warning: environment variable 'STAGING_DIR' not defined
  mipsel-openwrt-linux-gcc: warning: environment variable 'STAGING_DIR' not defined
  mipsel-openwrt-linux-gcc: warning: environment variable 'STAGING_DIR' not defined
  mipsel-openwrt-linux-gcc: warning: environment variable 'STAGING_DIR' not defined
  mipsel-openwrt-linux-gcc: warning: environment variable 'STAGING_DIR' not defined
  /home/s2/.cargo/registry/src/rsproxy.cn-8f6827c7555bfaf8/aws-lc-sys-0.9.0/aws-lc/crypto/pem/pem_lib.c: In function 'aws_lc_0_9_0_PEM_read_bio':
  /home/s2/.cargo/registry/src/rsproxy.cn-8f6827c7555bfaf8/aws-lc-sys-0.9.0/aws-lc/crypto/pem/pem_lib.c:705:11: error: 'strncmp' of strings of length 1 and 9 and bound of 9 evaluates to nonzero [-Werror=string-compare]
    705 |       if (strncmp(buf, "-----END ", 9) == 0) {
        |           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
  cc1: all warnings being treated as errors
  make[2]: *** [aws-lc/crypto/CMakeFiles/crypto_objects.dir/build.make:1742: aws-lc/crypto/CMakeFiles/crypto_objects.dir/pem/pem_lib.c.o] Error 1
  make[2]: *** Waiting for unfinished jobs....
  make[1]: *** [CMakeFiles/Makefile2:204: aws-lc/crypto/CMakeFiles/crypto_objects.dir/all] Error 2
  make[1]: *** Waiting for unfinished jobs....
  In file included from /home/s2/.cargo/registry/src/rsproxy.cn-8f6827c7555bfaf8/aws-lc-sys-0.9.0/aws-lc/crypto/fipsmodule/bcm.c:118:
  /home/s2/.cargo/registry/src/rsproxy.cn-8f6827c7555bfaf8/aws-lc-sys-0.9.0/aws-lc/crypto/fipsmodule/modes/cfb.c: In function 'aws_lc_0_9_0_CRYPTO_cfb128_encrypt':
  /home/s2/.cargo/registry/src/rsproxy.cn-8f6827c7555bfaf8/aws-lc-sys-0.9.0/aws-lc/crypto/fipsmodule/modes/cfb.c:120:17: error: writing 1 byte into a region of size 0 [-Werror=stringop-overflow=]
    120 |         ivec[n] = c;
        |         ~~~~~~~~^~~
  /home/s2/.cargo/registry/src/rsproxy.cn-8f6827c7555bfaf8/aws-lc-sys-0.9.0/aws-lc/crypto/fipsmodule/modes/cfb.c:61:56: note: at offset 16 into destination object 'ivec' of size [0, 16]
     61 |                            const AES_KEY *key, uint8_t ivec[16], unsigned *num,
        |                                                ~~~~~~~~^~~~~~~~
  cc1: all warnings being treated as errors
  make[2]: *** [aws-lc/crypto/fipsmodule/CMakeFiles/fipsmodule.dir/build.make:76: aws-lc/crypto/fipsmodule/CMakeFiles/fipsmodule.dir/bcm.c.o] Error 1
  make[1]: *** [CMakeFiles/Makefile2:257: aws-lc/crypto/fipsmodule/CMakeFiles/fipsmodule.dir/all] Error 2
  make: *** [Makefile:136: all] Error 2
  thread 'main' panicked at '
  command did not execute successfully, got: exit status: 2

  build script failed, must exit now', /home/s2/.cargo/registry/src/rsproxy.cn-8f6827c7555bfaf8/cmake-0.1.50/src/lib.rs:1098:5
  note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

Fails to build on Apple Silicon M2

Problem:

Unable to generate bindings.: ClangDiagnostic("/Users/ur20980/.cargo/registry/src/index.crates.io-6f17d22bba15001f/aws-lc-sys-0.13.0/aws-lc/include/openssl/err.h:112:10: fatal error: 'stdio.h' file not found\n")

It happens during build of https://github.com/rustls/rustls.git which tries to build dependencies aws-lc-rs -> aws-lc-sys.

The issue has been reported here and recommended to bring up in this repo, because it appears to be this crate's problem.
Steps to reproduce are shown there.

Relevant details

AWS-LC for Rust versions or commit: v1.6 (as far as I can tell)

System information: for linux, below info can be collected by running uname -srvmp

  • CPU architecture: ARM8
  • CPU name: Apple Silicon M2 Max
  • OS: MacOS Sonoma 14.3.1
  • Xcode: 15.2
  • Rust: 1.76.0 (stable)

Build log:

  • The log tells compiler and version.
$ git clone --recurse-submodules https://github.com/rustls/rustls.git
Cloning into 'rustls'...
remote: Enumerating objects: 26917, done.
remote: Counting objects: 100% (4049/4049), done.
remote: Compressing objects: 100% (1112/1112), done.
remote: Total 26917 (delta 3270), reused 3122 (delta 2912), pack-reused 22868
Receiving objects: 100% (26917/26917), 10.23 MiB | 2.53 MiB/s, done.
Resolving deltas: 100% (18838/18838), done.
$ cd rustls
$ cargo test --release; date                                         
   Compiling libc v0.2.153
   Compiling proc-macro2 v1.0.78
   Compiling unicode-ident v1.0.12
   Compiling glob v0.3.1
   Compiling rustix v0.38.31
   Compiling prettyplease v0.2.16
   Compiling memchr v2.7.1
   Compiling regex-syntax v0.8.2
   Compiling minimal-lexical v0.2.1
   Compiling either v1.10.0
   Compiling cfg-if v1.0.0
   Compiling bitflags v2.4.2
   Compiling libloading v0.8.1
   Compiling bindgen v0.69.4
   Compiling home v0.5.9
   Compiling itertools v0.12.1
   Compiling lazy_static v1.4.0
   Compiling rustc-hash v1.1.0
   Compiling nom v7.1.3
   Compiling clang-sys v1.7.0
   Compiling lazycell v1.3.0
   Compiling shlex v1.3.0
   Compiling log v0.4.20
   Compiling dunce v1.0.4
   Compiling fs_extra v1.3.0
   Compiling paste v1.0.14
   Compiling aho-corasick v1.1.2
   Compiling regex-automata v0.4.5
   Compiling aws-lc-rs v1.6.1
   Compiling untrusted v0.9.0
   Compiling cexpr v0.6.0
   Compiling rustls-pki-types v1.2.0
   Compiling mirai-annotations v1.12.0
   Compiling zeroize v1.7.0
   Compiling base64 v0.21.7
   Compiling rustls v0.23.0-alpha.0 (/Users/ur20980/src/rustls/rustls)
   Compiling once_cell v1.19.0
   Compiling regex v1.10.3
   Compiling is-terminal v0.4.12
   Compiling subtle v2.5.0
   Compiling termcolor v1.4.1
   Compiling humantime v2.1.0
   Compiling quote v1.0.35
   Compiling syn v2.0.48
   Compiling rustls-pemfile v2.0.0
   Compiling webpki-roots v0.26.1
   Compiling autocfg v1.1.0
   Compiling powerfmt v0.2.0
   Compiling bencher v0.1.5
   Compiling deranged v0.3.11
   Compiling num-traits v0.2.18
   Compiling num-bigint v0.4.4
   Compiling time-core v0.1.2
   Compiling cc v1.0.83
   Compiling errno v0.3.8
   Compiling num-conv v0.1.0
   Compiling serde v1.0.196
   Compiling cmake v0.1.50
   Compiling time v0.3.34
   Compiling which v4.4.2
   Compiling getrandom v0.2.12
   Compiling ring v0.17.7
   Compiling spin v0.9.8
   Compiling yasna v0.5.2
   Compiling pem v3.0.3
   Compiling socket2 v0.5.5
   Compiling env_logger v0.10.2
   Compiling num-integer v0.1.46
   Compiling mio v0.8.10
   Compiling pin-project-lite v0.2.13
   Compiling strsim v0.10.0
   Compiling bytes v1.5.0
   Compiling serde_derive v1.0.196
   Compiling tokio-macros v2.2.0
   Compiling tokio v1.36.0
   Compiling aws-lc-sys v0.13.0
   Compiling rcgen v0.12.1
error: failed to run custom build command for `aws-lc-sys v0.13.0`
note: To improve backtraces for build dependencies, set the CARGO_PROFILE_RELEASE_BUILD_OVERRIDE_DEBUG=true environment variable to enable debug information generation.

Caused by:
  process didn't exit successfully: `/Users/ur20980/src/rustls/target/release/build/aws-lc-sys-de27243413207beb/build-script-main` (exit status: 101)
  --- stdout
  cargo:rustc-cfg=use_bindgen_generated

  --- stderr
  /Users/ur20980/.cargo/registry/src/index.crates.io-6f17d22bba15001f/aws-lc-sys-0.13.0/aws-lc/include/openssl/err.h:112:10: fatal error: 'stdio.h' file not found
  thread 'main' panicked at /Users/ur20980/.cargo/registry/src/index.crates.io-6f17d22bba15001f/aws-lc-sys-0.13.0/builder/bindgen.rs:151:10:
  Unable to generate bindings.: ClangDiagnostic("/Users/ur20980/.cargo/registry/src/index.crates.io-6f17d22bba15001f/aws-lc-sys-0.13.0/aws-lc/include/openssl/err.h:112:10: fatal error: 'stdio.h' file not found\n")
  stack backtrace:
     0: rust_begin_unwind
               at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/panicking.rs:645:5
     1: core::panicking::panic_fmt
               at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/core/src/panicking.rs:72:14
     2: core::result::unwrap_failed
               at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/core/src/result.rs:1649:5
     3: core::result::Result<T,E>::expect
     4: build_script_main::bindgen::generate_bindings
     5: build_script_main::generate_bindings
     6: build_script_main::main
     7: core::ops::function::FnOnce::call_once
  note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
warning: build failed, waiting for other jobs to finish...
Tue Feb 13 16:35:59 EST 2024
$

Cross build for target x86_64-pc-windows-gnu failed

Problem:

Trying to cross build from Linux host with cross:

$ cargo new repro
$ cd repro
$ echo '[target.x86_64-pc-windows-gnu]
pre-build = [
    "apt-get update",
    "apt-get install --assume-yes nasm",
]' > Cross.toml
$ cross build --target "x86_64-pc-windows-gnu"

Relevant details

aws-lc-sys v0.15.0 (on crates.io).

System information: for linux, below info can be collected by running uname -srvmp

  • CPU architecture: x86_64
  • CPU name: Intel Core i7
  • OS: macOS

Build log:

  • Build without "bindgen" in Cargo.toml
$ cross build --target "x86_64-pc-windows-gnu"
   Compiling libc v0.2.153
   Compiling once_cell v1.19.0
   Compiling fs_extra v1.3.0
   Compiling dunce v1.0.4
   Compiling paste v1.0.14
   Compiling aws-lc-rs v1.7.0
   Compiling untrusted v0.7.1
   Compiling mirai-annotations v1.12.0
   Compiling zeroize v1.7.0
   Compiling jobserver v0.1.31
   Compiling cc v1.0.95
   Compiling cmake v0.1.50
   Compiling aws-lc-sys v0.15.0
error: failed to run custom build command for `aws-lc-sys v0.15.0`

Caused by:
  process didn't exit successfully: `/target/debug/build/aws-lc-sys-ff13cb9381e767cd/build-script-main` (exit status: 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

  --- stderr
  thread 'main' panicked at /cargo/registry/src/index.crates.io-6f17d22bba15001f/aws-lc-sys-0.15.0/builder/main.rs:401:5:
  aws-lc-sys build failed. Please enable the 'bindgen' feature on aws-lc-rs or aws-lc-sys.For more information, see the aws-lc-rs User Guide: https://aws.github.io/aws-lc-rs/index.html
  note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
  • Build with "bindgen" in Cargo.toml
   Compiling libc v0.2.153
   Compiling proc-macro2 v1.0.81
   Compiling unicode-ident v1.0.12
   Compiling glob v0.3.1
   Compiling rustix v0.38.34
   Compiling prettyplease v0.2.19
   Compiling linux-raw-sys v0.4.13
   Compiling bitflags v2.5.0
   Compiling regex-syntax v0.8.3
   Compiling cfg-if v1.0.0
   Compiling either v1.11.0
   Compiling minimal-lexical v0.2.1
   Compiling memchr v2.7.2
   Compiling libloading v0.8.3
   Compiling bindgen v0.69.4
   Compiling home v0.5.9
   Compiling itertools v0.12.1
   Compiling log v0.4.21
   Compiling rustc-hash v1.1.0
   Compiling clang-sys v1.7.0
   Compiling jobserver v0.1.31
   Compiling shlex v1.3.0
   Compiling nom v7.1.3
   Compiling lazy_static v1.4.0
   Compiling lazycell v1.3.0
   Compiling paste v1.0.14
   Compiling aws-lc-rs v1.7.0
   Compiling regex-automata v0.4.6
   Compiling cc v1.0.95
   Compiling cmake v0.1.50
   Compiling cexpr v0.6.0
   Compiling regex v1.10.4
   Compiling quote v1.0.36
   Compiling which v4.4.2
   Compiling syn v2.0.60
   Compiling aws-lc-sys v0.15.0
error: failed to run custom build command for `aws-lc-sys v0.15.0`

Caused by:
  process didn't exit successfully: `/target/debug/build/aws-lc-sys-c43836429621d40f/build-script-main` (exit status: 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

  --- stderr
  /cargo/registry/src/index.crates.io-6f17d22bba15001f/aws-lc-sys-0.15.0/aws-lc/include/openssl/mem.h:174:5: warning: '__format__' attribute argument not supported: ms_printf [-Wignored-attributes]
  /cargo/registry/src/index.crates.io-6f17d22bba15001f/aws-lc-sys-0.15.0/aws-lc/include/openssl/mem.h:178:48: warning: '__format__' attribute argument not supported: ms_printf [-Wignored-attributes]
  /cargo/registry/src/index.crates.io-6f17d22bba15001f/aws-lc-sys-0.15.0/aws-lc/include/openssl/mem.h:184:5: warning: '__format__' attribute argument not supported: ms_printf [-Wignored-attributes]
  /cargo/registry/src/index.crates.io-6f17d22bba15001f/aws-lc-sys-0.15.0/aws-lc/include/openssl/mem.h:189:5: warning: '__format__' attribute argument not supported: ms_printf [-Wignored-attributes]
  /cargo/registry/src/index.crates.io-6f17d22bba15001f/aws-lc-sys-0.15.0/aws-lc/include/openssl/err.h:474:5: warning: '__format__' attribute argument not supported: ms_printf [-Wignored-attributes]
  /cargo/registry/src/index.crates.io-6f17d22bba15001f/aws-lc-sys-0.15.0/aws-lc/include/openssl/bio.h:351:5: warning: '__format__' attribute argument not supported: ms_printf [-Wignored-attributes]
  /cargo/registry/src/index.crates.io-6f17d22bba15001f/aws-lc-sys-0.15.0/aws-lc/include/openssl/digest.h:60:10: fatal error: 'stdbool.h' file not found
  clang diag: /cargo/registry/src/index.crates.io-6f17d22bba15001f/aws-lc-sys-0.15.0/aws-lc/include/openssl/mem.h:174:5: warning: '__format__' attribute argument not supported: ms_printf [-Wignored-attributes]
  clang diag: /cargo/registry/src/index.crates.io-6f17d22bba15001f/aws-lc-sys-0.15.0/aws-lc/include/openssl/mem.h:178:48: warning: '__format__' attribute argument not supported: ms_printf [-Wignored-attributes]
  clang diag: /cargo/registry/src/index.crates.io-6f17d22bba15001f/aws-lc-sys-0.15.0/aws-lc/include/openssl/mem.h:184:5: warning: '__format__' attribute argument not supported: ms_printf [-Wignored-attributes]
  clang diag: /cargo/registry/src/index.crates.io-6f17d22bba15001f/aws-lc-sys-0.15.0/aws-lc/include/openssl/mem.h:189:5: warning: '__format__' attribute argument not supported: ms_printf [-Wignored-attributes]
  clang diag: /cargo/registry/src/index.crates.io-6f17d22bba15001f/aws-lc-sys-0.15.0/aws-lc/include/openssl/err.h:474:5: warning: '__format__' attribute argument not supported: ms_printf [-Wignored-attributes]
  clang diag: /cargo/registry/src/index.crates.io-6f17d22bba15001f/aws-lc-sys-0.15.0/aws-lc/include/openssl/bio.h:351:5: warning: '__format__' attribute argument not supported: ms_printf [-Wignored-attributes]
  thread 'main' panicked at /cargo/registry/src/index.crates.io-6f17d22bba15001f/aws-lc-sys-0.15.0/builder/bindgen.rs:155:10:
  Unable to generate bindings.: ClangDiagnostic("/cargo/registry/src/index.crates.io-6f17d22bba15001f/aws-lc-sys-0.15.0/aws-lc/include/openssl/digest.h:60:10: fatal error: 'stdbool.h' file not found\n")
  note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

Support building for aarch64-apple-ios-sim

Problem:

Targeting the iOS device (aarch64-apple-ios) works properly but building for the simulator doesn't. I can generally build aws-lc for iOS simulator, so I suspect that this is a problem between the cmake cargo crate and aws-lc cmake.

Building aws-lc for iOS simulator works with the following cmake command

cmake -DBUILD_TESTING=OFF -DBUILD_SHARED_LIBS=OFF -DCMAKE_BUILD_TYPE=Release -DCMAKE_SYSTEM_NAME="iOS" -DCMAKE_OSX_ARCHITECTURES="arm64" -DCMAKE_OSX_SYSROOT="iphonesimulator" -DBUILD_LIBSSL=OFF ..

Relevant details

AWS-LC for Rust versions or commit: latest main

System information: for linux, below info can be collected by running uname -srvmp

  • CPU architecture: aarch64
  • Host OS: MacOS 13.4 (arm) + XCode 14.3.1
  • Compiler: Rust 1.70
  • Target OS: iOS Simulator (aarch64-apple-ios-sim)

Build log:

โฏ cargo build --release -p aws-lc-sys --target aarch64-apple-ios-sim
   Compiling libc v0.2.146
   Compiling memchr v2.5.0
   Compiling regex-syntax v0.7.2
   Compiling syn v2.0.18
   Compiling nom v7.1.3
   Compiling which v4.4.0
   Compiling clang-sys v1.6.1
   Compiling regex v1.8.4
   Compiling cexpr v0.6.0
   Compiling prettyplease v0.2.6
   Compiling bindgen v0.65.1
   Compiling aws-lc-sys v0.7.0 (/Users/tomleavy/git/aws-lc-rs/aws-lc-sys)
error: failed to run custom build command for `aws-lc-sys v0.7.0 (/Users/tomleavy/git/aws-lc-rs/aws-lc-sys)`

Caused by:
  process didn't exit successfully: `/Users/tomleavy/git/aws-lc-rs/target/release/build/aws-lc-sys-e1e4be26c4b092ee/build-script-main` (exit status: 101)
  --- stdout
  cargo:rustc-cfg=use_bindgen_generated
  CMAKE_TOOLCHAIN_FILE_aarch64-apple-ios-sim = None
  CMAKE_TOOLCHAIN_FILE_aarch64_apple_ios_sim = None
  TARGET_CMAKE_TOOLCHAIN_FILE = None
  CMAKE_TOOLCHAIN_FILE = None
  CMAKE_GENERATOR_aarch64-apple-ios-sim = None
  CMAKE_GENERATOR_aarch64_apple_ios_sim = None
  TARGET_CMAKE_GENERATOR = None
  CMAKE_GENERATOR = None
  running: "xcrun" "--show-sdk-path" "--sdk" "iphonesimulator"
  exit status: 0
  running: "xcrun" "--show-sdk-path" "--sdk" "iphonesimulator"
  exit status: 0
  CMAKE_PREFIX_PATH_aarch64-apple-ios-sim = None
  CMAKE_PREFIX_PATH_aarch64_apple_ios_sim = None
  TARGET_CMAKE_PREFIX_PATH = None
  CMAKE_PREFIX_PATH = None
  CMAKE_aarch64-apple-ios-sim = None
  CMAKE_aarch64_apple_ios_sim = None
  TARGET_CMAKE = None
  CMAKE = Some("cmake")
  running: cd "/Users/tomleavy/git/aws-lc-rs/target/aarch64-apple-ios-sim/release/build/aws-lc-sys-80b5c96041eaa31f/out/build" && CMAKE_PREFIX_PATH="" "cmake" "/Users/tomleavy/git/aws-lc-rs/aws-lc-sys" "-DCMAKE_BUILD_TYPE=release" "-DBORINGSSL_PREFIX=aws_lc_0_7_0" "-DBORINGSSL_PREFIX_HEADERS=/Users/tomleavy/git/aws-lc-rs/aws-lc-sys/generated-include" "-DBUILD_TESTING=OFF" "-DBUILD_LIBSSL=OFF" "-DDISABLE_PERL=ON" "-DDISABLE_GO=ON" "-DCMAKE_SYSTEM_NAME=iOS" "-DCMAKE_SYSTEM_PROCESSOR=arm64" "-DCMAKE_INSTALL_PREFIX=/Users/tomleavy/git/aws-lc-rs/target/aarch64-apple-ios-sim/release/build/aws-lc-sys-80b5c96041eaa31f/out" "-DCMAKE_C_FLAGS= -fPIC --target=arm64-apple-ios7.0-simulator -arch arm64 -mios-simulator-version-min=7.0 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator16.4.sdk -fembed-bitcode" "-DCMAKE_C_COMPILER=/usr/bin/clang" "-DCMAKE_CXX_FLAGS= -fPIC --target=arm64-apple-ios7.0-simulator -arch arm64 -mios-simulator-version-min=7.0 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator16.4.sdk -fembed-bitcode" "-DCMAKE_CXX_COMPILER=/usr/bin/clang++" "-DCMAKE_ASM_FLAGS= -fPIC --target=arm64-apple-ios7.0-simulator -arch arm64 -mios-simulator-version-min=7.0 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator16.4.sdk -fembed-bitcode" "-DCMAKE_ASM_COMPILER=/usr/bin/clang" "--no-warn-unused-cli"
  Not searching for unused variables given on the command line.
  -- The C compiler identification is AppleClang 14.0.3.14030022
  -- Detecting C compiler ABI info
  -- Detecting C compiler ABI info - done
  -- Check for working C compiler: /usr/bin/clang - 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/
  -- stdalign_check.c probe is negative, NOT enabling AWS_LC_STDALIGN_AVAILABLE:
  --     Change Dir: /Users/tomleavy/git/aws-lc-rs/target/aarch64-apple-ios-sim/release/build/aws-lc-sys-80b5c96041eaa31f/out/build/aws-lc/CMakeFiles/CMakeTmp

  Run Build Command(s):/opt/homebrew/Cellar/cmake/3.26.4/bin/cmake -E env VERBOSE=1 /usr/bin/make -f Makefile cmTC_114e5/fast && /Applications/Xcode.app/Contents/Developer/usr/bin/make  -f CMakeFiles/cmTC_114e5.dir/build.make CMakeFiles/cmTC_114e5.dir/build
  Building C object CMakeFiles/cmTC_114e5.dir/stdalign_check.c.o
  /usr/bin/clang   -fPIC --target=arm64-apple-ios7.0-simulator -arch arm64 -mios-simulator-version-min=7.0 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator16.4.sdk -fembed-bitcode -std=c99 -fvisibility=hidden -Wall -Wextra -Wno-unused-parameter -Werror -Wunused -Wcomment -Wchar-subscripts -Wuninitialized -Wshadow -Wwrite-strings -Wformat-security -Wunused-result  -Wvla -Wtype-limits -Werror -Wformat=2 -Wsign-compare -Wmissing-field-initializers -Wwrite-strings -ggdb -Wall -fvisibility=hidden -fno-common -Wnewline-eof -fcolor-diagnostics -Wstring-concatenation -Wimplicit-fallthrough -Wmissing-prototypes -Wold-style-definition -Wstrict-prototypes  -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS16.4.sdk   -Werror -MD -MT CMakeFiles/cmTC_114e5.dir/stdalign_check.c.o -MF CMakeFiles/cmTC_114e5.dir/stdalign_check.c.o.d -o CMakeFiles/cmTC_114e5.dir/stdalign_check.c.o -c /Users/tomleavy/git/aws-lc-rs/aws-lc-sys/aws-lc/tests/compiler_features_tests/stdalign_check.c
  Linking C executable cmTC_114e5.app/cmTC_114e5
  /opt/homebrew/Cellar/cmake/3.26.4/bin/cmake -E cmake_link_script CMakeFiles/cmTC_114e5.dir/link.txt --verbose=1
  /usr/bin/clang  -fPIC --target=arm64-apple-ios7.0-simulator -arch arm64 -mios-simulator-version-min=7.0 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator16.4.sdk -fembed-bitcode -std=c99 -fvisibility=hidden -Wall -Wextra -Wno-unused-parameter -Werror -Wunused -Wcomment -Wchar-subscripts -Wuninitialized -Wshadow -Wwrite-strings -Wformat-security -Wunused-result  -Wvla -Wtype-limits -Werror -Wformat=2 -Wsign-compare -Wmissing-field-initializers -Wwrite-strings -ggdb -Wall -fvisibility=hidden -fno-common -Wnewline-eof -fcolor-diagnostics -Wstring-concatenation -Wimplicit-fallthrough -Wmissing-prototypes -Wold-style-definition -Wstrict-prototypes  -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS16.4.sdk CMakeFiles/cmTC_114e5.dir/stdalign_check.c.o -o cmTC_114e5.app/cmTC_114e5
  ld: building for iOS Simulator, but linking in .tbd file (/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS16.4.sdk/usr/lib/libSystem.tbd) built for iOS, file '/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS16.4.sdk/usr/lib/libSystem.tbd' for architecture arm64
  clang: error: linker command failed with exit code 1 (use -v to see invocation)
  make[1]: *** [cmTC_114e5.app/cmTC_114e5] Error 1
  make: *** [cmTC_114e5/fast] Error 2


  -- builtin_swap_check.c probe is negative, NOT enabling AWS_LC_BUILTIN_SWAP_SUPPORTED:
  --     Change Dir: /Users/tomleavy/git/aws-lc-rs/target/aarch64-apple-ios-sim/release/build/aws-lc-sys-80b5c96041eaa31f/out/build/aws-lc/CMakeFiles/CMakeTmp

  Run Build Command(s):/opt/homebrew/Cellar/cmake/3.26.4/bin/cmake -E env VERBOSE=1 /usr/bin/make -f Makefile cmTC_44e7d/fast && /Applications/Xcode.app/Contents/Developer/usr/bin/make  -f CMakeFiles/cmTC_44e7d.dir/build.make CMakeFiles/cmTC_44e7d.dir/build
  Building C object CMakeFiles/cmTC_44e7d.dir/builtin_swap_check.c.o
  /usr/bin/clang   -fPIC --target=arm64-apple-ios7.0-simulator -arch arm64 -mios-simulator-version-min=7.0 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator16.4.sdk -fembed-bitcode -std=c99 -fvisibility=hidden -Wall -Wextra -Wno-unused-parameter -Werror -Wunused -Wcomment -Wchar-subscripts -Wuninitialized -Wshadow -Wwrite-strings -Wformat-security -Wunused-result  -Wvla -Wtype-limits -Werror -Wformat=2 -Wsign-compare -Wmissing-field-initializers -Wwrite-strings -ggdb -Wall -fvisibility=hidden -fno-common -Wnewline-eof -fcolor-diagnostics -Wstring-concatenation -Wimplicit-fallthrough -Wmissing-prototypes -Wold-style-definition -Wstrict-prototypes  -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS16.4.sdk   -Werror -MD -MT CMakeFiles/cmTC_44e7d.dir/builtin_swap_check.c.o -MF CMakeFiles/cmTC_44e7d.dir/builtin_swap_check.c.o.d -o CMakeFiles/cmTC_44e7d.dir/builtin_swap_check.c.o -c /Users/tomleavy/git/aws-lc-rs/aws-lc-sys/aws-lc/tests/compiler_features_tests/builtin_swap_check.c
  Linking C executable cmTC_44e7d.app/cmTC_44e7d
  /opt/homebrew/Cellar/cmake/3.26.4/bin/cmake -E cmake_link_script CMakeFiles/cmTC_44e7d.dir/link.txt --verbose=1
  /usr/bin/clang  -fPIC --target=arm64-apple-ios7.0-simulator -arch arm64 -mios-simulator-version-min=7.0 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator16.4.sdk -fembed-bitcode -std=c99 -fvisibility=hidden -Wall -Wextra -Wno-unused-parameter -Werror -Wunused -Wcomment -Wchar-subscripts -Wuninitialized -Wshadow -Wwrite-strings -Wformat-security -Wunused-result  -Wvla -Wtype-limits -Werror -Wformat=2 -Wsign-compare -Wmissing-field-initializers -Wwrite-strings -ggdb -Wall -fvisibility=hidden -fno-common -Wnewline-eof -fcolor-diagnostics -Wstring-concatenation -Wimplicit-fallthrough -Wmissing-prototypes -Wold-style-definition -Wstrict-prototypes  -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS16.4.sdk CMakeFiles/cmTC_44e7d.dir/builtin_swap_check.c.o -o cmTC_44e7d.app/cmTC_44e7d
  ld: building for iOS Simulator, but linking in .tbd file (/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS16.4.sdk/usr/lib/libSystem.tbd) built for iOS, file '/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS16.4.sdk/usr/lib/libSystem.tbd' for architecture arm64
  clang: error: linker command failed with exit code 1 (use -v to see invocation)
  make[1]: *** [cmTC_44e7d.app/cmTC_44e7d] Error 1
  make: *** [cmTC_44e7d/fast] Error 2


  -- The ASM compiler identification is Clang with GNU-like command-line
  -- Found assembler: /usr/bin/clang
  -- Disabling debug symbols for Clang internal assembler
  -- Performing Test CMAKE_HAVE_LIBC_PTHREAD
  -- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Failed
  -- Looking for pthread_create in pthreads
  -- Looking for pthread_create in pthreads - not found
  -- Looking for pthread_create in pthread
  -- Looking for pthread_create in pthread - not found
  -- Check if compiler accepts -pthread
  -- Check if compiler accepts -pthread - no
  -- Configuring incomplete, errors occurred!

  --- stderr
  Copying platform assembly files from /Users/tomleavy/git/aws-lc-rs/aws-lc-sys/aws-lc/generated-src/ios-aarch64/crypto/ to /Users/tomleavy/git/aws-lc-rs/target/aarch64-apple-ios-sim/release/build/aws-lc-sys-80b5c96041eaa31f/out/build/aws-lc/crypto
  CMake Error at /opt/homebrew/Cellar/cmake/3.26.4/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:230 (message):
    Could NOT find Threads (missing: Threads_FOUND)
  Call Stack (most recent call first):
    /opt/homebrew/Cellar/cmake/3.26.4/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:600 (_FPHSA_FAILURE_MESSAGE)
    /opt/homebrew/Cellar/cmake/3.26.4/share/cmake/Modules/FindThreads.cmake:226 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
    aws-lc/crypto/CMakeLists.txt:623 (find_package)


  thread 'main' panicked at '
  command did not execute successfully, got: exit status: 1

  build script failed, must exit now', /Users/tomleavy/.cargo/registry/src/index.crates.io-6f17d22bba15001f/cmake-0.1.50/src/lib.rs:1098:5
  note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

MSRV not respected on aarch64-apple-darwin

Problem:

MSRV is not respected on all platforms. The actual MSRV for aarch64-apple-darwin is 1.70.0.

The CI should check more platforms for MSRV, and should include the "bindgen" (and possibly other) features.

Relevant details

  • Running on an M1 Mac:
โฏ rustc -vV |grep host
host: aarch64-apple-darwin

Build log:

  • The log tells compiler and version.
โฏ cargo msrv
Fetching index
Determining the Minimum Supported Rust Version (MSRV) for toolchain aarch64-apple-darwin
Using check command cargo check
...
โ”‚ error: package `home v0.5.9` cannot be built because it requires rustc 1.70.0 or newer, while the currently active rustc version is 1.66.1                                                                                                                                                                                 โ”‚
โ”‚ Either upgrade to rustc 1.70.0 or newer, or use                                                                                                                                                                                                                                                                            โ”‚
โ”‚ cargo update -p [email protected] --precise ver                                                                                                                                                                                                                                                                                   โ”‚
โ”‚ where `ver` is the latest version of `home` supporting rustc 1.66.1
  • The dependency on home comes via bindgen:
โฏ cargo tree -i home
home v0.5.9
โ””โ”€โ”€ which v4.4.2
    โ””โ”€โ”€ bindgen v0.69.2
        [build-dependencies]
        โ””โ”€โ”€ aws-lc-sys v0.13.0 (/Users/justinsmith/repos/aws-lc-rs/aws-lc-sys)
            โ””โ”€โ”€ aws-lc-rs v1.6.1 (/Users/justinsmith/repos/aws-lc-rs/aws-lc-rs)

Build fails for some targets because of missing _ISOC11_SOURCE preprocessor definition

When trying to build the aws-lc-rs or the dependent project it fails for some targets (in particular x86_64-pc-windows-gnu) with a compiler error around static_assert. Error example:

rust/aws-lc-rs/aws-lc-sys/aws-lc/crypto/refcount_win.c:23:15: error: expected declaration specifiers or '...' before '_Alignof'
     23 | static_assert(alignof(CRYPTO_refcount_t) == alignof(LONG),
        |               ^~~~~~~

This happens because the standard <assert.h> header for MinGW toolchain contains this:

#if (defined _ISOC11_SOURCE \
     || (defined __STDC_VERSION__ && __STDC_VERSION__ >= 201112L)) \
    && !defined (__cplusplus)
/* Static assertion.  Requires support in the compiler.  */
#undef static_assert
#define static_assert _Static_assert
#endif

The workaround is to use CFLAGS="-D_ISOC11_SOURCE" env variable when building. A better solution to my opinion is to configure the build scripts to include it by default.

Edit: I think it happens because build scripts set "-std=c99", and assert_static is c11 feature.

aws-lc-sys failed to build for `aarch64-unknown-linux-gnu`

Problem:

aws-lc-sys v0.9.0 failed to build for aarch64-unknown-linux-gnu

build command:

cross build --release --target aarch64-unknown-linux-gnu

Relevant details

AWS-LC for Rust versions or commit: aws-lc-sys v0.9.0

System information: for linux, below info can be collected by running uname -srvmp

  • CPU architecture: aarch64
  • CPU name: (none)
  • OS: Ubuntu

Build log:

  • The log tells compiler and version.
   Compiling aws-lc-sys v0.9.0
error: failed to run custom build command for `aws-lc-sys v0.9.0`

Caused by:
  process didn't exit successfully: `/target/release/build/aws-lc-sys-49ae3abb0baf8cbc/build-script-main` (exit status: 101)
  --- stdout
  cargo:rustc-cfg=use_bindgen_generated
  CMAKE_TOOLCHAIN_FILE_aarch64-unknown-linux-gnu = None
  CMAKE_TOOLCHAIN_FILE_aarch64_unknown_linux_gnu = None
  TARGET_CMAKE_TOOLCHAIN_FILE = None
  CMAKE_TOOLCHAIN_FILE = None
  CMAKE_GENERATOR_aarch64-unknown-linux-gnu = None
  CMAKE_GENERATOR_aarch64_unknown_linux_gnu = None
  TARGET_CMAKE_GENERATOR = None
  CMAKE_GENERATOR = None
  CMAKE_PREFIX_PATH_aarch64-unknown-linux-gnu = None
  CMAKE_PREFIX_PATH_aarch64_unknown_linux_gnu = None
  TARGET_CMAKE_PREFIX_PATH = None
  CMAKE_PREFIX_PATH = None
  CMAKE_aarch64-unknown-linux-gnu = None
  CMAKE_aarch64_unknown_linux_gnu = None
  TARGET_CMAKE = None
  CMAKE = Some("cmake")
  running: cd "/target/aarch64-unknown-linux-gnu/release/build/aws-lc-sys-24cbd6106098b311/out/build" && CMAKE_PREFIX_PATH="" "cmake" "/cargo/registry/src/index.crates.io-6f17d22bba15001f/aws-lc-sys-0.9.0" "-DBUILD_SHARED_LIBS=0" "-DCMAKE_BUILD_TYPE=release" "-DBORINGSSL_PREFIX=aws_lc_0_9_0" "-DBORINGSSL_PREFIX_HEADERS=/cargo/registry/src/index.crates.io-6f17d22bba15001f/aws-lc-sys-0.9.0/generated-include" "-DBUILD_TESTING=OFF" "-DBUILD_LIBSSL=OFF" "-DDISABLE_PERL=ON" "-DDISABLE_GO=ON" "-DCMAKE_SYSTEM_NAME=Linux" "-DCMAKE_SYSTEM_PROCESSOR=aarch64" "-DCMAKE_INSTALL_PREFIX=/target/aarch64-unknown-linux-gnu/release/build/aws-lc-sys-24cbd6106098b311/out" "-DCMAKE_C_FLAGS= -ffunction-sections -fdata-sections -fPIC" "-DCMAKE_C_COMPILER=/usr/bin/aarch64-linux-gnu-gcc" "-DCMAKE_CXX_FLAGS= -ffunction-sections -fdata-sections -fPIC" "-DCMAKE_CXX_COMPILER=/usr/bin/aarch64-linux-gnu-g++" "-DCMAKE_ASM_FLAGS= -ffunction-sections -fdata-sections -fPIC" "-DCMAKE_ASM_COMPILER=/usr/bin/aarch64-linux-gnu-gcc" "--no-warn-unused-cli"
  Not searching for unused variables given on the command line.
  -- The C compiler identification is GNU 5.4.0
  -- Detecting C compiler ABI info
  -- Detecting C compiler ABI info - done
  -- Check for working C compiler: /usr/bin/aarch64-linux-gnu-gcc - 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 compiler identification is GNU
  -- Found assembler: /usr/bin/aarch64-linux-gnu-gcc
  -- Looking for pthread.h
  -- Looking for pthread.h - found
  -- Performing Test CMAKE_HAVE_LIBC_PTHREAD
  -- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Failed
  -- Looking for pthread_create in pthreads
  -- Looking for pthread_create in pthreads - not found
  -- Looking for pthread_create in pthread
  -- Looking for pthread_create in pthread - found
  -- Found Threads: TRUE  
  -- Configuring done
  -- Generating done
  -- Build files have been written to: /target/aarch64-unknown-linux-gnu/release/build/aws-lc-sys-24cbd6106098b311/out/build
  running: cd "/target/aarch64-unknown-linux-gnu/release/build/aws-lc-sys-24cbd6106098b311/out/build" && MAKEFLAGS="-j --jobserver-fds=7,8 --jobserver-auth=7,8" "cmake" "--build" "." "--target" "install" "--config" "Release"
  [  0%] Built target boringssl_prefix_symbols
  Scanning dependencies of target crypto_objects
  [  0%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/asn1/a_bitstr.c.o
  [  0%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/asn1/a_bool.c.o
  [  1%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/asn1/a_d2i_fp.c.o
  [  1%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/asn1/a_dup.c.o
  [  1%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/asn1/a_gentm.c.o
  [  2%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/asn1/a_i2d_fp.c.o
  [  2%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/asn1/a_int.c.o
  [  2%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/asn1/a_mbstr.c.o
  [  3%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/asn1/a_object.c.o
  [  3%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/asn1/a_octet.c.o
  [  3%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/asn1/a_strex.c.o
  [  4%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/asn1/a_strnid.c.o
  [  4%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/asn1/a_time.c.o
  [  4%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/asn1/a_type.c.o
  [  5%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/asn1/a_utctm.c.o
  [  5%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/asn1/a_utf8.c.o
  [  5%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/asn1/asn1_lib.c.o
  [  6%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/asn1/asn1_par.c.o
  [  6%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/asn1/asn_pack.c.o
  [  6%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/asn1/f_int.c.o
  [  7%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/asn1/f_string.c.o
  [  7%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/asn1/tasn_dec.c.o
  [  7%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/asn1/tasn_enc.c.o
  [  8%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/asn1/tasn_fre.c.o
  [  8%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/asn1/tasn_new.c.o
  [  8%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/asn1/tasn_typ.c.o
  [  9%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/asn1/tasn_utl.c.o
  [  9%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/asn1/posix_time.c.o
  [  9%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/base64/base64.c.o
  [ 10%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/bio/bio.c.o
  [ 10%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/bio/bio_mem.c.o
  [ 10%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/bio/connect.c.o
  [ 11%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/bio/fd.c.o
  [ 11%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/bio/file.c.o
  [ 11%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/bio/hexdump.c.o
  [ 11%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/bio/pair.c.o
  [ 12%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/bio/printf.c.o
  [ 12%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/bio/socket.c.o
  [ 12%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/bio/socket_helper.c.o
  [ 13%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/blake2/blake2.c.o
  [ 13%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/bn_extra/bn_asn1.c.o
  [ 13%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/bn_extra/convert.c.o
  [ 14%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/buf/buf.c.o
  [ 14%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/bytestring/asn1_compat.c.o
  [ 14%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/bytestring/ber.c.o
  [ 15%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/bytestring/cbb.c.o
  [ 15%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/bytestring/cbs.c.o
  [ 15%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/bytestring/unicode.c.o
  [ 16%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/chacha/chacha.c.o
  [ 16%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/cipher_extra/cipher_extra.c.o
  [ 16%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/cipher_extra/derive_key.c.o
  [ 17%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/cipher_extra/e_aesctrhmac.c.o
  [ 17%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/cipher_extra/e_aesgcmsiv.c.o
  [ 17%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/cipher_extra/e_chacha20poly1305.c.o
  [ 18%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/cipher_extra/e_aes_cbc_hmac_sha1.c.o
  [ 18%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/cipher_extra/e_aes_cbc_hmac_sha256.c.o
  [ 18%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/cipher_extra/e_des.c.o
  [ 19%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/cipher_extra/e_null.c.o
  [ 19%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/cipher_extra/e_rc2.c.o
  [ 19%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/cipher_extra/e_rc4.c.o
  [ 20%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/cipher_extra/e_tls.c.o
  [ 20%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/cipher_extra/tls_cbc.c.o
  [ 20%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/conf/conf.c.o
  [ 21%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/crypto.c.o
  [ 21%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/curve25519/curve25519.c.o
  [ 21%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/curve25519/curve25519_nohw.c.o
  [ 22%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/curve25519/spake25519.c.o
  [ 22%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/des/des.c.o
  [ 22%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/dh_extra/params.c.o
  [ 22%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/dh_extra/dh_asn1.c.o
  [ 23%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/digest_extra/digest_extra.c.o
  [ 23%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/dsa/dsa.c.o
  [ 23%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/dsa/dsa_asn1.c.o
  [ 24%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/ecdh_extra/ecdh_extra.c.o
  [ 24%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/ecdsa_extra/ecdsa_asn1.c.o
  [ 24%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/ec_extra/ec_asn1.c.o
  [ 25%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/ec_extra/ec_derive.c.o
  [ 25%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/ec_extra/hash_to_curve.c.o
  [ 25%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/err/err.c.o
  [ 26%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/err_data.c.o
  [ 26%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/engine/engine.c.o
  [ 26%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/evp_extra/evp_asn1.c.o
  [ 27%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/evp_extra/p_dsa_asn1.c.o
  [ 27%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/evp_extra/p_ec_asn1.c.o
  [ 27%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/evp_extra/p_ed25519.c.o
  [ 28%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/evp_extra/p_ed25519_asn1.c.o
  [ 28%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/evp_extra/p_kem.c.o
  [ 28%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/evp_extra/p_kem_asn1.c.o
  [ 29%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/evp_extra/p_rsa_asn1.c.o
  [ 29%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/evp_extra/p_x25519.c.o
  [ 29%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/evp_extra/p_x25519_asn1.c.o
  [ 30%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/evp_extra/p_methods.c.o
  [ 30%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/evp_extra/print.c.o
  [ 30%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/evp_extra/scrypt.c.o
  [ 31%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/evp_extra/sign.c.o
  [ 31%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/ex_data.c.o
  [ 31%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/hpke/hpke.c.o
  [ 32%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/hrss/hrss.c.o
  [ 32%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/kem/kem.c.o
  [ 32%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/kem/kem_methods.c.o
  [ 33%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/kyber/kyber512r3_ref.c.o
  [ 33%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/kyber/kyber768r3_ref.c.o
  [ 33%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/kyber/kyber1024r3_ref.c.o
  [ 33%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/kyber/pqcrystals_kyber_ref_common/fips.c.o
  [ 34%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/kyber/kem_kyber.c.o
  [ 34%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/lhash/lhash.c.o
  [ 34%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/mem.c.o
  [ 35%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/obj/obj.c.o
  [ 35%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/obj/obj_xref.c.o
  [ 35%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/ocsp/ocsp_asn.c.o
  [ 36%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/ocsp/ocsp_client.c.o
  [ 36%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/ocsp/ocsp_extension.c.o
  [ 36%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/ocsp/ocsp_http.c.o
  [ 37%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/ocsp/ocsp_lib.c.o
  [ 37%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/ocsp/ocsp_print.c.o
  [ 37%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/ocsp/ocsp_server.c.o
  [ 38%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/ocsp/ocsp_verify.c.o
  [ 38%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/pem/pem_all.c.o
  [ 38%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/pem/pem_info.c.o
  [ 39%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/pem/pem_lib.c.o
  [ 39%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/pem/pem_oth.c.o
  [ 39%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/pem/pem_pk8.c.o
  [ 40%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/pem/pem_pkey.c.o
  [ 40%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/pem/pem_x509.c.o
  [ 40%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/pem/pem_xaux.c.o
  [ 41%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/pkcs7/pkcs7.c.o
  [ 41%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/pkcs7/pkcs7_x509.c.o
  [ 41%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/pkcs8/pkcs8.c.o
  [ 42%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/pkcs8/pkcs8_x509.c.o
  [ 42%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/pkcs8/p5_pbev2.c.o
  [ 42%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/poly1305/poly1305.c.o
  [ 43%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/poly1305/poly1305_arm.c.o
  [ 43%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/poly1305/poly1305_vec.c.o
  [ 43%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/pool/pool.c.o
  [ 44%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/rand_extra/deterministic.c.o
  [ 44%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/rand_extra/forkunsafe.c.o
  [ 44%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/rand_extra/fuchsia.c.o
  [ 44%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/rand_extra/rand_extra.c.o
  [ 45%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/rand_extra/pq_custom_randombytes.c.o
  [ 45%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/rand_extra/windows.c.o
  [ 45%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/rc4/rc4.c.o
  [ 46%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/refcount_c11.c.o
  [ 46%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/refcount_lock.c.o
  [ 46%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/rsa_extra/rsa_asn1.c.o
  [ 47%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/rsa_extra/rsassa_pss_asn1.c.o
  [ 47%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/rsa_extra/rsa_print.c.o
  [ 47%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/stack/stack.c.o
  [ 48%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/siphash/siphash.c.o
  [ 48%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/thread.c.o
  [ 48%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/thread_none.c.o
  [ 49%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/thread_pthread.c.o
  [ 49%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/thread_win.c.o
  [ 49%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/trust_token/pmbtoken.c.o
  [ 50%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/trust_token/trust_token.c.o
  [ 50%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/trust_token/voprf.c.o
  [ 50%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509/a_digest.c.o
  [ 51%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509/a_sign.c.o
  [ 51%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509/a_verify.c.o
  [ 51%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509/algorithm.c.o
  [ 52%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509/asn1_gen.c.o
  [ 52%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509/by_dir.c.o
  [ 52%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509/by_file.c.o
  [ 53%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509/i2d_pr.c.o
  [ 53%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509/name_print.c.o
  [ 53%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509/policy.c.o
  [ 54%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509/rsa_pss.c.o
  [ 54%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509/t_crl.c.o
  [ 54%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509/t_req.c.o
  [ 55%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509/t_x509.c.o
  [ 55%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509/t_x509a.c.o
  [ 55%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509/x509.c.o
  [ 55%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509/x509_att.c.o
  [ 56%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509/x509_cmp.c.o
  [ 56%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509/x509_d2.c.o
  [ 56%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509/x509_def.c.o
  [ 57%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509/x509_ext.c.o
  [ 57%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509/x509_lu.c.o
  [ 57%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509/x509_obj.c.o
  [ 58%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509/x509_req.c.o
  [ 58%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509/x509_set.c.o
  [ 58%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509/x509_trs.c.o
  [ 59%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509/x509_txt.c.o
  [ 59%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509/x509_v3.c.o
  [ 59%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509/x509_vfy.c.o
  [ 60%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509/x509_vpm.c.o
  [ 60%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509/x509cset.c.o
  [ 60%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509/x509name.c.o
  [ 61%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509/x509rset.c.o
  [ 61%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509/x509spki.c.o
  [ 61%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509/x_algor.c.o
  [ 62%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509/x_all.c.o
  [ 62%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509/x_attrib.c.o
  [ 62%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509/x_crl.c.o
  [ 63%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509/x_exten.c.o
  [ 63%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509/x_info.c.o
  [ 63%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509/x_name.c.o
  [ 64%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509/x_pkey.c.o
  [ 64%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509/x_pubkey.c.o
  [ 64%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509/x_req.c.o
  [ 65%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509/x_sig.c.o
  [ 65%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509/x_spki.c.o
  [ 65%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509/x_val.c.o
  [ 66%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509/x_x509.c.o
  [ 66%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509/x_x509a.c.o
  [ 66%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509v3/v3_akey.c.o
  [ 66%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509v3/v3_akeya.c.o
  [ 67%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509v3/v3_alt.c.o
  [ 67%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509v3/v3_bcons.c.o
  [ 67%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509v3/v3_bitst.c.o
  [ 68%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509v3/v3_conf.c.o
  [ 68%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509v3/v3_cpols.c.o
  [ 68%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509v3/v3_crld.c.o
  [ 69%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509v3/v3_enum.c.o
  [ 69%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509v3/v3_extku.c.o
  [ 69%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509v3/v3_genn.c.o
  [ 70%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509v3/v3_ia5.c.o
  [ 70%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509v3/v3_info.c.o
  [ 70%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509v3/v3_int.c.o
  [ 71%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509v3/v3_lib.c.o
  [ 71%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509v3/v3_ncons.c.o
  [ 71%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509v3/v3_ocsp.c.o
  [ 72%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509v3/v3_pcons.c.o
  [ 72%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509v3/v3_pmaps.c.o
  [ 72%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509v3/v3_prn.c.o
  [ 73%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509v3/v3_purp.c.o
  [ 73%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509v3/v3_skey.c.o
  [ 73%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509v3/v3_utl.c.o
  [ 74%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/decrepit/bio/base64_bio.c.o
  [ 74%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/decrepit/blowfish/blowfish.c.o
  [ 74%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/decrepit/cast/cast.c.o
  [ 75%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/decrepit/cast/cast_tables.c.o
  [ 75%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/decrepit/cfb/cfb.c.o
  [ 75%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/decrepit/dh/dh_decrepit.c.o
  [ 76%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/decrepit/evp/evp_do_all.c.o
  [ 76%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/decrepit/ripemd/ripemd.c.o
  [ 76%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/decrepit/rsa/rsa_decrepit.c.o
  [ 77%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/decrepit/x509/x509_decrepit.c.o
  [ 77%] Building ASM object aws-lc/crypto/CMakeFiles/crypto_objects.dir/chacha/chacha-armv8.S.o
  [ 77%] Building ASM object aws-lc/crypto/CMakeFiles/crypto_objects.dir/test/trampoline-armv8.S.o
  [ 77%] Building ASM object aws-lc/crypto/CMakeFiles/crypto_objects.dir/cipher_extra/chacha20_poly1305_armv8.S.o
  [ 77%] Built target crypto_objects
  [ 78%] Generating p521/bignum_tolebytes_p521.S.S
  [ 78%] Generating curve19/curve25519_x25519_byte.S.S
  [ 79%] Generating curve25519/curve25519_x25519_byte_alt.S.S
  [ 79%] Generating curve25519/curve25519_x25519base_byte.S.S
  [ 79%] Generating curve25519/curve25519_x25519base_byte_alt.S.S
  [ 80%] Generating p384/bignum_add_p384.S.S
  [ 80%] Generating p384/bignum_deamont_p384.S.S
  [ 80%] Generating p384/bignum_littleendian_6.S.S
  [ 80%] Generating p384/bignum_montmul_p384.S.S
  [ 81%] Generating p384/bignum_montmul_p384_alt.S.S
  [ 81%] Generating p384/bignum_montsqr_p384.S.S
  [ 81%] Generating p384/bignum_montsqr_p384_alt.S.S
  [ 81%] Generating p384/bignum_neg_p384.S.S
  [ 82%] Generating p384/bignum_nonzero_6.S.S
  [ 82%] Generating p384/bignum_sub_p384.S.S
  [ 83%] Generating p384/bignum_tomont_p384.S.S
  [ 83%] Generating p521/bignum_add_p521.S.S
  [ 83%] Generating p521/bignum_fromlebytes_p521.S.S
  [ 83%] Generating p521/bignum_mul_p521.S.S
  [ 84%] Generating p521/bignum_mul_p521_alt.S.S
  [ 84%] Generating p521/bignum_neg_p521.S.S
  [ 84%] Generating p521/bignum_sqr_p521.S.S
  [ 84%] Generating p521/bignum_sqr_p521_alt.S.S
  [ 85%] Generating p521/bignum_sub_p521.S.S
  Scanning dependencies of target fipsmodule
  [ 86%] Building C object aws-lc/crypto/fipsmodule/CMakeFiles/fipsmodule.dir/bcm.c.o
  [ 86%] Building C object aws-lc/crypto/fipsmodule/CMakeFiles/fipsmodule.dir/fips_shared_support.c.o
  [ 86%] Building C object aws-lc/crypto/fipsmodule/CMakeFiles/fipsmodule.dir/cpucap/cpucap.c.o
  [ 87%] Building ASM object aws-lc/crypto/fipsmodule/CMakeFiles/fipsmodule.dir/aesv8-armx.S.o
  [ 87%] Building ASM object aws-lc/crypto/fipsmodule/CMakeFiles/fipsmodule.dir/aesv8-gcm-armv8.S.o
  [ 87%] Building ASM object aws-lc/crypto/fipsmodule/CMakeFiles/fipsmodule.dir/aesv8-gcm-armv8-unroll8.S.o
  [ 88%] Building ASM object aws-lc/crypto/fipsmodule/CMakeFiles/fipsmodule.dir/armv8-mont.S.o
  [ 88%] Building ASM object aws-lc/crypto/fipsmodule/CMakeFiles/fipsmodule.dir/bn-armv8.S.o
  [ 88%] Building ASM object aws-lc/crypto/fipsmodule/CMakeFiles/fipsmodule.dir/ghash-neon-armv8.S.o
  [ 88%] Building ASM object aws-lc/crypto/fipsmodule/CMakeFiles/fipsmodule.dir/ghashv8-armx.S.o
  [ 89%] Building ASM object aws-lc/crypto/fipsmodule/CMakeFiles/fipsmodule.dir/keccak1600-armv8.S.o
  [ 89%] Building ASM object aws-lc/crypto/fipsmodule/CMakeFiles/fipsmodule.dir/md5-armv8.S.o
  [ 89%] Building ASM object aws-lc/crypto/fipsmodule/CMakeFiles/fipsmodule.dir/p256-armv8-asm.S.o
  [ 90%] Building ASM object aws-lc/crypto/fipsmodule/CMakeFiles/fipsmodule.dir/p256_beeu-armv8-asm.S.o
  [ 90%] Building ASM object aws-lc/crypto/fipsmodule/CMakeFiles/fipsmodule.dir/sha1-armv8.S.o
  [ 90%] Building ASM object aws-lc/crypto/fipsmodule/CMakeFiles/fipsmodule.dir/sha256-armv8.S.o
  [ 91%] Building ASM object aws-lc/crypto/fipsmodule/CMakeFiles/fipsmodule.dir/sha512-armv8.S.o
  [ 91%] Building ASM object aws-lc/crypto/fipsmodule/CMakeFiles/fipsmodule.dir/vpaes-armv8.S.o
  [ 91%] Building ASM object aws-lc/crypto/fipsmodule/CMakeFiles/fipsmodule.dir/p384/bignum_add_p384.S.S.o
  [ 92%] Building ASM object aws-lc/crypto/fipsmodule/CMakeFiles/fipsmodule.dir/p384/bignum_sub_p384.S.S.o
  [ 92%] Building ASM object aws-lc/crypto/fipsmodule/CMakeFiles/fipsmodule.dir/p384/bignum_neg_p384.S.S.o
  [ 92%] Building ASM object aws-lc/crypto/fipsmodule/CMakeFiles/fipsmodule.dir/p384/bignum_tomont_p384.S.S.o
  [ 93%] Building ASM object aws-lc/crypto/fipsmodule/CMakeFiles/fipsmodule.dir/p384/bignum_deamont_p384.S.S.o
  [ 93%] Building ASM object aws-lc/crypto/fipsmodule/CMakeFiles/fipsmodule.dir/p384/bignum_montmul_p384.S.S.o
  [ 93%] Building ASM object aws-lc/crypto/fipsmodule/CMakeFiles/fipsmodule.dir/p384/bignum_montmul_p384_alt.S.S.o
  [ 94%] Building ASM object aws-lc/crypto/fipsmodule/CMakeFiles/fipsmodule.dir/p384/bignum_montsqr_p384.S.S.o
  [ 94%] Building ASM object aws-lc/crypto/fipsmodule/CMakeFiles/fipsmodule.dir/p384/bignum_montsqr_p384_alt.S.S.o
  [ 94%] Building ASM object aws-lc/crypto/fipsmodule/CMakeFiles/fipsmodule.dir/p384/bignum_nonzero_6.S.S.o
  [ 95%] Building ASM object aws-lc/crypto/fipsmodule/CMakeFiles/fipsmodule.dir/p384/bignum_littleendian_6.S.S.o
  [ 95%] Building ASM object aws-lc/crypto/fipsmodule/CMakeFiles/fipsmodule.dir/p521/bignum_add_p521.S.S.o
  [ 95%] Building ASM object aws-lc/crypto/fipsmodule/CMakeFiles/fipsmodule.dir/p521/bignum_sub_p521.S.S.o
  [ 96%] Building ASM object aws-lc/crypto/fipsmodule/CMakeFiles/fipsmodule.dir/p521/bignum_neg_p521.S.S.o
  [ 96%] Building ASM object aws-lc/crypto/fipsmodule/CMakeFiles/fipsmodule.dir/p521/bignum_mul_p521.S.S.o
  [ 96%] Building ASM object aws-lc/crypto/fipsmodule/CMakeFiles/fipsmodule.dir/p521/bignum_mul_p521_alt.S.S.o
  [ 97%] Building ASM object aws-lc/crypto/fipsmodule/CMakeFiles/fipsmodule.dir/p521/bignum_sqr_p521.S.S.o
  [ 97%] Building ASM object aws-lc/crypto/fipsmodule/CMakeFiles/fipsmodule.dir/p521/bignum_sqr_p521_alt.S.S.o
  [ 97%] Building ASM object aws-lc/crypto/fipsmodule/CMakeFiles/fipsmodule.dir/p521/bignum_tolebytes_p521.S.S.o
  [ 98%] Building ASM object aws-lc/crypto/fipsmodule/CMakeFiles/fipsmodule.dir/p521/bignum_fromlebytes_p521.S.S.o
  [ 98%] Building ASM object aws-lc/crypto/fipsmodule/CMakeFiles/fipsmodule.dir/curve25519/curve25519_x25519_byte.S.S.o
  [ 98%] Building ASM object aws-lc/crypto/fipsmodule/CMakeFiles/fipsmodule.dir/curve25519/curve25519_x25519_byte_alt.S.S.o
  [ 99%] Building ASM object aws-lc/crypto/fipsmodule/CMakeFiles/fipsmodule.dir/curve25519/curve25519_x25519base_byte.S.S.o
  [ 99%] Building ASM object aws-lc/crypto/fipsmodule/CMakeFiles/fipsmodule.dir/curve25519/curve25519_x25519base_byte_alt.S.S.o
  [ 99%] Built target fipsmodule
  [ 99%] Linking C static library ../../artifacts/libaws_lc_0_9_0crypto.a
  [ 99%] Built target crypto
  [ 99%] Building C object CMakeFiles/rust_wrapper.dir/rust_wrapper.c.o
  [100%] Linking C static library artifacts/libaws_lc_0_9_0rust_wrapper.a
  [100%] Built target rust_wrapper
  Install the project...
  -- Install configuration: "release"
  cargo:root=/target/aarch64-unknown-linux-gnu/release/build/aws-lc-sys-24cbd6106098b311/out

  --- stderr
  Copying platform assembly files from /cargo/registry/src/index.crates.io-6f17d22bba15001f/aws-lc-sys-0.9.0/aws-lc/generated-src/linux-aarch64/crypto/ to /target/aarch64-unknown-linux-gnu/release/build/aws-lc-sys-24cbd6106098b311/out/build/aws-lc/crypto
  /usr/aarch64-linux-gnu/include/stdio.h:33:11: fatal error: 'stddef.h' file not found
  thread 'main' panicked at '
  A `libclang` function was called that is not supported by the loaded `libclang` instance.

      called function = `clang_getTranslationUnitTargetInfo`
      loaded `libclang` instance = 3.8.x

  This crate only supports `libclang` 3.5 and later.
  The minimum `libclang` requirement for this particular function can be found here:
  https://docs.rs/clang-sys/latest/clang_sys/clang_getTranslationUnitTargetInfo/index.html

  Instructions for installing `libclang` can be found here:
  https://rust-lang.github.io/rust-bindgen/requirements.html
  ', /cargo/registry/src/index.crates.io-6f17d22bba15001f/clang-sys-1.6.1/src/lib.rs:1735:1
  note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
warning: build failed, waiting for other jobs to finish...
Error: Process completed with exit code 101.

Please document the licensing of aws-lc

Problem:

aws-lc-rs lists its license as SPDX-License-Identifier: ISC AND (Apache-2.0 OR ISC), which could lead people to assume that it doesn't have code under the old OpenSSL license. However, https://github.com/aws/aws-lc/blob/main/LICENSE gives a clearer picture of the licensing, showing that aws-lc still has code under the old OpenSSL license. Please document this in the license field of aws-lc-rs so that, for instance, people looking to preserve GPL-compatibility are not misled into thinking that aws-lc is just ISC and Apache-2.0.

Solution:

Please modify the license field in Cargo.toml to also include the OpenSSL license as an AND.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.