c++ - 从新的和不同的发行版加载 LD_PRELOAD libstdc++.so.6 和 libc.so.6 时出现浮点异常

标签 c++ linux ubuntu g++ debian

我使用 g++ 4.7.2 在相当新的 ubunto 发行版(内核 3.2.0-53-virtual)上编译了应用程序。编译完成后(并在这台机器上工作),我将产品带到旧的 Debian 4 发行版(内核 2.6.34.10)。我目前无法更改分配。我正在尝试运行该应用程序并获得:

Bin/MY_APP: /usr/lib/libstdc++.so.6: version GLIBCXX_3.4.11' not found (required by Bin/MY_APP) Bin/MY_APP: /usr/lib/libstdc++.so.6: versionGLIBCXX_3.4.15' not found (required by Bin/MY_APP) Bin/MY_APP: /lib/tls/libc.so.6: version GLIBC_2.15' not found (required by Bin/MY_APP) Bin/MY_APP: /lib/tls/libc.so.6: versionGLIBC_2.11' not found (required by Bin/MY_APP) Bin/MY_APP: /lib/tls/libc.so.6: version GLIBC_2.4' not found (required by Bin/MY_APP) Bin/MY_APP: /lib/tls/libc.so.6: versionGLIBC_2.12' not found (required by Bin/MY_APP) Bin/MY_APP: /lib/tls/libc.so.6: version `GLIBC_2.7' not found (required by Bin/MY_APP)

我试图解决这个问题,并从我编译应用程序(新 ubunto)libstdc++.so.6 和 libc.so.6 的机器上取下并将它们放在/usr/lib/MY_APP_LIB/上,但是当我运行:

env LD_PRELOAD=/usr/lib/MY_APP_LIB/libstdc++.so.6:/usr/lib/MY_APP_LIB/libc.so.6 /opt/MY_APP/MY_appp

我得到:

Floating point exception

即使我运行 ls 或任何 linux 命令:

env LD_PRELOAD=/usr/lib/MY_APP_LIB/libstdc++.so.6:/usr/lib/MY_APP_LIB/libc.so.6 ls

我得到“浮点异常”

当然,当我尝试将 LD_LIBRARY_PATH 指向/usr/lib/MY_APP_LIB 时,结果也是一样的。

dmesg 显示:

Process 394(MY_APP) has RLIMIT_CORE set to 0 Aborting core Process 422(ls) has RLIMIT_CORE set to 0 Aborting core

我该如何解决这个问题?

最佳答案

这个问题可能是因为你更改了 libc.so.6 库。简单的解决方案,您可以尝试将 LD_PRELOAD 标志设置为其以前的 libc.so.6 路径。例如

export LD_PRELOAD=/lib/libc.so.6:$LD_PRELOAD
ldconfig

关于c++ - 从新的和不同的发行版加载 LD_PRELOAD libstdc++.so.6 和 libc.so.6 时出现浮点异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36468483/

相关文章:

c++ - 使用 std::dynamic_pointer_cast 向上转换 std::shared_ptr

android - 无法在 Raspberry Pi 上打开共享库 (so)

尽管在 Linux 上有图像,但 Android Studio AVD 无法正常工作

linux - 如何正确构建和运行 Light Table?

ubuntu - 在 Ubuntu 16.04 上安装 Vapor 工具箱

ubuntu - ubuntu 16.04 右上角缺少 Slack 图标

c++ - 检索 x64 masm 汇编过程的参数

c++ - std::hex 没有像我预期的那样工作

ubuntu - 自动生成的 meteor .js : production fails

c++ - STL std::map,通过ref传递给const以及const_casting的必要性