Erro ao carregar biblioteca compartilhada

1

Estou tentando executar um aplicativo antigo de 32 bits no Ubuntu 14.04 x64. Eu instalei suporte básico de 32 bits via sudo apt-get install libc6-i386 , mas agora recebo uma mensagem confusa sobre bibliotecas compartilhadas. Parece estar dizendo que ele não pode carregar minha biblioteca porque é x64, mas não é - a coisa toda é de 32 bits.

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

Suponho que, na verdade, ainda esteja sufocando com alguma dependência de nível inferior, como libc ou libssl ou libwhatsit , mas existe uma maneira de descobrir qual deles é o verdadeiro culpado, além de tentativa e erro?

    
por superstator 01.06.2016 / 19:36

1 resposta

0

Acabei de começar de novo com um novo CentOS i386 vm e, no processo de execução, descobri que o binário precisa de libstdc++5 . De volta ao Ubuntu, instalar isso via sudo apt-get install libstdc++5:i386 parece ter feito o truque.

    
por superstator 02.06.2016 / 00:04