Установите BLAS 32bit с помощью apt-get в Ubuntu 22.04

Вопрос или проблема

Я пытаюсь протестировать библиотеку в 32-битной системе. В версиях до Ubuntu 22.04 я смог установить 32-битную версию BLAS, сделав это:

sudo dpkg --add-architecture i386
sudo apt-get -y install libblas-dev:i386

Однако теперь я получаю эту ошибку:

E: Не удается найти пакет libblas-dev:i386

Это странно, потому что я все еще могу устанавливать другие 32-битные библиотеки без проблем, например sudo apt-get -y install libboost-serialization-dev:i386.

Что я упускаю? Возможно, Ubuntu больше не поставляет 32-битную версию BLAS, даже после добавления архитектуры i386.

Какие альтернативы у меня есть?

(Я пытался установить другие 32-битные реализации BLAS, такие как ATLAS и OpenBLAS, но эти 32-битные пакеты также не существуют).

Вот полная ошибка на CI машине: https://github.com/correaa/boost-multi/actions/runs/11565598763/job/32192856023#step:3:64


ПРЕДЛОЖЕНИЕ: Я осознаю, что раньше я не использовал Ubuntu, я использовал Debian. Но когда я переключился на Github (с Gitlab), единственный доступный образ – это ubuntu-latest. https://github.com/actions/runner-images?tab=readme-ov-file#available-images

Тем не менее, вопрос остается: почему этого нет в Ubuntu?

Могу ли я скачать и установить (программно) пакет Debian и установить его в образ Ubuntu?

Ответ или решение

Установка 32-битной версии BLAS на Ubuntu 22.04

Вопрос, с которым вы столкнулись, касается установки 32-битной версии библиотеки BLAS (Basic Linear Algebra Subprograms) на платформе Ubuntu 22.04 с использованием пакетного менеджера apt-get. Давайте разберёмся в данной ситуации и предложим возможные решения.

Проблема с установкой

Как вы верно заметили, команда, использовавшаяся ранее для добавления 32-битной архитектуры и установки libblas-dev:i386, теперь не работает:

sudo dpkg --add-architecture i386
sudo apt-get -y install libblas-dev:i386

Ошибка E: Unable to locate package libblas-dev:i386 указывает на то, что 32-битный пакет libblas-dev недоступен для установки через apt на вашей версии Ubuntu. Это может произойти по нескольким причинам, включая изменения в репозиториях или стратегии поддержки определённых библиотек.

Что делать?

1. Проверка доступных архитектур

Убедитесь, что архитектура i386 была успешно добавлена:

dpkg --print-foreign-architectures

Ожидаемый вывод должен включать i386. Если вывод не содержит i386, повторите команду:

sudo dpkg --add-architecture i386
sudo apt-get update
2. Установка других библиотек

Если libblas-dev:i386 по-прежнему недоступен, попробуйте установить альтернативные библиотеки, такие как libatlas-base-dev:i386 или libopenblas-dev:i386. Однако, прежде, чем делать это, проверьте, доступны ли они:

apt-cache search libatlas-base-dev
apt-cache search libopenblas-dev

Если подходящих пакетов нет, вы все равно можете рассмотреть следующие альтернативы.

3. Установка из Debian

Так как вы упомянули, что ранее использовали Debian, возможно, разумно будет установить 32-битную версию BLAS из пакетов Debian. Следуйте следующим шагам:

  • Загрузите нужный пакет из репозиториев Debian. Например, найдите нужный .deb файл на Debian Packages и загрузите его.

  • Установите пакет на Ubuntu, используя dpkg:

wget http://ftp.debian.org/debian/pool/main/b/blas/libblas-dev_*.deb
sudo dpkg -i libblas-dev_*.deb

Обратите внимание, что могут потребоваться дополнительные зависимости. Для установки их можно будет разрешить командой:

sudo apt-get install -f
4. Создание собственного PPA

Если другие пути не увенчались успехом, можно рассмотреть возможность создания собственного PPA (Personal Package Archive) для пакетов библиотеки BLAS, если у вас есть опыт работы с Ubuntu/Debian.

Заключение

Проблема с установкой 32-битной библиотеки BLAS на Ubuntu 22.04 может быть сложной, но существуют альтернативные методы, включая установку из Debian или поиск других 32-битных библиотек. Следуя данным рекомендациям, вы сможете установить необходимые зависимости для вашей среды разработки.

Если возникнут дополнительные вопросы или трудности, не hesitate to reach out for further assistance.

Оцените материал
Добавить комментарий

Капча загружается...