Невозможно установить драйвер ROCm AMD на Linux Mint 22.1 “Следующие пакеты имеют неудовлетворенные зависимости:”

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

Я пытаюсь установить драйвер AMD ROCm на свой компьютер с Linux Mint 22.1. Все идет хорошо, когда я ввожу код:
sudo amdgpu-install --list-usecase

Вывод следующий:

Если опция --usecase отсутствует, по умолчанию выбирается "dkms,graphics,opencl,hip"
Доступные варианты использования:
dkms            (только для установки драйвера режима ядра)
  - Драйвер режима ядра (включен во все варианты использования)
graphics        (для пользователей графических приложений)
  - Открытые библиотеки графики и мультимедиа Mesa 3D
multimedia      (для пользователей открытого мультимедиа)
  - Открытые мультимедиа библиотеки Mesa 3D
workstation     (для пользователей устаревших рабочих станций)
  - Открытые мультимедиа библиотеки
  - Закрытый (устаревший) OpenGL
rocm            (для пользователей и разработчиков, требующих полный стек ROCm)
  - Исполняющая среда OpenCL (на базе ROCr/KFD)
  - Исполняющие среды HIP
  - Фреймворк машинного обучения
  - Все библиотеки и приложения ROCm
wsl             (для использования ROCm в контексте WSL)
  - Библиотека исполняемой среды ROCr WSL (только Ubuntu 22.04)
rocmdev         (для разработчиков, требующих исполняющую среду ROCm и
                инструменты профилирования/отладки)
  - Исполняющие среды HIP
  - Исполняющая среда OpenCL
  - Инструменты профилирования, трассировки и отладки
rocmdevtools    (для разработчиков, требующих инструменты профилирования/отладки ROCm)
  - Инструменты профилирования, трассировки и отладки
amf             (для пользователей мультимедиа на базе AMF)
  - Закрытая медиатека AMF
lrt             (для пользователей приложений, требующих исполняющую среду ROCm)
  - Компилятор ROCm и библиотеки устройств
  - Исполняющая среда ROCr
opencl          (для пользователей приложений, требующих OpenCL на Vega или более поздних
                продуктах)
  - OpenCL на базе ROCr
  - Исполняющая среда языка ROCm
openclsdk       (для разработчиков приложений, требующих OpenCL на базе ROCr)
  - OpenCL на базе ROCr
  - Исполняющая среда языка ROCm
  - файлы для разработки и SDK для OpenCL на базе ROCr
hip             (для пользователей исполняющей среды HIP на продуктах AMD)
  - Исполняющие среды HIP
hiplibsdk       (для разработчиков приложений, требующих HIP на продуктах AMD)
  - Исполняющие среды HIP
  - Математические библиотеки ROCm
  - Библиотеки разработки HIP
openmpsdk       (для пользователей openmp/flang на продуктах AMD)
  - Исполняющая среда OpenMP и пакеты для разработки
mllib           (для пользователей, выполняющих рабочие нагрузки машинного обучения)
  - Библиотеки MIOpen hip/tensile
  - Clang OpenCL
  - Ядра MIOpen
mlsdk           (для разработчиков, выполняющих рабочие нагрузки машинного обучения)
  - Библиотеки для разработки MIOpen
  - Библиотеки для разработки Clang OpenCL
  - Ядра MIOpen
asan            (для пользователей пакетов ROCm с поддержкой ASAN)
  - Исполняющая среда OpenCL (на базе ROCr/KFD) с поддержкой ASAN
  - Исполняющие среды HIP с поддержкой ASAN
  - Фреймворк машинного обучения с поддержкой ASAN
  - Библиотеки ROCm с поддержкой ASAN

Затем я ввел:

amdgpu-install -y --usecase=graphics,rocm

Вывод:

Получено: 2 https://dl.google.com/linux/chrome/deb stable InRelease [1,825 B]        
Попадание: 3 https://repo.radeon.com/amdgpu/6.3.2/ubuntu noble InRelease              
Попадание: 4 http://packages.linuxmint.com xia Release                                
Попадание: 5 http://security.ubuntu.com/ubuntu noble-security InRelease               
Попадание: 6 https://repo.radeon.com/rocm/apt/6.3.2 noble InRelease                   
Получено: 7 https://dl.google.com/linux/chrome/deb stable/main amd64 Packages [1,208 B]
Попадание: 8 http://archive.ubuntu.com/ubuntu noble InRelease    
Попадание: 10 http://archive.ubuntu.com/ubuntu noble-updates InRelease
Попадание: 11 http://archive.ubuntu.com/ubuntu noble-backports InRelease
Загружено 3,033 B за 1с (2,703 B/s)
Чтение списков пакетов... Готово
Чтение списков пакетов... Готово
Построение дерева зависимостей... Готово
Чтение информации о состоянии... Готово
linux-headers-6.8.0-53-generic уже самой новой версии (6.8.0-53.55).
Некоторые пакеты не могут быть установлены. Это может означать, что вы
запросили невозможную ситуацию или если вы используете нестабильную
дистрибуцию, что некоторые необходимые пакеты еще не созданы
или не перемещены из Incoming.
Следующая информация может помочь решить ситуацию:

Следующие пакеты имеют неудовлетворенные зависимости:
 rocm-hip-runtime : Зависит от: rocminfo (= 1.0.0.60302-66~24.04), но будет установлен 5.7.1-3build1
 rocm-utils : Зависит от: rocminfo (= 1.0.0.60302-66~24.04), но будет установлен 5.7.1-3build1
E: Не удалось исправить проблемы, у вас удерживаются поврежденные пакеты.

Так как я относительно новичок в Linux и его компонентах, я понятия не имею, что делать, чтобы исправить это. Требуется ли для этого “rocminfo”? При попытке sudo apt install rocminfo я получаю “`Чтение списков пакетов… Готово
Построение дерева зависимостей… Готово
Чтение информации о состоянии… Готово
rocminfo уже самой новой версии (5.7.1-3build1).
0 обновлено, 0 новых установлено, 0 удалено и 0 не обновлено.

Очевидно, он уже установлен и является новым. Так требуется ли тогда другие пакеты: "rocm-hip-runtime", "rocm-utils"?

Попытка установить эти пакеты приводит к тем же ошибкам:```Следующие пакеты имеют неудовлетворенные зависимости:
 rocm-hip-runtime : Зависит от: rocminfo (= 1.0.0.60302-66~24.04), но будет установлен 5.7.1-3build1
 rocm-utils : Зависит от: rocminfo (= 1.0.0.60302-66~24.04), но будет установлен 5.7.1-3build1
E: Не удалось исправить проблемы, у вас удерживаются поврежденные пакеты.```

Любая помощь будет очень полезна!

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

Конечно, решение проблем с установкой драйверов на Linux может быть довольно сложной задачей, особенно если вы не имеете большого опыта работы с этой операционной системой. В данном случае проблема заключается в установке ROCm драйвера от AMD на вашу систему Linux Mint 22.1.

Теория

Основной причиной возникшей ошибки является конфликт зависимостей в пакетах, необходимых для установки ROCm. Подразумевается, что для установки драйвера ROCm требуется конкретная версия пакета rocminfo, которую система не может найти или установить из-за версии, уже установленной в системе. Ошибки подобного рода возникают, когда требуемая версия зависимостей недоступна в репозитории или когда происходит конфликт между устаревшей и новой версиями зависимостей.

Пример

Вы получили ошибку, связанную с невозможностью установления необходимых пакетов rocm-hip-runtime и rocm-utils, так как они зависят от версии rocminfo (1.0.0.60302-66~24.04), которой у вас на системе пока нет (вместо этого у вас установлена версия 5.7.1-3build1). Это указывает на несоответствие версий пакетов, что может быть вызвано использованием репозиториев, которые оказались несовместимыми с вашей версией операционной системы.

Применение

  1. Проверка источников репозиториев: Убедитесь, что ваша система использует правильные репозитории ROCm. Вы можете добавить недостающие или изменить существующие репозитории через терминал:

    echo 'deb [arch=amd64] https://repo.radeon.com/rocm/apt/5.x ubuntu main' | sudo tee /etc/apt/sources.list.d/rocm.list

    Замените 5.x на актуальную версию ROCm, которую вы намерены установить.

  2. Очистка кэша и обновление: После внесения изменений в репозитории выполните обновление списка пакетов и кэша кэша:

    sudo apt update
    sudo apt upgrade
  3. Удаление проблемных пакетов: Иногда помогает удалить конфликтующие или уже существующие пакеты перед повторной установкой:

    sudo apt remove --purge rocminfo rocm-hip-runtime rocm-utils

    Будьте осторожны с этой командой, так как она также удалит зависимости и программы, которые требуются другим приложениям.

  4. Установка нужной версии rocminfo: После удаления пакетов попробуйте вручную установить требуемую версию rocminfo:

    sudo apt install rocminfo=1.0.0.60302-66~24.04

    Если package не удается установить таким образом, возможно, придется загрузить deb-файл вручную с официального сайта ROCm и установить его с помощью dpkg.

  5. Переустановка ROCm драйвера: Теперь, когда проблема с зависимостями, возможно, решена, повторите попытку установки драйвера ROCm:

    amdgpu-install -y --usecase=graphics,rocm
  6. Проверка установленных пакетов: После успешной установки убедитесь, что пакеты установлены правильно, проверив их статус:

    dpkg -l | grep rockm

Эти шаги должны помочь вам устранить проблему с зависимостями и успешно установить driver ROCm на вашу систему. При работе с Linux важно учитывать, что ошибки зависимостей могут возникать часто, и лучше всего воспитывать у себя привычку внимательного чтения журналов ошибок. Также полезно иметь под рукой официальные инструкции и документацию, предоставляемую ROCm, поскольку комплектация пакетов и требования к зависимостям могут меняться.

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

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

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