Вопрос или проблема
Мне нужны как 32-битная, так и 64-битная версии для libncurses.so.5
на Ubuntu 20.04 (Focal Fossa) для сборки Android приложения на более старом Android NDK. Какие у меня есть варианты? libncurses.so.5
больше нет в apt-get.
Вам нужно обновить списки пакетов, так как этот пакет всё ещё доступен из universe репозитория.
Установите их с помощью:
sudo add-apt-repository universe
sudo apt-get install libncurses5 libncurses5:i386
Однако добавление репозитория universe
не полностью решило мою проблему, я выяснил, что мне также нужно было настроить правильную внешнюю архитектуру.
Чтобы это настроить, я сначала проверил основную архитектуру, которая была amd64
, а внешняя архитектура была пуста. Поэтому мне нужно было также добавить архитектуру i386
.
$ sudo dpkg --print-architecture
$ sudo dpkg --print-foreign-architectures
$ sudo dpkg --add-architecture i386
Для Ubuntu 24 добавьте в список источников, а затем установите:
- deb http://security.ubuntu.com/ubuntu focal-security main universe
- sudo apt-get install libncurses5:i386
Ответ или решение
Установка библиотеки libncurses.so.5
в Ubuntu 20.04 (Focal Fossa) может показаться сложной задачей, особенно когда требуется как 32-битная, так и 64-битная версии для разработки приложений с использованием более старого Android NDK. Однако процесс можно упростить, следуя нескольким шагам.
Шаг 1: Включение репозитория universe
Библиотека libncurses.so.5
находится в репозитории universe
, который может быть отключен по умолчанию. Чтобы его активировать, выполните следующую команду:
sudo add-apt-repository universe
sudo apt-get update
Шаг 2: Добавление архитектуры i386
Поскольку вам также нужна 32-битная версия библиотеки, необходимо добавить поддержку архитектуры i386
. Убедитесь, что у вас настроено правильное окружение, выполнив следующие команды:
sudo dpkg --print-architecture # Проверяет основную архитектуру (должно быть amd64)
sudo dpkg --print-foreign-architectures # Проверяет, какие внешние архитектуры установлены
sudo dpkg --add-architecture i386 # Добавляет поддержку i386
sudo apt-get update # Обновляет списки пакетов
Шаг 3: Установка библиотеки
Теперь, когда ваш репозиторий universe
активирован, а архитектура i386
добавлена, вы можете установить как 64-битную, так и 32-битную версии libncurses.so.5
. Для этого выполните следующую команду:
sudo apt-get install libncurses5 libncurses5:i386
Шаг 4: Проверка установки
После завершения установки вы можете проверить наличие библиотеки, выполнив:
ls -l /usr/lib/x86_64-linux-gnu/libncurses.so.5
ls -l /usr/lib/i386-linux-gnu/libncurses.so.5
Эти команды должны показать, что обе версии библиотеки установлены корректно.
Заключение
Следуя приведенным шагам, вы сможете успешно установить libncurses.so.5
на Ubuntu 20.04 как в 64-битной, так и в 32-битной версиях. Это будет полезно для сборки приложений с использованием старого Android NDK. Не забывайте, что поддержка архитектуры i386
и включение репозитория universe
– критичные моменты в этом процессе. Если у вас возникли трудности, всегда можно обратиться к документации Ubuntu или сообществу для получения дополнительной помощи.
Эти инструкции помогут вам оптимизировать ваши усилия в разработке и упростят рабочий процесс, обеспечивая необходимыми библиотеками.