Skip to content

Conversation

@justrach
Copy link
Owner

Summary

Switch from aws-lc-rs to ring as the crypto backend for rustls.

Problem

The aws-lc-rs crate fails to build when cross-compiling for aarch64-unknown-linux-gnu on GitHub Actions:

fatal error: stdatomic.h: No such file or directory
error: #error "ARM assembler must define __ARM_ARCH"

This happens because aws-lc-rs requires specific cross-compilation tools that aren't available in the CI environment.

Solution

Use ring instead of aws-lc-rs by setting:

rustls = { version = "0.23", default-features = false, features = ["ring", "std", "tls12"] }
tokio-rustls = { version = "0.26", default-features = false, features = ["ring"] }

ring is more portable and works out of the box for cross-compilation.

Test Plan

  • CI builds pass for all targets including aarch64-linux

Switch from aws-lc-rs to ring as the crypto backend for rustls.
aws-lc-rs requires complex cross-compilation setup (ARM assembler,
stdatomic.h) that fails on GitHub Actions for aarch64-linux builds.

ring is more portable and works out of the box for cross-compilation.

Generated with AI

Co-Authored-By: AI <ai@example.com>
@justrach justrach merged commit 910ed5a into main Jan 25, 2026
11 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants