Skip to content

Commit 80fb3d2

Browse files
committed
🔧 Configure ARM64 cross-compilation for CI/CD
Fix OpenSSL dependency issues for ARM64 builds in GitHub Actions - Add ARM64 architecture support with dpkg --add-architecture arm64 - Install libssl-dev:arm64 for OpenSSL development headers - Configure PKG_CONFIG_ALLOW_CROSS=1 for cross-compilation - Set PKG_CONFIG_PATH to ARM64 library location - Add pkg-config package to toolchain dependencies Resolves build failures when cross-compiling to aarch64-unknown-linux-gnu target due to missing OpenSSL libraries and improper pkg-config setup.
1 parent 00235a3 commit 80fb3d2

File tree

1 file changed

+8
-1
lines changed

1 file changed

+8
-1
lines changed

.github/workflows/cicd.yml

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -185,9 +185,16 @@ jobs:
185185
if: matrix.target == 'aarch64-unknown-linux-gnu'
186186
run: |
187187
sudo apt-get update
188-
sudo apt-get install -y gcc-aarch64-linux-gnu
188+
# Add ARM64 architecture for cross-compilation
189+
sudo dpkg --add-architecture arm64
190+
sudo apt-get update
191+
# Install cross-compilation toolchain and OpenSSL dev libraries for ARM64
192+
sudo apt-get install -y gcc-aarch64-linux-gnu libssl-dev:arm64 pkg-config
189193
echo "CC_aarch64_unknown_linux_gnu=aarch64-linux-gnu-gcc" >> $GITHUB_ENV
190194
echo "CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_LINKER=aarch64-linux-gnu-gcc" >> $GITHUB_ENV
195+
# Configure pkg-config for cross-compilation
196+
echo "PKG_CONFIG_ALLOW_CROSS=1" >> $GITHUB_ENV
197+
echo "PKG_CONFIG_PATH=/usr/lib/aarch64-linux-gnu/pkgconfig" >> $GITHUB_ENV
191198
192199
- name: 📦 Rust cache
193200
uses: Swatinem/rust-cache@v2

0 commit comments

Comments
 (0)