Apesar das configurações do Multiarch, o Ubuntu 16.04 falha ao manter as bibliotecas de 32 e 64 bits instaladas no SO

2

Eu preciso compilar / vincular executáveis C / C ++ de 32 e 64 bits no Ubuntu 16.04 (64 bits). Eu executei as seguintes linhas de comando:

sudo apt-get install build-essential
sudo apt-get install automake libtool libtool-bin
sudo dpkg --add-architecture i386 && sudo apt-get update && sudo apt-get install lib32ncurses5 lib32z1
sudo apt-get install gcc-multilib g++-multilib 
sudo apt-get install libglib2.0-dev 

O último comando instalará a biblioteca glib2.0 de 64 bits

Mas quando tento instalar a biblioteca glib2.0 de 32 bits via comando:

sudo apt-get install libglib2.0-dev:i386

Desinstala a biblioteca glib2.0 de 64 bits que acabei de instalar anteriormente (conforme observado pelo comentário de remoção após a emissão da instalação de 32 bits):

dev@ubuntu:~$ sudo apt-get install libglib2.0-dev:i386
[sudo] password for dev: 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages were automatically installed and are no longer required:
libltdl-dev:i386 libltdl7:i386 libpcre3-dev libpcre32-3 libpcrecpp0v5 libxext-dev:i386 libxext6:i386
libxfixes-dev:i386 libxfixes3:i386 libxi6:i386 libxtst6:i386 odbcinst1debian2:i386 zlib1g-dev
Use 'sudo apt autoremove' to remove them.
Suggested packages:
  libglib2.0-doc:i386
The following packages will be REMOVED:
  libglib2.0-dev
The following NEW packages will be installed:
  libglib2.0-dev:i386
0 upgraded, 1 newly installed, 1 to remove and 15 not upgraded.
Need to get 0 B/1,422 kB of archives.
After this operation, 1,367 kB disk space will be freed.
Do you want to continue? [Y/n]  

Alguém poderia me dizer como eu posso evitar a remoção de bibliotecas glib2.0 de 64 bits (assim como outras bibliotecas que eu possa instalar) ao instalar sua versão de 32 bits no Ubuntu 16.04. Eu preciso de bibliotecas de 32 bits e 64 bits instaladas para minha compilação C / C ++.

Como observado pela lista de comandos que executei, adicionei a arquitetura de 32 bits ao meu Ubuntu de 64 bits e verifiquei que ela está sendo reconhecida pelo SO:

dev@ubuntu:~$ dpkg --print-architecture
amd64
dev@ubuntu:~$ dpkg --print-foreign-architectures
i386

Portanto, com base na consulta acima, não deve haver motivo para não ter uma biblioteca glib2.0 de 64 bits e 32 bits (ou para qualquer biblioteca que tenha bibliotecas de 64/32 bits disponíveis) instalada o mesmo sistema operacional de 64 bits, certo? Pelo menos é isso que o link debian multiarch me diz .

Se sim, onde estou errado aqui, que o gerenciador de pacotes não está permitindo isso? Multiarch, é suporte no Ubuntu 16.04, né?

    
por Jade 17.08.2016 / 01:17

0 respostas