У меня следующий вопрос. У меня есть исполняемый файл, построенный на 64-битной ОС Solaris с GCC, и во время выполнения я пытаюсь загрузить 64-битную библиотеку libz.so.
Но постоянно я получаю следующую ошибку:
Failed to load the library ld.so.1: ifsvc: fatal: /usr/sfw/lib/libgcc_s.so.1: wrong ELF class: ELFCLASS32
В Интернете наиболее распространенным решением является запуск команды add до запуска исполняемого файла:
export LD_LIBRARY_PATH=/usr/sfw/lib/64:$LD_LIBRARY_PATH
Но это не сработало для меня, я все еще получаю эту ошибку.
Когда я пытался ldd
Команда я не получил никаких ошибок.
-bash-3.2$ ldd libz.so
warning: ldd: libz.so: is not executable
libc.so.1 => /usr/lib/64//libc.so.1
libgcc_s.so.1 => /usr/sfw/lib/64/libgcc_s.so.1
libm.so.2 => /usr/lib/64//libm.so.2
/platform/SUNW,Sun-Fire-T200/lib/sparcv9/libc_psr.so.1
-bash-3.2$
Есть ли другое решение, чтобы решить эту проблему?
И может ли это зависеть от того, как был построен бинарный файл?
Задача ещё не решена.
Других решений пока нет …