Kam*_*shi 3 linux glibc opensuse
我有一个第三方32位可执行文件,我需要在OpenSuSE Linux 11.4上运行.当我运行它时,我收到此错误:
filename:重定位错误:文件名:符号errno,版本GLIBC_2.0未在文件libc.so.6中定义,带有链接时间参考.
在/ lib目录中,libc.so.6作为符号链接,指向libc-2.11.3.so.当我对此进行objdump和grep for errno时,我得到了这个:
00000008 g D .tbss 00000004 GLIBC_PRIVATE errno
000171c0 g DF .text 0000001d GLIBC_2.0 __errno_location
000f96e0 g DF .text 0000007d GLIBC_2.0 clnt_sperrno
000f98a0 g DF .text 0000003d GLIBC_2.0 clnt_perrno
00000034 g D .tbss 00000004 GLIBC_PRIVATE h_errno
000ec860 g DF .text 0000001d GLIBC_2.0 __h_errno_location
Run Code Online (Sandbox Code Playgroud)
我没有可执行文件的源代码.有没有办法我可以自己添加一个补丁到glibc源,并在我的机器上本地解决这个问题?
如果可能,那么补丁是什么?
可执行文件是lmgrd的第三方版本,即启动其许可证服务器的实用程序.
Executable的ldd输出如下所示:
linux-gate.so.1 => (0xffffe000)
libpthread.so.0 => /lib/libpthread.so.0 (0xf76a5000)
libc.so.6 => /lib/libc.so.6 (0xf753c000)
/lib/ld-linux.so.2 (0xf76f6000)
Run Code Online (Sandbox Code Playgroud)
提前致谢.
relocation error: filename: symbol errno, version GLIBC_2.0 not defined in file libc.so.6 with link time reference.可执行文件是lmgrd的第三方版本,即启动其许可证服务器的实用程序.
该可执行文件必须已在古老的机器上链接.这是对问题的一个很好的解释.
有没有办法我可以自己添加一个补丁到glibc源,并在我的机器上本地解决这个问题?
是的,但是你真的不应该这样做(它是(a)复杂的,并且(b)你可以轻松地使你的系统无法启动,如果你搞砸了你的glibc).
联系第三方供应商并告诉他们由于损坏而无法使用他们的产品lmgrd.请你退钱.你可能会感到惊讶他们可能会试图解决这个问题.
| 归档时间: |
|
| 查看次数: |
5494 次 |
| 最近记录: |