【发布时间】:2021-08-15 16:08:00
【问题描述】:
我在 Ubuntu 20.04 中使用 gcc 10 构建了我的 C++ 程序,然后在 Ubuntu 18.04 中运行它,但不幸出现如下错误:
/opt/aspen/my: /lib/x86_64-linux-gnu/libm.so.6: version `GLIBC_2.29' not found (required by /opt/my/myRenderer.so)
/opt/my/my: /lib/x86_64-linux-gnu/libm.so.6: version `GLIBC_2.29' not found (required by /opt/my/libpython3.8.so.1.0)
/opt/my/my: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.28' not found (required by /opt/my/libpython3.8.so.1.0)
是否可以通过在 Ubuntu 18.04 中安装一些额外的软件包来解决此问题?
【问题讨论】:
-
有一些方法1。在您当前的机器上安装
gcc,例如从源代码编译它。 2。升级您拥有的整台机器。 3 在第一台机器上将它编译成 静态二进制 文件而不是动态文件,然后你几乎可以在任何地方运行它。 -
我明白了。是否可以在 Ubuntu 18 中安装缺少的 glibc 二进制文件(无需从源代码编译)?
-
是的 - 你可以,但这并不容易,我做过一次 - 你可能最终在你拥有的机器上共享
libs之间发生冲突 - 最安全的是 静态构建 在 Ubuntu 20 上。