Вопрос или проблема
После выполнения всех инструкций из CUDA Toolkit 11.1 Downloads,
последняя инструкция
sudo apt-get -y install cuda
не работает для меня.
Терминал показывает следующее сообщение:
Следующие пакеты имеют неудовлетворённые зависимости:
cuda : Зависит: cuda-11-1 (>= 11.1.0), но он не будет установлен
E: Невозможно исправить проблемы, у вас есть удерживаемые испорченные пакеты.
PS: У меня в компьютере карта NVIDIA GTX 1660TI.
Есть ли решение, пожалуйста?
Я только что столкнулся с этой проблемой и решил её, запустив следующие команды в терминале:
sudo apt clean
sudo apt update
sudo apt purge 'nvidia-*'
sudo apt autoremove
sudo apt install -y cuda
Большое спасибо за этот пост на форумах Nvidia.
Я думаю, что проблема связана с версией драйвера CUDA. Похоже, что установщик пытается установить последнюю версию 455.23.05, и установка фактически терпит неудачу там.
Я решил это, сначала скачав локальный установщик и отключив установку драйвера CUDA, чтобы установился только toolkit.
wget https://developer.download.nvidia.com/compute/cuda/11.1.0/local_installers/cuda_11.1.0_455.23.05_linux.run
chmod +x cuda_11.1.0_455.23.05_linux.run
sudo ./cuda_11.1.0_455.23.05_linux.run
В меню отключите установку драйвера:
Если уже не сделано, добавьте репозиторий nvidia согласно инструкциям с официального сайта перед установкой драйвера:
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/cuda-ubuntu1804.pin
sudo mv cuda-ubuntu1804.pin /etc/apt/preferences.d/cuda-repository-pin-600
sudo apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/7fa2af80.pub
sudo add-apt-repository "deb https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/ /"
sudo apt-get update
Установите драйвер CUDA 450 вручную:
sudo apt-get install cuda-drivers-450
Проверьте, выполнив
nvcc -V
Если nvcc не найден, не забудьте добавить его в ваш PATH:
PATH=$PATH:/usr/local/cuda/bin
Вам нужно удалить любой драйвер nvidia перед запуском sudo apt install -y cuda
Для этого перейдите в “Программное обеспечение и обновления” -> “Дополнительные драйверы” -> Используя X.Org X (nouveau)
То, что помогло мне решить эту проблему, это то, что я установил актуальную версию драйвера nvidia с помощью команды “sudo apt install nvidia-driver-NNN”, а затем указал использовать её в Программном обеспечении и обновлениях – Дополнительные драйверы
Для неудовлетворённых зависимостей попробуйте выполнить следующее в терминале:
apt --fix-broken install
Команда, которая помогла мне, была следующей:
apt --fix-broken purge
Моя проблема заключалась в том, что некоторые пакеты Nvidia были удержаны в старой версии по какой-то причине, в то время как другие были обновлены, и из-за проблем совместимости всё должно было быть в последней версии. Вот моё сообщение об ошибке (обратите внимание на версии пакетов):
Следующие пакеты имеют неудовлетворённые зависимости:
cuda-drivers : Зависит: cuda-drivers-550 (= 550.54.14-1), но он не установлен
libnvidia-decode-545 : Зависит: libnvidia-compute-545 (= 545.23.08-0ubuntu1), но он не установлен
E: Неудовлетворённые зависимости. Попробуйте 'apt --fix-broken install' без пакетов (или укажите решение).
При использовании apt --fix-broken purge
apt удалил все старые пакеты (545) и принудил к установке новые пакеты (550), и всё заработало отлично. Однако в некоторых случаях (как у меня), apt не смог вручную удалить подлежащие удалению пакеты, потому что он пытается установить новые пакеты поверх старых пакетов, вместо того чтобы удалить все старые пакеты и установить новые. Чтобы это исправить, я просто использовал эту команду с пакетами, указанными apt (они отмечены звёздочкой рядом). Например, я использовал это:
dpkg --purge libnvidia-decode-545 libnvidia-encode-545 libnvidia-extra-545 libnvidia-fbc1-545 libnvidia-fbc1-545:i386 nvidia-dkms-545 nvidia-kernel-common-545 nvidia-kernel-source-545 libnvidia-cfg1-545 xserver-xorg-video-nvidia-545
После этого я снова запустил apt --fix-broken purge
, и всё заработало нормально.
sudo apt update
sudo apt --fix-broken install
sudo apt-mark showhold
apt-cache depends cudnn9-cuda-11
sudo apt install cudnn9-cuda-11-8
Вышеуказанные команды решили проблему 👍
Как в предыдущем посте, я запустил это для Ubuntu 20.04 Nvidia Quadro P520:
sudo apt clean
sudo apt update
sudo apt purge nvidia-*
sudo apt autoremove
Перезагрузите ваш ПК и выполните это:
sudo apt install -y cuda
Ответ или решение
Проблема при установке CUDA Toolkit в Ubuntu 18.04: решение и рекомендации
Если вы столкнулись с проблемой установки CUDA Toolkit в Ubuntu 18.04, возможно, вы видите сообщения об "незавершенных зависимостях". Это распространенная проблема, особенно если ваша система уже имела предыдущие версии NVIDIA драйверов или CUDA. В этой статье мы рассмотрим возможные причины проблемы и шаги по ее устранению.
Причины проблемы
Сообщение об ошибке, похожее на:
The following packages have unmet dependencies:
cuda : Depends: cuda-11-1 (>= 11.1.0) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.
указывает на то, что некоторые пакеты не могут быть установлены из-за конфликтов с уже установленными или неподходящими версиями драйверов NVIDIA.
Обычно это происходит по следующим причинам:
- Устаревшие или конфликтующие драйверы NVIDIA.
- Неправильная конфигурация репозитория CUDA.
- Пакеты, которые находятся в " held" состоянии и не обновляются автоматически.
Решения
Ниже предлагаются пошаговые инструкции для решения проблемы:
1. Очистка кэша и обновление системы
Выполните следующие команды в терминале:
sudo apt clean
sudo apt update
Эти команды очистят кэш и обновят списки пакетов, что может помочь устранить конфликты.
2. Удаление старых драйверов NVIDIA
Если в системе установлены старые версии драйверов NVIDIA, их необходимо удалить:
sudo apt purge 'nvidia-*'
sudo apt autoremove
Эти команды удалят все установленные драйверы NVIDIA и их зависимости.
3. Установка CUDA Toolkit без драйвера
Если установка CUDA через apt-get
по-прежнему вызывает проблемы, можно использовать локальный установщик, чтобы исключить установку драйвера. Сначала загрузите локальный установщик:
wget https://developer.download.nvidia.com/compute/cuda/11.1.0/local_installers/cuda_11.1.0_455.23.05_linux.run
chmod +x cuda_11.1.0_455.23.05_linux.run
Запустите установочный файл и отключите установку драйвера:
sudo ./cuda_11.1.0_455.23.05_linux.run
4. Добавление репозитория NVIDIA и установка драйвера вручную
Если необходимо установить драйвер вручную, выполните следующие команды:
sudo apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/7fa2af80.pub
sudo add-apt-repository "deb https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/ /"
sudo apt-get update
sudo apt-get install cuda-drivers-450
После выполнения этих команд можно будет перейти к установке CUDA:
sudo apt install -y cuda
5. Проверка установки
После завершения установки вы можете проверить правильность установки CUDA, выполнив:
nvcc -V
Если команда не распознается, убедитесь, что путь к CUDA добавлен в переменные окружения:
export PATH=$PATH:/usr/local/cuda/bin
6. Исправление незавершенных зависимостей
Если возникли ошибки о незавершенных зависимостях, попробуйте следующую команду:
sudo apt --fix-broken install
Это поможет устранить конфликты пакетов.
Заключение
Установка CUDA Toolkit может иногда вызывать проблемы из-за конфликтов с драйверами и зависимостями. Следуя вышеуказанным шагам, вы сможете успешно установить CUDA Toolkit на вашу систему. Если у вас остались вопросы или проблемы, рекомендуется обратиться к документации NVIDIA или форумам сообщества для получения дополнительной помощи.