Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Closed
doraemonkeys opened this issue Mar 28, 2024 · 16 comments · Fixed by #431
Closed

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

doraemonkeys opened this issue Mar 28, 2024 · 16 comments · Fixed by #431
Assignees
Labels
build problem Build failure

Comments

@doraemonkeys
Copy link

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.
@justsmth justsmth self-assigned this Mar 28, 2024
@justsmth
Copy link
Contributor

justsmth commented Apr 1, 2024

For Windows/ARM64, the build for AWS-LC (specifically its assembly code) requires the use of clang (or clang-cl). I was able to get AWS-LC to successfully build on Windows/ARM64 for me locally, but I still need to test it and (hopefully) find a way to incorporate the Windows/ARM64 platform into our CI.

We could potentially provide you a temporary workaround by facilitating a build that only uses the C-implementation (i.e., OPENSSL_NO_ASM) for cryptographic primitives, but that causes a severe decrease in performance.

I believe the following tasks will need to be completed for this:

  • Add documentation/CI for building AWS-LC on Windows (either x86-64 or ARM64) using Clang.
  • Update the aws-lc-sys (and aws-lc-fips-sys) build scripts to utilize Clang on Windows when available.
  • Update the aws-lc-rs User Guide.

@Lilit0x
Copy link

Lilit0x commented Apr 3, 2024

Hi @justsmth . I am also having the same issue but with the x86_64-pc-windows-gnu target. The difference is that I am cross-compiling for this target and from what I could decipher from the error, it looked as if there is a compatibility issue between mingw and the types the aws-lc lib expects.

Here is my Dockerfile:

FROM rust:latest

RUN apt-get update && \
    apt-get install -y curl build-essential gcc-multilib g++-multilib libssl-dev pkg-config jq cmake libclang-dev llvm-dev clang git wget mingw-w64 && \
    apt-get clean && \
    rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*

# Compile NASM from source for windows-gnu
RUN wget https://www.nasm.us/pub/nasm/releasebuilds/2.16.01/nasm-2.16.01.tar.gz && \
    tar -xzf nasm-2.16.01.tar.gz && \
    cd nasm-2.16.01/ && \
    ./configure && \
    make && \
    make install && \
    cd .. && \
    rm -rf nasm-2.16.01*

WORKDIR /usr/src/myappname
ENV TAG=0.7.18
COPY . .

RUN chmod +x release.sh upload.sh

CMD ["./release.sh"]

The main command that builds the binary in release.sh is

 OPENSSL_LIB_DIR=/usr/lib OPENSSL_INCLUDE_DIR=/usr/include/openssl PKG_CONFIG_PATH=/usr/lib/pkgconfig CARGO_TARGET_DIR="./target" cargo build --release --target x86_64-pc-windows-gnu --bin "surveilr" >&2

Lastly, here is the log for the build:

error: failed to run custom build command for `aws-lc-sys v0.13.3`

Caused by:
  process didn't exit successfully: `/usr/src/resource-surveillance/src/surveilr_ux_cli/./target/release/build/aws-lc-sys-3dd604b336907a64/build-script-main` (exit status: 101)
  --- stdout
  cargo:rustc-cfg=use_bindgen_generated
  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: cd "/usr/src/resource-surveillance/src/surveilr_ux_cli/./target/x86_64-pc-windows-gnu/release/build/aws-lc-sys-f8140966296b6e29/out/build" && CMAKE_PREFIX_PATH="" "cmake" "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/aws-lc-sys-0.13.3" "-DCMAKE_RC_COMPILER=/usr/bin/x86_64-w64-mingw32-windres" "-DBUILD_SHARED_LIBS=0" "-DCMAKE_BUILD_TYPE=release" "-DBORINGSSL_PREFIX=aws_lc_0_13_3_" "-DBORINGSSL_PREFIX_HEADERS=/usr/local/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=AMD64" "-DCMAKE_INSTALL_PREFIX=/usr/src/resource-surveillance/src/surveilr_ux_cli/./target/x86_64-pc-windows-gnu/release/build/aws-lc-sys-f8140966296b6e29/out" "-DCMAKE_C_FLAGS= -ffunction-sections -fdata-sections -m64 -Wno-maybe-uninitialized" "-DCMAKE_C_COMPILER=/usr/bin/x86_64-w64-mingw32-gcc" "-DCMAKE_CXX_FLAGS= -ffunction-sections -fdata-sections -m64 -Wno-maybe-uninitialized" "-DCMAKE_CXX_COMPILER=/usr/bin/x86_64-w64-mingw32-g++" "-DCMAKE_ASM_FLAGS= -ffunction-sections -fdata-sections -m64 -Wno-maybe-uninitialized" "-DCMAKE_ASM_COMPILER=/usr/bin/x86_64-w64-mingw32-gcc" "--no-warn-unused-cli"
  Not searching for unused variables given on the command line.
  -- The C compiler identification is GNU 12.0.0
  -- Detecting C compiler ABI info
  -- Detecting C compiler ABI info - done
  -- Check for working C compiler: /usr/bin/x86_64-w64-mingw32-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_NASM compiler identification is NASM
  -- Found assembler: /usr/local/bin/nasm
  -- 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: /usr/src/resource-surveillance/src/surveilr_ux_cli/target/x86_64-pc-windows-gnu/release/build/aws-lc-sys-f8140966296b6e29/out/build
  running: cd "/usr/src/resource-surveillance/src/surveilr_ux_cli/./target/x86_64-pc-windows-gnu/release/build/aws-lc-sys-f8140966296b6e29/out/build" && MAKEFLAGS="-j --jobserver-fds=9,12 --jobserver-auth=9,12" "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.obj
  [  1%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/asn1/a_bool.c.obj
  [  1%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/asn1/a_d2i_fp.c.obj
  [  1%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/asn1/a_dup.c.obj
  [  2%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/asn1/a_gentm.c.obj
  [  2%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/asn1/a_i2d_fp.c.obj
  [  2%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/asn1/a_int.c.obj
  [  3%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/asn1/a_mbstr.c.obj
  [  3%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/asn1/a_object.c.obj
  [  4%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/asn1/a_octet.c.obj
  [  4%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/asn1/a_strex.c.obj
  [  4%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/asn1/a_strnid.c.obj
  [  5%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/asn1/a_time.c.obj
  [  5%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/asn1/a_type.c.obj
  [  5%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/asn1/a_utctm.c.obj
  [  6%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/asn1/a_utf8.c.obj
  [  6%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/asn1/asn1_lib.c.obj
  [  7%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/asn1/asn1_par.c.obj
  [  7%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/asn1/asn_pack.c.obj
  [  7%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/asn1/f_int.c.obj
  [  8%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/asn1/f_string.c.obj
  [  8%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/asn1/tasn_dec.c.obj
  [  8%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/asn1/tasn_enc.c.obj
  [  9%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/asn1/tasn_fre.c.obj
  [  9%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/asn1/tasn_new.c.obj
  [  9%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/asn1/tasn_typ.c.obj
  [ 10%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/asn1/tasn_utl.c.obj
  [ 10%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/asn1/posix_time.c.obj
  [ 11%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/base64/base64.c.obj
  [ 11%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/bio/bio.c.obj
  [ 11%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/bio/bio_mem.c.obj
  [ 12%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/bio/connect.c.obj
  [ 12%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/bio/fd.c.obj
  [ 12%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/bio/file.c.obj
  [ 13%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/bio/hexdump.c.obj
  [ 13%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/bio/pair.c.obj
  [ 14%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/bio/printf.c.obj
  [ 14%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/bio/socket.c.obj
  [ 14%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/bio/socket_helper.c.obj
  [ 15%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/blake2/blake2.c.obj
  [ 15%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/bn_extra/bn_asn1.c.obj
  [ 15%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/bn_extra/convert.c.obj
  [ 16%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/buf/buf.c.obj
  [ 16%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/bytestring/asn1_compat.c.obj
  [ 16%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/bytestring/ber.c.obj
  [ 17%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/bytestring/cbb.c.obj
  [ 17%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/bytestring/cbs.c.obj
  [ 18%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/bytestring/unicode.c.obj
  [ 18%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/chacha/chacha.c.obj
  [ 18%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/cipher_extra/cipher_extra.c.obj
  [ 19%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/cipher_extra/derive_key.c.obj
  [ 19%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/cipher_extra/e_aesctrhmac.c.obj
  [ 19%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/cipher_extra/e_aesgcmsiv.c.obj
  [ 20%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/cipher_extra/e_chacha20poly1305.c.obj
  [ 20%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/cipher_extra/e_aes_cbc_hmac_sha1.c.obj
  [ 21%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/cipher_extra/e_aes_cbc_hmac_sha256.c.obj
  [ 21%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/cipher_extra/e_des.c.obj
  [ 21%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/cipher_extra/e_null.c.obj
  [ 22%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/cipher_extra/e_rc2.c.obj
  [ 22%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/cipher_extra/e_rc4.c.obj
  [ 22%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/cipher_extra/e_tls.c.obj
  [ 23%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/cipher_extra/tls_cbc.c.obj
  [ 23%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/conf/conf.c.obj
  [ 23%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/crypto.c.obj
  [ 24%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/curve25519/curve25519.c.obj
  [ 24%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/curve25519/curve25519_nohw.c.obj
  [ 25%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/curve25519/curve25519_s2n_bignum_asm.c.obj
  [ 25%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/curve25519/spake25519.c.obj
  [ 26%] Building C object aws-lc/crypto/fipsmodule/CMakeFiles/fipsmodule.dir/bcm.c.obj
  [ 26%] Building C object aws-lc/crypto/fipsmodule/CMakeFiles/fipsmodule.dir/fips_shared_support.c.obj
  [ 26%] Building C object aws-lc/crypto/fipsmodule/CMakeFiles/fipsmodule.dir/cpucap/cpucap.c.obj
  [ 27%] Building ASM_NASM object aws-lc/crypto/fipsmodule/CMakeFiles/fipsmodule.dir/aesni-gcm-avx512.asm.obj
  [ 27%] Building ASM_NASM object aws-lc/crypto/fipsmodule/CMakeFiles/fipsmodule.dir/aesni-gcm-x86_64.asm.obj
  [ 27%] Building ASM_NASM object aws-lc/crypto/fipsmodule/CMakeFiles/fipsmodule.dir/aesni-x86_64.asm.obj
  [ 28%] Building ASM_NASM object aws-lc/crypto/fipsmodule/CMakeFiles/fipsmodule.dir/aesni-xts-avx512.asm.obj
  [ 28%] Building ASM_NASM object aws-lc/crypto/fipsmodule/CMakeFiles/fipsmodule.dir/ghash-ssse3-x86_64.asm.obj
  [ 29%] Building ASM_NASM object aws-lc/crypto/fipsmodule/CMakeFiles/fipsmodule.dir/ghash-x86_64.asm.obj
  [ 29%] Building ASM_NASM object aws-lc/crypto/fipsmodule/CMakeFiles/fipsmodule.dir/md5-x86_64.asm.obj
  [ 29%] Building ASM_NASM object aws-lc/crypto/fipsmodule/CMakeFiles/fipsmodule.dir/p256-x86_64-asm.asm.obj
  [ 30%] Building ASM_NASM object aws-lc/crypto/fipsmodule/CMakeFiles/fipsmodule.dir/p256_beeu-x86_64-asm.asm.obj
  [ 30%] Building ASM_NASM object aws-lc/crypto/fipsmodule/CMakeFiles/fipsmodule.dir/rdrand-x86_64.asm.obj
  [ 31%] Building ASM_NASM object aws-lc/crypto/fipsmodule/CMakeFiles/fipsmodule.dir/rsaz-avx2.asm.obj
  [ 31%] Building ASM_NASM object aws-lc/crypto/fipsmodule/CMakeFiles/fipsmodule.dir/sha1-x86_64.asm.obj
  [ 31%] Building ASM_NASM object aws-lc/crypto/fipsmodule/CMakeFiles/fipsmodule.dir/sha256-x86_64.asm.obj
  [ 32%] Building ASM_NASM object aws-lc/crypto/fipsmodule/CMakeFiles/fipsmodule.dir/sha512-x86_64.asm.obj
  [ 32%] Building ASM_NASM object aws-lc/crypto/fipsmodule/CMakeFiles/fipsmodule.dir/vpaes-x86_64.asm.obj
  [ 32%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/des/des.c.obj
  [ 32%] Building ASM_NASM object aws-lc/crypto/fipsmodule/CMakeFiles/fipsmodule.dir/x86_64-mont5.asm.obj
  [ 33%] Building ASM_NASM object aws-lc/crypto/fipsmodule/CMakeFiles/fipsmodule.dir/x86_64-mont.asm.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
  [ 34%] 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
  [ 35%] 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
  [ 36%] 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
  [ 37%] 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/evp_asn1.c.obj
  [ 39%] 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/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
  [ 40%] 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
  [ 41%] 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
  [ 42%] 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
  [ 43%] 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
  [ 44%] 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
  [ 45%] 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
  [ 46%] 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
  [ 47%] 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
  [ 48%] 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
  [ 49%] 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
  [ 50%] 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
  [ 51%] 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
  [ 52%] 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
  [ 53%] 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
  [ 54%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/pem/pem_pkey.c.obj
  [ 54%] 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_xaux.c.obj
  [ 55%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/pkcs7/pkcs7.c.obj
  [ 55%] 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
  [ 56%] 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
  [ 57%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/poly1305/poly1305.c.obj
  [ 57%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/poly1305/poly1305_arm.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
  [ 58%] 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
  [ 59%] 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
  [ 60%] 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/rc4/rc4.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/refcount_c11.c.obj
  [ 62%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/refcount_lock.c.obj
  [ 62%] 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
  [ 63%] 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_print.c.obj
  [ 64%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/stack/stack.c.obj
  [ 64%] Built target fipsmodule

  --- stderr
  Copying platform assembly files from /usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/aws-lc-sys-0.13.3/aws-lc/generated-src/win-x86_64/crypto/ to /usr/src/resource-surveillance/src/surveilr_ux_cli/target/x86_64-pc-windows-gnu/release/build/aws-lc-sys-f8140966296b6e29/out/build/aws-lc/crypto
  In file included from /usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/aws-lc-sys-0.13.3/aws-lc/crypto/internal.h:137,
                   from /usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/aws-lc-sys-0.13.3/aws-lc/crypto/refcount_win.c:15:
  /usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/aws-lc-sys-0.13.3/aws-lc/crypto/refcount_win.c:23:15: error: expected declaration specifiers or '...' before '_Alignof'
     23 | static_assert(alignof(CRYPTO_refcount_t) == alignof(LONG),
        |               ^~~~~~~
  /usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/aws-lc-sys-0.13.3/aws-lc/crypto/refcount_win.c:24:15: error: expected declaration specifiers or '...' before string constant
     24 |               "CRYPTO_refcount_t does not match LONG alignment");
        |               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/aws-lc-sys-0.13.3/aws-lc/crypto/refcount_win.c:25:15: error: expected declaration specifiers or '...' before 'sizeof'
     25 | static_assert(sizeof(CRYPTO_refcount_t) == sizeof(LONG),
        |               ^~~~~~
  /usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/aws-lc-sys-0.13.3/aws-lc/crypto/refcount_win.c:26:15: error: expected declaration specifiers or '...' before string constant
     26 |               "CRYPTO_refcount_t does not match LONG size");
        |               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/aws-lc-sys-0.13.3/aws-lc/crypto/refcount_win.c:28:15: error: expected declaration specifiers or '...' before '(' token
     28 | static_assert((CRYPTO_refcount_t)-1 == CRYPTO_REFCOUNT_MAX,
        |               ^
  /usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/aws-lc-sys-0.13.3/aws-lc/crypto/refcount_win.c:29:15: error: expected declaration specifiers or '...' before string constant
     29 |               "CRYPTO_REFCOUNT_MAX is incorrect");
        |               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  gmake[2]: *** [aws-lc/crypto/CMakeFiles/crypto_objects.dir/build.make:2282: aws-lc/crypto/CMakeFiles/crypto_objects.dir/refcount_win.c.obj] Error 1
  gmake[2]: *** Waiting for unfinished jobs....
  gmake[1]: *** [CMakeFiles/Makefile2:204: aws-lc/crypto/CMakeFiles/crypto_objects.dir/all] Error 2
  gmake[1]: *** Waiting for unfinished jobs....
  gmake: *** [Makefile:136: all] Error 2
  thread 'main' panicked at /usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/cmake-0.1.50/src/lib.rs:1098:5:

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

  build script failed, must exit now
  note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
warning: build failed, waiting for other jobs to finish...

@justsmth
Copy link
Contributor

justsmth commented Apr 3, 2024

The fix for this was recently merged into AWS-LC: aws/aws-lc#1492

We should pick up this fix in the 0.15.0 release of aws-lc-sys, which might be early next week? We would also need to add testing in our CI for the x86_64-pc-windows-gnu target.

@Lilit0x
Copy link

Lilit0x commented Apr 3, 2024

Okay, that's perfect. Thanks.
Also, do you have any workarounds for compiling to x86_64-apple-darwin?

@justsmth
Copy link
Contributor

justsmth commented Apr 3, 2024

If you have a build problem on x86_64-apple-darwin checkout our User Guide, or submit an issue to our repo.

That platform should build and is used throughout our CI.

@Lilit0x
Copy link

Lilit0x commented Apr 10, 2024

Hi @justsmth, I wanted to ask if there's any update on the 0.15.0 release.
Thanks

@zonyitoo
Copy link

Same happened on x86_64-pc-windows-msvc

error: failed to run custom build command for `aws-lc-sys v0.14.1`

Caused by:
  process didn't exit successfully: `D:\a\shadowsocks-rust\shadowsocks-rust\target\debug\build\aws-lc-sys-7f0bf2a325bb302a\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_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-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.14.1" "-G" "Visual Studio 17 2022" "-Thost=x64" "-Ax64" "-DBUILD_SHARED_LIBS=0" "-DCMAKE_BUILD_TYPE=debug" "-DBORINGSSL_PREFIX=aws_lc_0_14_1_" "-DBORINGSSL_PREFIX_HEADERS=C:\\Users\\runneradmin\\.cargo\\registry\\src\\index.crates.io-6f17d22bba15001f\\aws-lc-sys-0.14.1\\generated-include" "-DBUILD_TESTING=OFF" "-DBUILD_LIBSSL=OFF" "-DDISABLE_PERL=ON" "-DDISABLE_GO=ON" "-DCMAKE_INSTALL_PREFIX=D:\\a\\shadowsocks-rust\\shadowsocks-rust\\target\\debug\\build\\aws-lc-sys-1076261f265fd5c8\\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.
  -- 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/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 unknown
  -- Didn't find assembler
  -- Configuring incomplete, errors occurred!

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


  CMake Error at aws-lc/crypto/CMakeLists.txt:73 (enable_language):
    No CMAKE_ASM_NASM_COMPILER could be found.



  thread 'main' panicked at C:\Users\runneradmin\.cargo\registry\src\index.crates.io-6f17d22bba1[500](https://github.com/shadowsocks/shadowsocks-rust/actions/runs/8601196082/job/23567870869?pr=1475#step:10:501)1f\cmake-0.1.50\src\lib.rs:1098:5:

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

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

@justsmth
Copy link
Contributor

@zonyitoo -- The issue there is that the NASM assembler was not found:

...
  -- The ASM_NASM compiler identification is unknown
  -- Didn't find assembler
  -- Configuring incomplete, errors occurred!
...

The section here in the User Guide provides instructions on installing NASM.

@justsmth
Copy link
Contributor

@Lilit0x -- Support for x86_64-pc-windows-gnu should be available in our latest release: https://github.com/aws/aws-lc-rs/releases/tag/v1.7.0

@Lilit0x
Copy link

Lilit0x commented Apr 17, 2024

Hi @justsmth . Thanks for the update. I updated aws-lc-rs to the latest version, but I still got the below error. I tried to suppress the warnings by setting the "CFLAGS=-Wno-maybe-uninitialized" variable.

I switched to using a github hosted runner like you have in your CI.

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

Here is the error log:

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

@justsmth
Copy link
Contributor

justsmth commented Apr 17, 2024

Hi @Lilit0x - would you submit this as a separate issue regarding x86_64-pc-windows-gnu support? It appears to be a new(?) issue (possibly affecting other platforms as well) and unrelated to the original posting here regarding aarch64-pc-windows-msvc support.

Are you able to reproduce this build error from a command line? I see the compiler being used in GNU 12.2.0. Any other information you have about the build environment might be helpful.

Thanks!

@Lilit0x
Copy link

Lilit0x commented Apr 17, 2024

#397

@Ousret
Copy link

Ousret commented Apr 21, 2024

Hello,

I, myself, found challenges at trying to build for Windows ARM64.

The error I get is different.

C:\PROGRA~1\LLVM\bin\clang-cl.exe  /nologo   -nologo -MD -Brepro --target=aarch64-pc-windows-msvc --target=aarch64-pc-windows-msvc -Wno-unused-command-line-argument -fuse-ld=lld-link /imsvcC:/Users/runneradmin/AppData/Local/cargo-xwin/xwin/crt/include /imsvcC:/Users/runneradmin/AppData/Local/cargo-xwin/xwin/sdk/include/ucrt /imsvcC:/Users/runneradmin/AppData/Local/cargo-xwin/xwin/sdk/include/um /imsvcC:/Users/runneradmin/AppData/Local/cargo-xwin/xwin/sdk/include/shared -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 -W3 -Wno-unused-parameter -fmsc-version=1900 -Wnewline-eof -fcolor-diagnostics -Wstring-concatenation -Wimplicit-fallthrough -Wmissing-prototypes -Wold-style-definition -Wstrict-prototypes  /MD /O2 /Ob2 /DNDEBUG   -Werror /showIncludes /FoCMakeFiles\cmTC_8e413.dir\builtin_swap_check.c.obj /FdCMakeFiles\cmTC_8e413.dir\ -c -- C:\Users\runneradmin\.cargo\registry\src\index.crates.io-6f17d22bba15001f\aws-lc-sys-0.15.0\aws-lc\tests\compiler_features_tests\builtin_swap_check.c
  clang-cl: compiler_error: unknown argument ignored in clang-cl: '-fvisibility=hidden' [-Werror,-Wunknown-argument]

Link to the complete build stderr https://github.com/jawah/qh3/actions/runs/8742762646/job/23991806269
Is anyone able to provide guidance on how I can affect the cmake generator avoid being that strict around "unknown" flags?

regards,

justsmth added a commit to aws/aws-lc that referenced this issue May 13, 2024
## Issues
Needed for: aws/aws-lc-rs#376

## Description
* Updated `CMakeLists.txt` to support a Windows build using `clang-cl`.
* Adds CI build/test of Windows/x64 using clang-cl.
* Adds CI build of Windows/ARM64 using clang-cl. (Currently there are no
runners available for testing Windows/ARM64 executables.)

## Callout
* This change removes debug information by default from the "Release"
build type. Alternatively, one may retain debug information in the
artifacts by adding the `-ggdb` build flag via **CMAKE_C_FLAGS** or by
using the "Relwithdebinfo" or "Debug" build types.

By submitting this pull request, I confirm that my contribution is made
under the terms of the Apache 2.0 license and the ISC license.
@Ousret
Copy link

Ousret commented May 26, 2024

Thank you for tackling this issue.

I tried the newest tags and could not generate binaries as of yet.
The cmake is now producing somewhat broken build commands.

running: "cmake" "C:\\Users\\runneradmin\\.cargo\\registry\\src\\index.crates.io-6f17d22bba15001f\\aws-lc-sys-0.17.0" "-G" "Ninja" "-DBUILD_SHARED_LIBS=0" "-DCMAKE_BUILD_TYPE=release" "-DBORINGSSL_PREFIX=aws_lc_0_17_0_" "-DBORINGSSL_PREFIX_HEADERS=C:\\Users\\runneradmin\\.cargo\\registry\\src\\index.crates.io-6f17d22bba15001f\\aws-lc-sys-0.17.0\\generated-include" "-DBUILD_TESTING=OFF" "-DBUILD_LIBSSL=OFF" "-DDISABLE_PERL=ON" "-DDISABLE_GO=ON" "-DCMAKE_C_COMPILER=clang-cl" "-DCMAKE_CXX_COMPILER=clang-cl" "-DCMAKE_ASM_COMPILER=clang-cl" "-DCMAKE_C_COMPILER_TARGET=arm64-pc-windows-msvc" "-DCMAKE_CXX_COMPILER_TARGET=arm64-pc-windows-msvc" "-DCMAKE_ASM_COMPILER_TARGET=arm64-pc-windows-msvc" "-DCMAKE_TOOLCHAIN_FILE=C:\\Users\\runneradmin\\AppData\\Local\\cargo-xwin\\cmake\\aarch64-pc-windows-msvc-toolchain.cmake" "-DCMAKE_INSTALL_PREFIX=D:\\a\\qh3\\qh3\\target\\aarch64-pc-windows-msvc\\release\\build\\aws-lc-sys-5b390aefd3f565b0\\out" "-DCMAKE_C_FLAGS= -nologo -MD -Brepro --target=aarch64-pc-windows-msvc --target=aarch64-pc-windows-msvc -Wno-unused-command-line-argument -fuse-ld=lld-link /imsvc\\\\?\\C:\\Users\\runneradmin\\AppData\\Local\\cargo-xwin\\xwin/crt/include /imsvc\\\\?\\C:\\Users\\runneradmin\\AppData\\Local\\cargo-xwin\\xwin/sdk/include/ucrt /imsvc\\\\?\\C:\\Users\\runneradmin\\AppData\\Local\\cargo-xwin\\xwin/sdk/include/um /imsvc\\\\?\\C:\\Users\\runneradmin\\AppData\\Local\\cargo-xwin\\xwin/sdk/include/shared" "-DCMAKE_CXX_FLAGS= -nologo -MD -Brepro --target=aarch64-pc-windows-msvc --target=aarch64-pc-windows-msvc -Wno-unused-command-line-argument -fuse-ld=lld-link /imsvc\\\\?\\C:\\Users\\runneradmin\\AppData\\Local\\cargo-xwin\\xwin/crt/include /imsvc\\\\?\\C:\\Users\\runneradmin\\AppData\\Local\\cargo-xwin\\xwin/sdk/include/ucrt /imsvc\\\\?\\C:\\Users\\runneradmin\\AppData\\Local\\cargo-xwin\\xwin/sdk/include/um /imsvc\\\\?\\C:\\Users\\runneradmin\\AppData\\Local\\cargo-xwin\\xwin/sdk/include/shared" "-DCMAKE_ASM_FLAGS= -nologo -MD -Brepro --target=aarch64-pc-windows-msvc --target=aarch64-pc-windows-msvc -Wno-unused-command-line-argument -fuse-ld=lld-link /imsvc\\\\?\\C:\\Users\\runneradmin\\AppData\\Local\\cargo-xwin\\xwin/crt/include /imsvc\\\\?\\C:\\Users\\runneradmin\\AppData\\Local\\cargo-xwin\\xwin/sdk/include/ucrt /imsvc\\\\?\\C:\\Users\\runneradmin\\AppData\\Local\\cargo-xwin\\xwin/sdk/include/um /imsvc\\\\?\\C:\\Users\\runneradmin\\AppData\\Local\\cargo-xwin\\xwin/sdk/include/shared" "--no-warn-unused-cli"

And ends up with an opaque error message:

-- The C compiler identification is unknown
  -- Configuring incomplete, errors occurred!

...

CMake Error at CMakeLists.txt:7 (enable_language):
    The CMAKE_C_COMPILER:

      D:/a/qh3/qh3/target/aarch64-pc-windows-msvc/release/build/aws-lc-sys-5b390aefd3f565b0/out/build/clang-cl

    is not a full path to an existing compiler tool.

Link to the complete logs: https://github.com/jawah/qh3/actions/runs/9233306038/job/25405631144?pr=34

regards,

@justsmth
Copy link
Contributor

In the CMake command I see that a custom toolchain is being passed in:

"-DCMAKE_TOOLCHAIN_FILE=C:\\Users\\runneradmin\\AppData\\Local\\cargo-xwin\\cmake\\aarch64-pc-windows-msvc-toolchain.cmake"

I suspect that this is somehow conflicting/overriding with the "-DCMAKE_C_COMPILER=clang-cl" option that we're passing. I'll see if I can reproduce this.

@justsmth
Copy link
Contributor

Ok, I can reproduce this error locally using cargo xwin with the aws-lc-rs repo:

❯ cargo xwin build -p aws-lc-rs --release --target aarch64-pc-windows-msvc
...
  CMake Error at CMakeLists.txt:7 (enable_language):
    The CMAKE_C_COMPILER:

      /Users/justsmth/repos/aws-lc-rs/target/aarch64-pc-windows-msvc/release/build/aws-lc-sys-67b58707b9250a66/out/build/clang-cl

    is not a full path to an existing compiler tool.
...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
build problem Build failure
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants