我正在尝试使XPDF的pdftohtml的Lambda满意版本正常工作,但是没有运气。
到目前为止,已经尝试了以下方法:
yum install cmake,gcc,gcc-c ++,freetype-devel
libfreetype.so.6.10.0,libpng15.so.15,libstdc ++。so.6.0.24
Python函数然后通过
将它们连接os.environ.update(dict(LD_LIBRARY_PATH ='/ var / task / lib'))
最后,我运行该函数并获得以下错误代码:
/ var / task / pdftohtml:/lib64/libc.so.6:未找到版本“ GLIBC_2.18”(/ var / task / lib / libstdc ++。so.6要求)
我不知道GLIBC_2.18的来源,因为该版本不存在于用于编译它的容器中。
真的很困惑,但渴望完成它,因为它会生成适合Lambda函数的轻量级二进制文件!
我要去哪里错了?
编辑
已解决-请参阅下面的评论。有两种版本的AWS Linux和Lambda运行this version
我在一个EC2实例中遇到了一位评论者建议。 libstdc ++。so.6.24看起来是正确的版本,因为它本身是使用其他GLIBC版本编译的,但会引发错误。从源代码在EC2中进行编译可以正常工作。另一个技巧是确保CXX_FLAGS包含-std = c ++ 11。感谢那些帮助我解决这个问题的人!
答案 0 :(得分:0)
我不知道GLIBC_2.18的来源,因为该版本不存在于用于编译它的容器中。
我认为您不了解符号版本依赖性(请参见here)。
错误消息告诉您libstdc++.so.6
是针对GLIBC-2.18
或更高版本构建的,而您正在针对GLIBC-2.17
或更旧的版本运行< / em>。
我要去哪里错了?
您的构建环境所针对的目标比部署环境所包含的目标要新得多。
您需要找到与部署目标匹配的构建环境,或者需要将部署目标更改为不早于构建环境。