Я должен компилировать/связывать исполняемые файлы C/C++ на 64 бита и на 32 бита на Ubuntu 16.04 (64 бита). Я выполнил следующие командные строки:
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
Последняя команда установит 64 бита glib2.0 библиотека
Но когда я пытаюсь установить 32 бита glib2.0 библиотека через команду:
sudo apt-get install libglib2.0-dev:i386
Это удаляет 64 бита glib2.0 библиотека, которую я просто установил ранее (как отмечено удалить комментарием после издания установки на 32 бита):
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]
Кто-то мог сказать мне, как я могу предотвратить удаление 64 битов glib2.0 библиотеки (а также другие библиотеки, которые я могу установить) при установке его версии на 32 бита на Ubuntu 16.04. Мне нужны и библиотеки на 64 бита и на 32 бита, установленные для моей сборки C/C++.
Как отмечено списком команд я выполнился, я действительно добавил архитектуру на 32 бита к своей Ubuntu на 64 бита и проверил, что это распознается ОС:
dev@ubuntu:~$ dpkg --print-architecture
amd64
dev@ubuntu:~$ dpkg --print-foreign-architectures
i386
Таким образом на основе вышеупомянутого запроса, не должно быть никакой причины, почему у меня не может быть glib2.0 библиотеки, которая составляет 64 бита и 32 бита (или для какой-либо библиотеки, которая имеет обе библиотеки на 64/32 бита в наличии), установленный в той же 64-разрядной ОС, правильно? По крайней мере, это - то, что debian ссылка мультидуги говорит мне.
Если так, где я иду не так, как надо здесь, что диспетчер пакетов запрещает это? Мультидуга, поддержка на Ubuntu 16.04, правильно?