libdbus-1.so.3:无法打开共享对象文件:没有这样的文件或目录

时间:2014-09-14 03:52:58

标签: linux filezilla shared-libraries

[root@maomao bin]# find /usr/local/lib -name libdbus-1.so.3
/usr/local/lib/libdbus-1.so.3
[root@maomao bin]# cat /etc/ld.so.conf
include ld.so.conf.d/*.conf
/usr/local/lib
[root@maomao bin]# ldconfig
[root@maomao bin]# filezilla
filezilla: error while loading shared libraries: libdbus-1.so.3: cannot open shared object file: No such file or directory
[root@maomao bin]# export LD_LIBRARY_PATH=/usr/local/lib
[root@maomao bin]# filezilla
filezilla: error while loading shared libraries: libdbus-1.so.3: wrong ELF class: ELFCLASS64
[root@maomao bin]# cp /usr/local/lib/libdbus-1.so.3 ./
[root@maomao bin]# export LD_LIBRARY_PATH=./
[root@maomao bin]# filezilla
filezilla: error while loading shared libraries: libdbus-1.so.3: wrong ELF class: ELFCLASS64
[root@maomao bin]# env | grep LD_LIBRARY_PATH
LD_LIBRARY_PATH=./
[root@maomao bin]# ls
filezilla  fzputtygen  fzsftp  libdbus-1.so.3
[root@maomao bin]# 

我确定我有" /usr/local/lib/libdbus-1.so.3"。但我还是无法运行filezilla。

2 个答案:

答案 0 :(得分:0)

虽然我无法告诉你为什么找不到libdbus-1.so.3,但我冒昧地猜测wrong ELF class: ELFCLASS64是因为你使用的filezilla是32bit并且/ usr / local / bin中的libdbus被编译为64位共享对象。您需要确保使用兼容的体系结构类型构建程序和库

要判断程序或共享对象是否构建为32位和64位,您可以发出如下命令:

file /usr/local/lib/libdbus-1.so.3
file ./filezilla

您使用的操作系统和版本是什么?

答案 1 :(得分:0)

  

libdbus-1.so.3:无法打开共享库文件:没有这样的文件或目录

试图找到所需库的运行时链接程序使用预定义的搜索路径。其中包括/usr/lib/usr/lib64之类的路径以及可能的其他一些路径,以及LD_LIBRARY_PATH中给定的任何路径以及在运行的二进制文件中构建的一些绝对或相对路径。 (有关详细信息,请运行运行时链接程序的手册运行man ld.so。)

路径/usr/local/lib可能不是这些默认搜索路径之一。

  

libdbus-1.so.3:错误的ELF类:ELFCLASS64

您正在混合32位和64位二进制文​​件,这是不可能的。