微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

为什么使用 MUSL 为 AWS Lambda 交叉编译 Rust 代码会抱怨“找不到版本‘GLIBC_2.18’”?

如何解决为什么使用 MUSL 为 AWS Lambda 交叉编译 Rust 代码会抱怨“找不到版本‘GLIBC_2.18’”?

我正在使用 the muslrust Docker container 为 AWS Lambda 交叉编译我的 Rust 代码,因为它是我在 Docker Hub 上可以找到的最流行的 MUSL + Rust 包。

为了编译,我这样做:

alias rust-docker='docker run --workdir /home/src --rm -it --volume "$(pwd)":/home/src clux/muslrust'
rust-docker cargo build

这成功了,但是当我部署到 Lambda 并对其进行测试时,出现错误

/var/task/bootstrap: /lib64/libc.so.6: version `GLIBC_2.18' not found (required by /var/task/bootstrap)

我的印象是使用 MUSL 进行编译会创建一个不需要服务器上的 glibc 的静态库,所以我不确定我在这里做错了什么。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。