Файл был открыт, но "Нет такого файла или каталога" - PullRequest
0 голосов
/ 05 декабря 2018

Файл является общим объектом libxxx.so для ARM hf 32 из WindRiver 2.6.32.У меня есть ARM 32 hf debian wheezy 3.0.2.

Когда я выполняю свой скомпилированный двоичный файл hello, где я вызываю dlopen для этой библиотеки (с помощью strace), он открывается, читая заголовок эльфа 512 байт первым, затем 1400 байт что-то, и после 49 байт ARM.attributes раздел был прочитан, и после этого write error... cant open shared object : no such file or dirrectory.

Где, почему эта ошибка?

strace:

open("/usr/src/hello/libxxx.so", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0\330\26\0\0004\0\0\0"..., 512) = 512
lseek(3, 53056, SEEK_SET) = 53056
read(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 1400) = 1400
lseek(3, 37784, SEEK_SET) = 37784
read(3, "A0\0\0\0aeabi\0\1&\0\0\0\0057-A\0\6\n\7A\10\1\t\2\n\4\22"..., 49) = 49
close(3) = 0
write(2, "dlopen() error: /usr/src/hello/l"..., 107dlopen() error: /usr/src/hello/libxxx.so: cannot open shared object file: No such file or directory 0) = 107

file libxxx.so:
ELF 32-bit LSB shared object, ARM, version 1 (SYSV), dynamically linked, not stripped
uname -a:
Linux debian-armhf 3.2.0-4-vexpress #1 SMP Debian 3.2.51-1 armv7l GNU/Linux
file hello:
ELF 32-bit LSB executable, ARM, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.26
...