Se você quiser descobrir qual pacote contém um arquivo específico, use apt-file
. Se você deseja procurar arquivos para uma arquitetura diferente, você tem que usar a opção -a
, primeiro para criar / atualizar o cache para aquela arquitetura (a atualização normal somente cria / atualiza o cache padrão) e então ao pesquisar. Você pode tentar:
sudo apt-file -a i386 update
apt-file -a i386 search /lib/i386-linux-gnu/libgmp.so.3
Isso deve informar o pacote correto a ser instalado. Se o i386
não estiver habilitado para o seu sistema, você terá que ativá-lo. Você deve poder verificar com:
dpkg --print-foreign-architectures
Se i386
não estiver listado, você poderá adicioná-lo com:
sudo dpkg --add-architecture i386
O acima deve funcionar para versões mais recentes do Ubuntu, mas para versões mais antigas, você pode ter que fazer:
sudo dpkg --foreign-architecture i386
Após adicionar, atualize as listas de pacotes:
sudo apt-get update
Em seguida, você poderá instalar o pacote encontrado em sua pesquisa apt-file
desta forma:
sudo apt-get install libwhatever:i386
Se apt-file
não encontrar nada, isso pode significar que a biblioteca é instalada em um local diferente. Você poderia tentar:
apt-file -a i386 search libgmp.so.3
Em seguida, instale o pacote que encontrar. Se você fizer isso e o seu programa ainda não funcionar, você pode tentar fazer o symlinking /lib/i386-linux-gnu/libgmp.so.3
para onde quer que ele instale. Caso contrário, se apt-file
não encontrar nada, provavelmente significa que não há nenhum pacote que contenha essa versão da biblioteca nos repositórios. Você poderia, então, procurar por um pacote de uma versão diferente do Mint / Ubuntu (ou os backports para o seu lançamento podem ser um bom lugar para começar a procurar se a versão do release for mais antiga). Se você está realmente preso, você teria que cross-compilar e instalar a partir do código-fonte.
Atualizar
Sua saída apt-file
mostra sua distro libgmp
package é libgmp10
, que contém libgmp.so.10
. Como você está procurando por libgmp.so.3
, não há prêmios para adivinhar que essa é uma versão mais antiga. Não adianta olhar nos backports, pois isso é para pacotes mais novos.
Uma pesquisa no link mostra que há libgmp3
no Ubuntu 12.04. A página do pacote com links para a lista de arquivos está aqui - link . Instalar o pacote de 32 bits no Ubuntu / Mint de 64 bits colocará os arquivos em lugares diferentes (bibliotecas em /lib/i386-linux-gnu
. Você pode baixá-lo aqui - link
Normalmente, isso pode ser problemático devido a possíveis conflitos, mas como o pacote tem um nome diferente, ele não deve entrar em conflito com nenhum libgmp
atual. Ele também tem apenas uma dependência em libc6
, que é a mesma do Ubuntu 13.04 (a base para Olivia). Haverá uma versão secundária diferente, que pode causar alguns bugs estranhos, mas provavelmente você ficará bem.
Você pode instalar como:
sudo dpkg -i dir/downloaded_package.deb
Você também pode precisar instalar a versão i386
de libc6
se ainda não a tiver:
sudo apt-get install libc6:i386