求助: libc.so: invalid ELF header

2017-04-20 21:31:56 +08:00
 devzero

不知道放在这个节点合适不合适
是这样的, liba.so 是一个 c++写的库,我没有源码
在之前运行的时候发现机器上没有 libstdc++.so
于是从 Debian 官网下了一个 deb 包,解开来放到 /usr/lib 里面了
之后用 Python 调用的时候出现这样的情况

root@vultr:~# objdump -f liba.so 
liba.so:     file format elf32-i386
architecture: i386, flags 0x00000150:
HAS_SYMS, DYNAMIC, D_PAGED
start address 0x00000000
 
root@vultr:~# uname -a
Linux vultr.guest 4.10.0-041000-generic #201702191831 SMP Sun Feb 19 23:44:17 UTC 2017 i686 GNU/Linux

root@vultr:~# python3
Python 3.4.2 (default, Oct  8 2014, 13:14:40)
[GCC 4.9.1] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from ctypes import *
>>> a = CDLL('./liba.so')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib/python3.4/ctypes/__init__.py", line 351, in __init__
    self._handle = _dlopen(self._name, mode)
OSError: /usr/lib/i386-linux-gnu/libc.so: invalid ELF header

完全不知道是什么情况,感觉是库的锅,搜索“ libc.so: invalid ELF header ”也没找到解决方法,求解

1640 次点击
所在节点    C
2 条回复
pagxir
2017-04-20 22:36:33 +08:00
先搞清楚机器 arch 再说。这么瞎弄,搞不出结果的。
xbb7766
2017-04-20 22:38:18 +08:00
是不是一个 i386 一个 i686 的关系?
我记得 debian 的 32bit 内核也分好几个版本。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/356266

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX