aws-lambda - /lib64/libc.so.6:未找到版本“GLIBC_2.32”
问题描述
我正在使用基本示例在 Ubuntu 上构建 lambda。它的构建没有任何错误,但是如果我在崩溃时在 aws 上上传和测试它:
{
"errorMessage": "RequestId: 7f4d0aca-125c-4032-98dd-9ff387e5252b Error: Runtime exited with error: exit status 1",
"errorType": "Runtime.ExitError"
}
日志输出为:
START
RequestId: 7f4d0aca-125c-4032-98dd-9ff387e5252b
Version: $LATEST.~.jwtauthorizeraws.jwtauthorizerawsapplication: /lib64/libc.so.6: version `GLIBC_2.32' not found (required by ./~.jwtauthorizerawsapplication)
END
RequestId: 7f4d0aca-125c-4032-98dd-9ff387e5252b
REPORT
RequestId: 7f4d0aca-125c-4032-98dd-9ff387e5252b
Duration: 56.02 ms
Billed Duration: 57 ms
Memory Size: 128 MB
Max Memory Used: 7 MB
RequestId: 7f4d0aca-125c-4032-98dd-9ff387e5252b
Error: Runtime exited with error: exit status 1
Runtime.ExitError
解决方案
这可能意味着用于构建可执行文件的 glibc 版本与 docker 环境使用的不同。
因此,检查构建环境“ldd --version”将显示 glibc 版本。
现在,在您的 docker 容器(docker run -ti --entrypoint=/bin/bash dockerimage:tag)中输入相同的 ldd 命令。您可能会看到版本不同。因此,更新构建环境以使用与 docker 环境相同的版本,反之亦然。
避免这种情况的最佳方法是使用运行时环境来构建您的本机可执行文件:这样 glibc 版本将始终匹配。
推荐阅读
- ios - 如何在 UIViewcontroller 扩展中创建常用功能?
- swift - 快速 -v 返回
:0: 错误:Swift 不支持 SDK 'MacOSX10.12.sdk' - python - Python列表理解运行循环N次
- java - 在 Java 中创建具有原始成员的随机对象
- javascript - 我创建了多个动态表单,但是当我提交第二个表单时,数据库中没有提交任何值
- java - android studio 中的错误:无法解析“:app@debug/compileClasspath”的依赖关系:无法解析 com.android.support:appcompat-v7:27.0.2
- sql-server - SQL Server 中 EXEC sp_executeSQL 和 Exec 的结果不同
- html - Ag 网格,防止表格缩放到全宽
- cocos2d-x - 为什么cocos2d动态库太重,如何禁用一些不用的功能?
- javascript - 计算数字的有理指数