O ia32-libs
pacote não está mais presente nos repositórios Ubuntu 12.04 para um sistema de 64 bits. Existem pacotes de substituição disponíveis para download?
O ia32-libs
pacote não está mais presente nos repositórios Ubuntu 12.04 para um sistema de 64 bits. Existem pacotes de substituição disponíveis para download?
Respostas:
O pacote ia32-libs foi um hack para instalar pacotes de 32 bits em uma instalação de 64 bits. Desde o Ubuntu versão 11.10 (Oneiric), o Multi Arch foi adicionado. Um dos objetivos é remover o ia32-libs
pacote. Em vez disso, você deve instalar as bibliotecas de 32 bits de um pacote com:
sudo apt-get install package-name:i386
Você não precisa se preocupar com isso para pacotes nos repositórios padrão (por exemplo, o wine
pacote). Para software externo, é um pouco mais difícil, porque você precisa encontrar as dependências manualmente. Nesse caso, use seu mecanismo de pesquisa favorito para encontrar de quais bibliotecas você precisa.
Parece que o ia32-libs ainda existe, mas apenas como um pacote de conveniência para incluir bibliotecas comuns de 32 bits. Este pacote agora usa o Multi Arch para instalar os pacotes de 32 bits corretamente.
ldd
, passando um caminho para o binário como argumento. Se a saída contiver uma linha como libz.so.1 => not found
, então você precisa encontrar libz.so.1
. Você pode usar packages.ubuntu.com ou apt-file search
para encontrar o pacote que contém esse arquivo. No exemplo que eu dei, você precisa instalar zlib1g:i386
.
package-name
pelo nome real. Use ldd
para descobrir, veja o segundo comentário acima.
O ia32-libs
pacote foi completamente substituído por lib32z1 lib32ncurses5 lib32bz2-1.0
. Isso não deve ser um problema, porque sua funcionalidade ainda está lá, apenas em outros pacotes. No entanto, não vivemos em um mundo ideal, onde todos mantêm seus pacotes e todo o software é FLOSS; portanto, alguns pacotes ainda dependem das ia32-libs.
Existem 2 maneiras:
ia32-libs
mais. (preferido)Usarei o receptor citrix como exemplo, mas você pode usar este método para qualquer pacote .deb:
Primeiro, baixe o pacote citrix receiver .deb do site deles e faça com que um diretório temporário faça a invasão.
mkdir ica_temp
Extraia o pacote
dpkg-deb -x icaclient_13.0.0.256735_amd64.deb ica_temp
dpkg-deb --control icaclient_13.0.0.256735_amd64.deb ica_temp/DEBIAN
Abra o arquivo no gedit (ou seu editor favorito)
sudo -H gedit ica_temp/DEBIAN/control
Encontre a linha que começa com Depends:...
. remover ia32-libs
e adicionarlib32z1 lib32ncurses5 lib32bz2-1.0
Reconstrua o pacote modificado
dpkg -b ica_temp icaclient-modified.deb
E instale
sudo dpkg -i icaclient-modified.deb
sudo apt-get install -f
A instalação do receptor Citrix também requer alguns hackers. Você pode encontrar as instruções completas de instalação no wiki do Ubuntu
Você pode fazer isso com qualquer pacote .deb antigo que ainda dependa de ia32-libs.
Observe que é uma prática muito ruim instalar pacotes antigos! Infelizmente, para alguns instaladores binários, você não tem outra opção.
Você pode baixar o pacote ia32-libs do repositório raring . Faça o download e instale-o manualmente; as dependências devem ser resolvidas.
Eu li que você deveria instalar o ia32-libs-multiarch
pacote. No entanto, não funcionou para mim e recebo este erro
ia32-libs-multiarch:i386 : Depends: libgphoto2-2:i386 but it is not going to be installed.
A solução que funcionou para mim foi instalar os seguintes pacotes:
sudo apt-get install libc6:i386 libgcc1:i386 gcc-4.6-base:i386 libstdc++5:i386 libstdc++6:i386
Se você receber esse erro, tente:
sudo apt-get update
Em seguida, tente novamente:
sudo apt-get install ia32-libs
Acabei de fazer uma nova instalação do 12.04, esse pacote ainda está disponível nos repositórios. Na verdade, eu mesmo recebi esse erro antes de executar a atualização. Depois, funcionou bem.
Eu acredito que esse caso de uso específico foi substituído pelos pacotes "lib32z1 lib32ncurses5 lib32bz2-1.0 lib32asound2", que provavelmente é uma resposta mais específica e útil do que dizer "você pode usar vários arcos".
Instalei o ia32-libs assim (eu executo o Ubuntu 13.04 Raring Ringtail em uma máquina de 64 bits):
Verifique a arquitetura própria:
$ dpkg --print-architecture
Verifique se uma arquitetura estrangeira está instalada:
$ dpkg --print-foreign-architectures
Dependendo dos resultados dos dois comandos acima, os três comandos a seguir podem funcionar (demorou muito tempo para processar no meu caso):
$ sudo dpkg --add-architecture i386 && sudo apt-get update && sudo apt-get install ia32-libs
Package ia32-libs is not available, but is referred to by another package. This may mean that the package is missing, has been obsoleted, or is only available from another source However the following packages replace it: lib32z1 lib32ncurses5 lib32bz2-1.0