Skip to content

(3.13.0) Build Image Fails Due to Dependency Version Incompatibility

hgreebe edited this page May 13, 2025 · 1 revision

The issue

Building a new custom image with pcluster build-image fails and the following error is in the CloudWatch log /aws/imagebuilder/<image-name>:

error: package `backtrace v0.3.75` cannot be built because it requires rustc 1.82.0 or newer, while the currently active rustc version is 1.75.0

Root Cause

As part of the build image process, ParallelCluster installs efs-utils. backtrace is a transitive dependency of efs-utils which, since version v0.3.75 released on May 6, 2025, introduced a requirement on rustc 1.82.0 or newer. However rustc 1.82.0 is not available on default OS repositories. Due to the unavailability of such dependency pcluster build-image command fails.

Affected ParallelCluster versions, OSes and schedulers

  • ParallelCluster version 3.13.0
  • All OSes except alinux2 and alinux2023.
  • Clusters using already built custom images or PCluster official images are not affected

Mitigation

The mitigation is to install the latest rust toolchain (with rustc 1.86.0) to your parent AMI before running the pcluster build-image command.

You can install the latest rust toolchain with the following scripts:

For Ubuntu 20/22/24:

# get dependencies
sudo apt-get -y install git binutils pkg-config libssl-dev gettext build-essential

# remove system rustc and cargo
sudo apt-get -y remove rustc cargo

# install latest rust toolchain using rustup. Will contain rustc 1.86.0
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

# add rust toolchain to Path
. "$HOME/.cargo/env"

# clone efs-utils
git clone https://github.com/aws/efs-utils
cd efs-utils

# build package
./build-deb.sh

# install package
sudo apt-get -y install ./build/amazon-efs-utils*deb

# check that installation succeeded:
man mount.efs

For RHEL 8 or 9:

# install dependencies
sudo yum -y install git rpm-build make openssl-devel gcc

# remove system rust
sudo yum remove cargo rust

# install latest rust toolchain using rustup. Will contain rustc 1.86.0
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

# add rust toolchain to Path
. "$HOME/.cargo/env"

# clone efs-utils
git clone https://github.com/aws/efs-utils
cd efs-utils

# make rpm 
make rpm-without-system-rust

# install package
sudo yum -y install ./build/amazon-efs-utils*rpm

# check that installation succeeded:
man mount.efs
Clone this wiki locally