[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]#
I sure that I has "/usr/local/lib/libdbus-1.so.3". But I still can not run filezilla.
Although I can't tell you why libdbus-1.so.3 can't be found, but I would venture to guess that the wrong ELF class: ELFCLASS64
is because the filezilla you are using is 32bit and the libdbus in /usr/local/bin was compiled as 64bit shared objects. You need to make sure that programs and libraries are built with compatible architecture types
To tell if a program or shared object is built as 32 and 64 bit you can issue a command like this:
file /usr/local/lib/libdbus-1.so.3
file ./filezilla
What OS and version are you using?
libdbus-1.so.3: cannot open shared object file: No such file or directory
The runtime linker that tries to find needed libraries uses predefined search paths. These include paths like /usr/lib
or /usr/lib64
and a possibly a few other paths, as well as any paths given in LD_LIBRARY_PATH
and some absolute or relative paths built in the binary that is run. (For details run man ld.so
for the manual of the runtime linker.)
The path /usr/local/lib
is probably not one of these default search paths.
libdbus-1.so.3: wrong ELF class: ELFCLASS64
You are mixing 32bit and 64bit binaries, which is not possible.
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.