-
Notifications
You must be signed in to change notification settings - Fork 50
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
arm-unknown-linux-gnueabihf build failed #427
Comments
I believe the problem related to the Cross.toml configuration that you have here. See my comment on your other issue. Since I believe these have the same root cause, I will close this issue. |
rustls v0.23 starts to use aws-lc as the default crypto implementation. But now not all the dependencies are upgraded to the latest rustls. If there are still any older version of rustls exists in the build process, aws-lc may fails. - ref aws/aws-lc-rs#428 - ref aws/aws-lc-rs#427 - ref aws/aws-lc-rs#426
@justsmth Wait, actually Rustup is now on the same boat (again with rust-lang/rustup#3898) 😅 For cross compilation we have historically used the Docker images provided by rust-lang/rust, and maybe that error was caused by a very outdated version of GCC (we use 8.5.0, and the log above uses 8.3.0)? The log here is more or less the same thing: https://github.com/rust-lang/rustup/actions/runs/9720503984/job/26831972336?pr=3898 I mean I could try to use |
The real problem is, since I have no intention of using |
It's just due to how the code is structured. Code that is related to the certification has been placed into a "fipsmodule" directory, but the additional "delocation" and runtime checks required for certification are only activated for a "FIPS" build. We have some detail about how a "FIPS" build differs from our default build here: https://github.com/aws/aws-lc/blob/main/crypto/fipsmodule/FIPS.md |
This comment might be relevant to this build failure: https://github.com/aws/aws-lc/blob/5a4a7d17d589af6d7110eded4155ebaaf5026029/crypto/fipsmodule/cpucap/cpu_arm_linux.c#L116-L121 I have a fairly simple patch for it, but I need to test it:
|
@justsmth Thanks! The patch looks reasonable to me. Is there a way I can easily test it within the current cargo setup though? |
### Issues: Addresses: aws/aws-lc-rs#427 ### Description of changes: * Allow fallback when `AT_HWCAP2` is not defined (for older glibc). > > AT_HWCAP2 (since glibc 2.18) > Further machine-dependent hints about processor > capabilities. > ### Testing: * I've not yet been able to setup an environment that replicates [the failure seen downstream](https://github.com/rust-lang/rustup/actions/runs/9720503984/job/26831972336?pr=3898) for `arm-unknown-linux-gnueabihf`: ``` In file included from /cargo/registry/src/index.crates.io-6f17d22bba15001f/aws-lc-sys-0.18.0/aws-lc/crypto/fipsmodule/bcm.c:81: /cargo/registry/src/index.crates.io-6f17d22bba15001f/aws-lc-sys-0.18.0/aws-lc/crypto/fipsmodule/cpucap/cpu_arm_linux.c: In function 'aws_lc_0_18_0_OPENSSL_cpuid_setup': /cargo/registry/src/index.crates.io-6f17d22bba15001f/aws-lc-sys-0.18.0/aws-lc/crypto/fipsmodule/cpucap/cpu_arm_linux.c:121:38: error: 'AT_HWCAP2' undeclared (first use in this function); did you mean 'AT_HWCAP'? unsigned long hwcap2 = getauxval(AT_HWCAP2); ^~~~~~~~~ AT_HWCAP /cargo/registry/src/index.crates.io-6f17d22bba15001f/aws-lc-sys-0.18.0/aws-lc/crypto/fipsmodule/cpucap/cpu_arm_linux.c:121:38: note: each undeclared identifier is reported only once for each function it appears in /cargo/registry/src/index.crates.io-6f17d22bba15001f/aws-lc-sys-0.18.0/aws-lc/crypto/fipsmodule/bcm.c: At top level: cc1: error: unrecognized command line option '-Wno-c11-extensions' [-Werror] cc1: all warnings being treated as errors ninja: build stopped: subcommand failed. ``` 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.
The change to address this in AWS-LC made it into the release yesterday: https://github.com/aws/aws-lc/releases/tag/v1.31.0 Hopefully, we can get a PR up today for aws-lc-sys to align it with that release. |
This should be resolved with our latest release: https://github.com/aws/aws-lc-rs/releases/tag/v1.8.1 |
Problem:
It looks like that
AT_HWCAP2
was missing.It could be reproduced in this project: https://github.com/shadowsocks/shadowsocks-rust by running:
Relevant details
AWS-LC for Rust versions or commit: (crates.io aws-lc-sys v0.17.0)
System information: for linux, below info can be collected by running
uname -srvmp
Build log:
The text was updated successfully, but these errors were encountered: