😺
cargo lambda deployした関数が `GLIBC_2.28' not found でうごかない
1年ぶりにcargo lambdaでビルドした関数が動かず焦る。。。
deploy後に実行された関数で下記のようなエラーがcloudwatchに出てしまっていた
/var/task/bootstrap: /lib64/libc.so.6: version `GLIBC_2.28' not found (required by /var/task/bootstrap)
同様の問題に遭遇している人は多々いるようで、aws-lambda-rust-runtimeのissueで該当エラーをみてみると多数あった
原因としては、lambda内で実行リンクされたGLIBバージョンの不一致。
デフォルトではprovided.al2023を利用しているようで、これが実行時にリンクされたGLIBのバージョンをサポートしてないみたい.
build時に対象のgnu 2.26をリンクしつつ、al2をruntimeに指定することで行けた..!
cargo lambda build --release --target aarch64-unknown-linux-gnu.2.26
cargo lambda deploy --runtime provided.al2
Discussion