Estou tentando instalar o python-pin . Essa ferramenta usa o Pin (uma ferramenta de instrumentação da Intel), que é de 32 bits. Quando tento executar python-pin, recebo:
E: Unable to load /home/censored/Documents/tools/Python_Pin/obj-intel64/Python_Pin.so: dlopen failed: library "libpython2.7.so.1.0" not found
Eu tenho libpython2.7.so.1.0, localizado em:
/usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0
Mas é em 64 bits, enquanto a biblioteca requer 32 bits. Depois de fazer uma boa pesquisa, encontrei essas perguntas que eram semelhantes às minhas:
Como posso instalar um python de 32 bits no Ubuntu de 64 bits
Este é para o Ubuntu 10.10 e a solução não parece funcionar para mim.
Este foi mais geral:
Como você executa um programa de 32 bits em uma versão de 64 bits do Ubuntu?
Como executar o aplicativo de 32 bits no Ubuntu 64 bits?
Depois de ter lido estes, instalei a versão de 32 bits do python-dev com:
$ sudo apt-get install python-dev:i386
A instalação foi bem-sucedida, mas não consigo encontrar a versão de 32 bits do libpython2.7.so.1.0 em nenhum lugar e ainda não consigo iniciar o python-pin.
EDITAR:
Eu compilei python de 32 bits manualmente desta maneira:
$ CC="gcc -m32" LDFLAGS="-L/lib32 -L/usr/lib32 \
-Lpwd/lib32 -Wl,-rpath,/lib32 -Wl,-rpath,/usr/lib32" ./configure --prefix=/opt/pym32 --enable-shared
$ make
$ sudo make install
E agora eu finalmente tenho um arquivo de 32 bits libpython2.7.so.1.0 na minha pasta Python. Ainda assim, quando faço:
$ LD_PRELOAD=/home/censored/Documents/tools/Python-2.7.13/libpython2.7.so.1.0 bin/python-pin Python_Pin/examples/ins_count.py /bin/ls
Eu recebo esses erros:
ERROR: ld.so: object '/home/censored/Documents/tools/Python-2.7.13/libpython2.7.so.1.0' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.