Ошибка загрузки общей библиотеки

Я пытаюсь запустить старое 32-битное приложение на Ubuntu 14.04 x64. Я установил базовую 32-битную поддержку через sudo apt-get install libc6-i386, но теперь я получаю смутное сообщение о разделяемых библиотеках. Кажется, он говорит, что не может загрузить мою библиотеку, потому что это x64, но это не так - все это 32-битная версия.

user@ubuntu-develop:~/Desktop/MyApp/bin$ ./MyApp
./MyApp: error while loading shared libraries: libMyApp.so.1: wrong ELF class: ELFCLASS64
user@ubuntu-develop:~/Desktop/MyApp/bin$ file libMyApp.so.1
libMyApp.so.1: symbolic link to `libMyApp.so.1.0.0' 
user@ubuntu-develop:~/Desktop/MyApp/bin$ file libMyApp.so.1.0.0
libMyApp.so.1.0.0: ELF 32-bit LSB  shared object, Intel 80386, version 1 (SYSV), dynamically linked, BuildID[sha1]=701d820fbe229a015ba4c56b61015c08bb2c4ac0, not stripped
user@ubuntu-develop:~/Desktop/MyApp/bin$ file MyApp
MyApp: ELF 32-bit LSB  executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.4, BuildID[sha1]=1f736df460b9754633c7d67284674da395dc31c8, not stripped

Я предполагаю, что на самом деле это все еще задыхается от некоторой зависимости более низкого уровня, такой как libc или libssl или libwhatsit, но есть ли способ выяснить, кто из них является настоящим виновником, если не считать испытания а ошибка?

1
задан 2 June 2016 в 06:36

1 ответ

Я закончил тем, что запустился с нового CentOS i386 vm, и в процессе получения этого выполнения там нашел, что для двоичного файла нужно libstdc++5. Назад на Ubuntu, устанавливая это через sudo apt-get install libstdc++5:i386, кажется, добился цели.

0
ответ дан 2 June 2016 в 06:36

Другие вопросы по тегам:

Похожие вопросы: