在AWS Lambda上,如何替换标准libstdc ++。so.6

时间:2019-03-07 12:18:11

标签: amazon-web-services aws-lambda

在标准AWS Lambda发行版上

/usr/lib64/libstdc++.so.6

链接到

libstdc++.so.6.0.19

我正在运行需要更新版本libstdc++.so.6.0.24

的软件

首先,我尝试更改符号链接,但是默认用户没有足够的特权。

然后,我尝试以sudo的身份运行,但是很明显,lambda函数不允许这样做。

如何替换默认的符号链接以使用较新的库?

1 个答案:

答案 0 :(得分:1)

我会尝试将所需的特定版本的库添加到Lambda层(https://docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html

这些在运行时解压缩到/opt,并添加到PATHLD_LIBRARY_PATH中,以便加载程序在本机加载程序之前将其拾取。

请确保包括为Amazon Linux编译的二进制文件,因为这是AWS Lambda使用的基础发行版。

正如Thales在另一个答案中所解释的那样,您将打破“无服务器”概念。您将负责维护操作系统的该部分,例如在发布新版本时提供更新等。