warning: boring-sys2@5.0.0-alpha.13: applying 44b3df6f03d85c901767250329c571db405122d5 patch to boringssl
warning: boring-sys2@5.0.0-alpha.13: Compiler family detection failed due to error: ToolNotFound: failed to find tool "c++": No such file or directory (os error 2)
error: failed to run custom build command for `boring-sys2 v5.0.0-alpha.13`
Caused by:
process didn't exit successfully: `/home/*****/redlib/target/release/build/boring-sys2-43e2a665c86772d2/build-script-main` (exit status: 101)
--- stdout
cargo:rerun-if-env-changed=BORING_BSSL_PATH_aarch64-alpine-linux-musl
cargo:rerun-if-env-changed=BORING_BSSL_PATH_aarch64_alpine_linux_musl
cargo:rerun-if-env-changed=HOST_BORING_BSSL_PATH
cargo:rerun-if-env-changed=BORING_BSSL_PATH
cargo:rerun-if-env-changed=BORING_BSSL_INCLUDE_PATH_aarch64-alpine-linux-musl
cargo:rerun-if-env-changed=BORING_BSSL_INCLUDE_PATH_aarch64_alpine_linux_musl
cargo:rerun-if-env-changed=HOST_BORING_BSSL_INCLUDE_PATH
cargo:rerun-if-env-changed=BORING_BSSL_INCLUDE_PATH
cargo:rerun-if-env-changed=BORING_BSSL_SOURCE_PATH_aarch64-alpine-linux-musl
cargo:rerun-if-env-changed=BORING_BSSL_SOURCE_PATH_aarch64_alpine_linux_musl
cargo:rerun-if-env-changed=HOST_BORING_BSSL_SOURCE_PATH
cargo:rerun-if-env-changed=BORING_BSSL_SOURCE_PATH
cargo:rerun-if-env-changed=BORING_BSSL_ASSUME_PATCHED_aarch64-alpine-linux-musl
cargo:rerun-if-env-changed=BORING_BSSL_ASSUME_PATCHED_aarch64_alpine_linux_musl
cargo:rerun-if-env-changed=HOST_BORING_BSSL_ASSUME_PATCHED
cargo:rerun-if-env-changed=BORING_BSSL_ASSUME_PATCHED
cargo:rerun-if-env-changed=BORING_BSSL_SYSROOT_aarch64-alpine-linux-musl
cargo:rerun-if-env-changed=BORING_BSSL_SYSROOT_aarch64_alpine_linux_musl
cargo:rerun-if-env-changed=HOST_BORING_BSSL_SYSROOT
cargo:rerun-if-env-changed=BORING_BSSL_SYSROOT
cargo:rerun-if-env-changed=BORING_BSSL_COMPILER_EXTERNAL_TOOLCHAIN_aarch64-alpine-linux-musl
cargo:rerun-if-env-changed=BORING_BSSL_COMPILER_EXTERNAL_TOOLCHAIN_aarch64_alpine_linux_musl
cargo:rerun-if-env-changed=HOST_BORING_BSSL_COMPILER_EXTERNAL_TOOLCHAIN
cargo:rerun-if-env-changed=BORING_BSSL_COMPILER_EXTERNAL_TOOLCHAIN
cargo:rerun-if-env-changed=DEBUG_aarch64-alpine-linux-musl
cargo:rerun-if-env-changed=DEBUG_aarch64_alpine_linux_musl
cargo:rerun-if-env-changed=HOST_DEBUG
cargo:rerun-if-env-changed=DEBUG
cargo:rerun-if-env-changed=OPT_LEVEL_aarch64-alpine-linux-musl
cargo:rerun-if-env-changed=OPT_LEVEL_aarch64_alpine_linux_musl
cargo:rerun-if-env-changed=HOST_OPT_LEVEL
cargo:rerun-if-env-changed=OPT_LEVEL
cargo:rerun-if-env-changed=ANDROID_NDK_HOME_aarch64-alpine-linux-musl
cargo:rerun-if-env-changed=ANDROID_NDK_HOME_aarch64_alpine_linux_musl
cargo:rerun-if-env-changed=HOST_ANDROID_NDK_HOME
cargo:rerun-if-env-changed=ANDROID_NDK_HOME
cargo:rerun-if-env-changed=CMAKE_TOOLCHAIN_FILE_aarch64-alpine-linux-musl
cargo:rerun-if-env-changed=CMAKE_TOOLCHAIN_FILE_aarch64_alpine_linux_musl
cargo:rerun-if-env-changed=HOST_CMAKE_TOOLCHAIN_FILE
cargo:rerun-if-env-changed=CMAKE_TOOLCHAIN_FILE
cargo:rerun-if-env-changed=BORING_BSSL_RUST_CPPLIB_aarch64-alpine-linux-musl
cargo:rerun-if-env-changed=BORING_BSSL_RUST_CPPLIB_aarch64_alpine_linux_musl
cargo:rerun-if-env-changed=HOST_BORING_BSSL_RUST_CPPLIB
cargo:rerun-if-env-changed=BORING_BSSL_RUST_CPPLIB
cargo:rerun-if-env-changed=CC_aarch64-alpine-linux-musl
cargo:rerun-if-env-changed=CC_aarch64_alpine_linux_musl
cargo:rerun-if-env-changed=HOST_CC
cargo:rerun-if-env-changed=CXX_aarch64-alpine-linux-musl
cargo:rerun-if-env-changed=CXX_aarch64_alpine_linux_musl
cargo:rerun-if-env-changed=HOST_CXX
cargo:rerun-if-env-changed=DOCS_RS
Initialized empty Git repository in /home/*****/redlib/target/release/build/boring-sys2-ed2164a8f53ecf7b/out/boringssl/.git/
cargo:warning=applying 44b3df6f03d85c901767250329c571db405122d5 patch to boringssl
CMAKE_TOOLCHAIN_FILE_aarch64-alpine-linux-musl = None
CMAKE_TOOLCHAIN_FILE_aarch64_alpine_linux_musl = None
HOST_CMAKE_TOOLCHAIN_FILE = None
CMAKE_TOOLCHAIN_FILE = None
CMAKE_GENERATOR_aarch64-alpine-linux-musl = None
CMAKE_GENERATOR_aarch64_alpine_linux_musl = None
HOST_CMAKE_GENERATOR = None
CMAKE_GENERATOR = None
cargo:warning=Compiler family detection failed due to error: ToolNotFound: failed to find tool "c++": No such file or directory (os error 2)
CMAKE_PREFIX_PATH_aarch64-alpine-linux-musl = None
CMAKE_PREFIX_PATH_aarch64_alpine_linux_musl = None
HOST_CMAKE_PREFIX_PATH = None
CMAKE_PREFIX_PATH = None
CMAKE_aarch64-alpine-linux-musl = None
CMAKE_aarch64_alpine_linux_musl = None
HOST_CMAKE = None
CMAKE = None
-- Configuring incomplete, errors occurred!
--- stderr
hint: Using 'master' as the name for the initial branch. This default branch name
hint: will change to "main" in Git 3.0. To configure the initial branch name
hint: to use in all of your new repositories, which will suppress this warning,
hint: call:
hint:
hint: git config --global init.defaultBranch <name>
hint:
hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
hint: 'development'. The just-created branch can be renamed via this command:
hint:
hint: git branch -m <name>
hint:
hint: Disable this message with "git config set advice.defaultBranchName false"
/home/*****/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/boring-sys2-5.0.0-alpha.13/patches/boringssl-44b3df6f03d85c901767250329c571db405122d5.patch:75: trailing whitespace.
"src/crypto/fipsmodule/fips_shared_support.c",
/home/*****/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/boring-sys2-5.0.0-alpha.13/patches/boringssl-44b3df6f03d85c901767250329c571db405122d5.patch:76: trailing whitespace.
"src/crypto/hpke/hpke.c",
/home/*****/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/boring-sys2-5.0.0-alpha.13/patches/boringssl-44b3df6f03d85c901767250329c571db405122d5.patch:77: trailing whitespace.
"src/crypto/hrss/hrss.c",
/home/*****/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/boring-sys2-5.0.0-alpha.13/patches/boringssl-44b3df6f03d85c901767250329c571db405122d5.patch:80: trailing whitespace.
"src/crypto/kyber/kyber512.c",
/home/*****/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/boring-sys2-5.0.0-alpha.13/patches/boringssl-44b3df6f03d85c901767250329c571db405122d5.patch:81: trailing whitespace.
"src/crypto/kyber/kyber768.c",
Checking patch BUILD.generated.bzl...
Checking patch BUILD.generated_tests.bzl...
Checking patch CMakeLists.txt...
Checking patch sources.json...
Checking patch src/crypto/CMakeLists.txt...
Checking patch src/crypto/cipher_extra/e_tls.c...
Checking patch src/crypto/kyber/internal.h...
Checking patch src/crypto/kyber/keccak.c...
Checking patch src/crypto/kyber/kyber.c...
Checking patch src/crypto/kyber/kyber1024.c...
Checking patch src/crypto/kyber/kyber512.c...
Checking patch src/crypto/kyber/kyber768.c...
Checking patch src/crypto/kyber/kyber_test.cc...
Checking patch src/crypto/obj/obj_dat.h...
Checking patch src/crypto/obj/obj_mac.num...
Checking patch src/crypto/obj/objects.txt...
Checking patch src/include/openssl/aead.h...
Checking patch src/include/openssl/kyber.h...
Checking patch src/include/openssl/nid.h...
Checking patch src/include/openssl/ssl.h...
Checking patch src/include/openssl/tls1.h...
Checking patch src/sources.cmake...
Checking patch src/ssl/extensions.cc...
Checking patch src/ssl/handoff.cc...
Checking patch src/ssl/handshake_client.cc...
Checking patch src/ssl/internal.h...
Checking patch src/ssl/ssl_cipher.cc...
Checking patch src/ssl/ssl_key_share.cc...
Checking patch src/ssl/ssl_lib.cc...
Checking patch src/ssl/ssl_privkey.cc...
Checking patch src/ssl/ssl_test.cc...
Checking patch src/ssl/tls13_client.cc...
Checking patch src/ssl/tls13_server.cc...
Checking patch src/tool/speed.cc...
Applied patch BUILD.generated.bzl cleanly.
Applied patch BUILD.generated_tests.bzl cleanly.
Applied patch CMakeLists.txt cleanly.
Applied patch sources.json cleanly.
Applied patch src/crypto/CMakeLists.txt cleanly.
Applied patch src/crypto/cipher_extra/e_tls.c cleanly.
Applied patch src/crypto/kyber/internal.h cleanly.
Applied patch src/crypto/kyber/keccak.c cleanly.
Applied patch src/crypto/kyber/kyber.c cleanly.
Applied patch src/crypto/kyber/kyber1024.c cleanly.
Applied patch src/crypto/kyber/kyber512.c cleanly.
Applied patch src/crypto/kyber/kyber768.c cleanly.
Applied patch src/crypto/kyber/kyber_test.cc cleanly.
Applied patch src/crypto/obj/obj_dat.h cleanly.
Applied patch src/crypto/obj/obj_mac.num cleanly.
Applied patch src/crypto/obj/objects.txt cleanly.
Applied patch src/include/openssl/aead.h cleanly.
Applied patch src/include/openssl/kyber.h cleanly.
Applied patch src/include/openssl/nid.h cleanly.
Applied patch src/include/openssl/ssl.h cleanly.
Applied patch src/include/openssl/tls1.h cleanly.
Applied patch src/sources.cmake cleanly.
Applied patch src/ssl/extensions.cc cleanly.
Applied patch src/ssl/handoff.cc cleanly.
Applied patch src/ssl/handshake_client.cc cleanly.
Applied patch src/ssl/internal.h cleanly.
Applied patch src/ssl/ssl_cipher.cc cleanly.
Applied patch src/ssl/ssl_key_share.cc cleanly.
Applied patch src/ssl/ssl_lib.cc cleanly.
Applied patch src/ssl/ssl_privkey.cc cleanly.
Applied patch src/ssl/ssl_test.cc cleanly.
Applied patch src/ssl/tls13_client.cc cleanly.
Applied patch src/ssl/tls13_server.cc cleanly.
Applied patch src/tool/speed.cc cleanly.
warning: squelched 43 whitespace errors
warning: 28 lines applied after fixing whitespace errors.
running: cd "/home/*****/redlib/target/release/build/boring-sys2-ed2164a8f53ecf7b/out/build" && CMAKE_BUILD_PARALLEL_LEVEL="4" CMAKE_PREFIX_PATH="" LC_ALL="C" "cmake" "/home/*****/redlib/target/release/build/boring-sys2-ed2164a8f53ecf7b/out/boringssl" "-B" "/home/*****/redlib/target/release/build/boring-sys2-ed2164a8f53ecf7b/out/build" "-DCMAKE_INSTALL_PREFIX=/home/*****/redlib/target/release/build/boring-sys2-ed2164a8f53ecf7b/out" "-DCMAKE_C_FLAGS= -ffunction-sections -fdata-sections -fPIC -w" "-DCMAKE_C_COMPILER=/usr/bin/cc" "-DCMAKE_CXX_FLAGS= -ffunction-sections -fdata-sections -fPIC -w" "-DCMAKE_CXX_COMPILER=c++" "-DCMAKE_ASM_FLAGS= -ffunction-sections -fdata-sections -fPIC -w" "-DCMAKE_ASM_COMPILER=/usr/bin/cc" "-DCMAKE_BUILD_TYPE=Release"
CMake Error: CMake was unable to find a build program corresponding to "Unix Makefiles". CMAKE_MAKE_PROGRAM is not set. You probably need to select a different build tool.
thread 'main' (27548) panicked at /home/*****/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cmake-0.1.58/src/lib.rs:1132: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
Describe the bug
Since Redlib switched to wreq/BoringSSL, I have not been able to compile Redlib for a Raspberry Pi 5 running Alpine Linux - the build fails when Cargo tries to compile
boring-sys2.Steps to reproduce the bug
apk add cmake ninja-build gcc clang(from what I've read, only one ofgccorclangshould be needed, but the build fails regardless).cargo build --release.What's the expected behavior?
For Redlib to compile successfully when running
cargo build --releasefrom within the root of the cloned repository, assuming all dependencies are installed correctly.Additional context / screenshot
The Raspberry Pi is running the latest Raspberry Pi edition of Alpine Linux (v3.23) as of writing.
Cargo was installed from APK, and produces the following output when running
cargo --version:Error output by cargo (click to expand - note that it is quite long)