Open
Description
Description
When attempting to build nsm-lib
from aws-nitro-enclaves-nsm-api
using the provided Dockerfile in aws-nitro-enclaves-sdk-c
, the build fails due to a mismatch in the Rust compiler version requirements.
error: package `once_cell v1.21.1` cannot be built because it requires rustc 1.65 or newer, while the currently active rustc version is 1.63.0
Reproduction Steps
- Clone the repository:
git clone --depth 1 -b v0.4.0 https://github.com/aws/aws-nitro-enclaves-nsm-api.git
- Run the following build step (e.g. in
Dockerfile.al2
):RUN source $HOME/.cargo/env && cd aws-nitro-enclaves-nsm-api && cargo build --release --jobs $(nproc) -p nsm-lib
- Build fails with the error shown above.
Environment
- Dockerfile base:
amazonlinux2
- Current Rust version:
rustc 1.63.0
- Required Rust version:
>=1.65.0
foronce_cell v1.21.1
Suggested Fix
Update the installed Rust toolchain version in Dockerfile.al2
to at least rustc 1.65.0
or newer before executing the cargo build
command.
Example:
RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
ENV PATH="/root/.cargo/bin:$PATH"
RUN rustup install 1.70.0 && rustup default 1.70.0
References
Context
This issue was encountered while building aws-nitro-enclave-blockchain-wallet
which depends on this SDK. Updating the SDK’s Dockerfile would prevent similar failures for downstream consumers.
Metadata
Metadata
Assignees
Labels
No labels