проблема установки bazel для drake на ubuntu

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

После выполнения sudo ./setup/ubuntu/install_prereqs.sh я получил следующую ошибку по завершении
/tmp/bazelisk_1.22.0-amd64.deb: ОК

(Чтение базы данных … в настоящее время установлено 352591 файл и каталог.)
Подготовка к распаковке /tmp/bazelisk_1.22.0-amd64.deb …
Распаковка bazelisk (1.22.0) …
dpkg: ошибка при обработке архива /tmp/bazelisk_1.22.0-amd64.deb (–install):
попытка перезаписать ‘/usr/bin/bazel’, который также содержится в пакете bazel-bootstrap 3.5.1+ds-3ubuntu1
При обработке возникли ошибки:
/tmp/bazelisk_1.22.0-amd64.deb
Скрипт настройки зависимостей исходного дистрибутива Drake вызвал ошибку на линии 20 при выполнении команды source “${BASH_SOURCE%/*}/source_distribution/install_prereqs.sh” “${source_distribution_args[@]}”
Я использую Ubuntu 22.04.5 LTS
Детали версии bazel:
Метка сборки: 3.5.1- (@non-git)
Цель сборки: bazel-out/k8-dbg/bin/src/main/java/com/google/devtools/build/lib/bazel/BazelServer_deploy.jar
Время сборки: Вс Авг 15 22:54:48 2021 (1629068088)
Метка времени сборки: 1629068088
Метка времени сборки в виде целого числа: 1629068088

не нашел решения на публикациях drake в github

.

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

Установка Bazel для Drake на Ubuntu может вызвать различные проблемы, особенно если у вас уже установлены другие версии Bazel или Bazelisk. В вашем случае возникла проблема при попытке установить Bazelisk, так как на вашем компьютере уже присутствует конфликтующая версия Bazel, установленная как bazel-bootstrap.

Анализ проблемы

Как видно из вашего сообщения об ошибке, во время установки Bazelisk возникла следующая проблема:

dpkg: ошибка обработки архива /tmp/bazelisk_1.22.0-amd64.deb (--install):
попытка перезаписать '/usr/bin/bazel', который также находится в пакете bazel-bootstrap 3.5.1+ds-3ubuntu1

Это свидетельствует о том, что вы пытаетесь установить пакет, который конфликтует с уже установленным пакетом. В данном случае, пакет bazel-bootstrap уже содержит файл /usr/bin/bazel, который пытается перезаписать пакет bazelisk.

Решение проблемы

  1. Удаление конфликтующего пакета: Вам необходимо удалить уже установленный пакет bazel-bootstrap. Выполните следующую команду в терминале:

    sudo apt-get remove bazel-bootstrap

    Убедитесь, что удаление проходит без ошибок.

  2. Проверка наличия Bazel: После удаления bazel-bootstrap, убедитесь, что у вас больше нет установленных версий Bazel, выполнив команду:

    which bazel

    Если команда возвращает путь к исполняемому файлу, это означает, что у вас все еще установлена версия Bazel. В этом случае выполните:

    sudo apt-get remove --purge bazel
  3. Повторная установка Bazelisk: После того как конфликтующий пакет будет удален, вы можете повторно запустить скрипт установки зависимостей для Drake:

    sudo ./setup/ubuntu/install_prereqs.sh
  4. Проверка корректности установки: По завершении установки проверьте, что bazel и bazelisk были установлены корректно:

    bazel --version
    bazelisk --version

    Вы должны увидеть версии bazel и bazelisk, соответствующие установленным.

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

Заключение

Таким образом, для успешной установки Bazel для Drake на Ubuntu вы должны удалить конфликтующие версии Bazel, а затем повторно выполнить процесс установки зависимостей. Если у вас возникли дополнительные проблемы или вопросы, рекомендуется обратиться к документации проекта Drake или на форумы сообщества, где можно найти аналогичные проблемы и их решения.

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

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