Docker apachecan';t因GLIBCXX_3.4.26而加载模块

Docker apachecan';t因GLIBCXX_3.4.26而加载模块,docker,apache,gcc,Docker,Apache,Gcc,我正在使用一个httpd:2.4.46 docker映像,其中我放置了自己的httpd.conf和一些个人模块 问题是,当我启动容器时,它工作了,但是错误日志显示他没有加载我的模块 [Mon-May 17 10:00:25.279259 2021][notice][pid 12:tid 139994847216768][mod-1.0.016]未能加载/usr/local/apache2/modules/../../../../../../../../../../../home/latest/m

我正在使用一个httpd:2.4.46 docker映像,其中我放置了自己的httpd.conf和一些个人模块

问题是,当我启动容器时,它工作了,但是错误日志显示他没有加载我的模块

[Mon-May 17 10:00:25.279259 2021][notice][pid 12:tid 139994847216768][mod-1.0.016]未能加载/usr/local/apache2/modules/../../../../../../../../../../../home/latest/module_gcc10.so.2021.2.1.1.003:/usr/lib x8664-linux-gnu/libstdc++.so.6:找不到版本'GLIBCXX_3.4.26'(由/usr/local/apache2/modules/../../../../../../../home/latest/module_gcc10.so.2021.2.1.003要求)

我已经试过了,但没有成功。 我很确定这与缺少gcc或g++有关,但我真的不知道该怎么办


感谢您的帮助。

您的模块链接到
libstdc++.so.6
3.4.26版(或更高版本)

您必须在运行时提供该版本(或更新版本)的
libstdc++.so.6
,否则您的程序将无法运行

  • 注意:
    libstdc++.so.6
    是GCC的一部分,它与GLIBC无关
  • 注意:您不需要将完整的GCC安装到运行时映像中,只需要
    libstdc++.so.6
    (也可能是
    libgcc_.so.1

我将libstdc++.so.6的安装包括在我的Dockerfile中,添加了以下行:运行apt get update&&apt get install libstdc++6。重建映像后,它仍然无法工作,我收到了相同的错误消息。我签入/usr/lib/x86_64-linux-gnu,我实际上可以找到libstdc++……@Samikaze“我包括…”--您安装了错误版本的
libstdc++.so.6
(不够新)。您可以查看您的版本使用
readelf-V/usr/lib/x86\u 64-linux-gnu/libstdc++.so.6
定义的
GLIBCXX…
标签。事实上,我在Docker文件中复制了错误的libstdc++.so.6。我注意到它比另一个Docker映像中的小(正在使用httpd服务器,但太大),所以我确保从/usr/local/lib64/复制libstdc++。谢谢!