c++ - CentOS6 上重新编译的库与 Ubuntu 20.04 上的结果不同
问题描述
我在系统上安装了一个开源库Ubuntu 20.04
(基本上在运行install.sh
它时会下载预编译的二进制文件),效果很好,但我需要这样的库才能工作CentOS6
。问题是这个库最初不是为 RED HAT 系统编译的,所以我必须使用特定的 GLIBC 版本(即 2.12)从头开始,而预编译的库是用 GLIBC 2.14 或其他东西编译的。
我实际上设法重新编译它,但我没有得到与 Ubuntu 上相同的结果。怎么会,我能做些什么呢?
当我ldd
在二进制文件(在我的 Ubuntu 系统上)上运行时,我得到以下信息:
linux-vdso.so.1 (0x00007ffe1b9f2000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f4928001000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f4927fde000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f4927fd8000)
libstdc++.so.6 => /lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f4927df6000)
libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f4927ddb000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f4927be9000)
/lib64/ld-linux-x86-64.so.2 (0x00007f4928168000)
当我ldd
在为 CentOS 重新编译的二进制文件上运行时,我得到:
linux-vdso.so.1 => (0x00007ffd32fda000)
libm.so.6 => /lib64/libm.so.6 (0x00007fccb839d000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007fccb8180000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007fccb7f7c000)
libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x00007fccb7c76000)
libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007fccb7a60000)
libc.so.6 => /lib64/libc.so.6 (0x00007fccb76cc000)
/lib64/ld-linux-x86-64.so.2 (0x00007fccb8621000)
任何帮助,将不胜感激。
我正在尝试在 CentOS6 系统上重新编译一个开源库
解决方案
推荐阅读
- python - 为什么需要检查二维数组是高于 float(inf) 还是低于 float(-inf)
- nestjs - 如何将路由添加到 Nestjs 应用程序中不存在的 Swagger
- python - 使用另一个文件中的函数进行计算
- bash - Unix bash:在exel文件中获取正确的行数
- xml - PowerShell XML 函数问题
- gcc - Bitbake 尝试从不可用的 URL 获取源,但它们失败了
- c++ - 在 C++ 中创建指向 HWND 指针的指针以创建子 webview
- visual-studio-code - 如何在 Julia 中开发包时调试单元测试
- google-apps-script - Google Apps 脚本 (GAS) 是否可以访问 Gmail 电子邮件模板?
- excel - Selenium 错误:错误:0_SeleniumError 元素不可交互