Рейтинг:2

Проблемы с обновлением CUDA на 18.04 LTS (конфликт пакета драйверов?)

флаг kz

Я пытаюсь обновить свою установку CUDA на Ubuntu 18.04 LTS, точнее, я следую инструкциям, приведенным в документации TensorFlow. здесь (Я следовал этим инструкциям для исходной установки CUDA 10). Сначала сделал (по инструкции здесь)

sudo rm /etc/apt/sources.list.d/cuda*
sudo apt удалить --autoremove nvidia-cuda-toolkit
sudo apt удалить --autoremove nvidia-*

sudo apt-получить очистку nvidia *
sudo apt-получить автоматическое удаление
sudo apt-получить автоочистку

sudo rm -rf /usr/local/cuda*

Затем (из инструкций TensorFlow)

sudo apt install ./nvidia-machine-learning-repo-ubuntu1804_1.0.0-1_amd64.deb

Но после выполнения этого я получаю следующую ошибку:

Чтение списков пакетов... Готово
Построение дерева зависимостей       
Чтение информации о состоянии... Готово
Возможно, вы захотите запустить «apt --fix-broken install», чтобы исправить это.
Следующие пакеты имеют неудовлетворенные зависимости.
 libnvidia-extra-450 : зависит: libnvidia-extra-460, но не установлена
E: Неудовлетворенные зависимости.Попробуйте «apt --fix-broken install» без пакетов (или укажите решение).

Затем попытка sudo apt --fix-сломанная установка дает мне:

Чтение списков пакетов... Готово
Построение дерева зависимостей       
Чтение информации о состоянии... Готово
Исправление зависимостей... Готово
Следующие пакеты были установлены автоматически и больше не требуются:
  g++-6 libaccinj64-9.1 libcublas9.1 libcudart9.1 libcufft9.1 libcufftw9.1 libcuinj64-9.1 libcurand9.1 libcusolver9.1
  libcusparse9.1 libnppc9.1 libnppial9.1 libnppicc9.1 libnppicom9.1 libnppidei9.1 libnppif9.1 libnppig9.1 libnppim9.1
  libnppist9.1 libnppisu9.1 libnppitc9.1 libnpps9.1 libnvblas9.1 libnvgraph9.1 libnvidia-common-440 libnvidia-extra-440
  libnvrtc9.1 libnvtoolsext1 libnvvm3 libstdc++-6-dev libthrust-dev libvdpau-dev nvidia-cuda-doc nvidia-cuda-gdb
  nvidia-opencl-dev nvidia-profiler nvidia-visual-profiler ocl-icd-opencl-dev opencl-c-заголовки
Используйте «sudo apt autoremove», чтобы удалить их.
Будут установлены следующие дополнительные пакеты:
  libnvidia-extra-460
Следующие НОВЫЕ пакеты будут установлены
  libnvidia-extra-460
0 для обновления, 1 для новой установки, 0 для удаления и 273 для отказа от обновления.
2 не полностью установлен или удален.
Нужно получить 0 Б/40,9 КБ архивов.
После этой операции будет использовано 120 кБ дополнительного дискового пространства.
Вы хотите продолжить? [Д/н] Д
(Чтение базы данных... На данный момент установлено 196344 файла и каталога.)
Подготовка к распаковке .../libnvidia-extra-460_460.106.00-0ubuntu1_amd64.deb ...
Распаковка libnvidia-extra-460:amd64 (460.106.00-0ubuntu1)...
dpkg: ошибка обработки архива /var/cache/apt/archives/libnvidia-extra-460_460.106.00-0ubuntu1_amd64.deb (--unpack):
 попытка перезаписать '/usr/lib/x86_64-linux-gnu/libnvidia-allocator.so', который также находится в пакете libnvidia-compute-450:amd64 450.36.06-0ubuntu1
При обработке возникли ошибки:
 /var/cache/apt/archives/libnvidia-extra-460_460.106.00-0ubuntu1_amd64.deb
E: Подпроцесс /usr/bin/dpkg возвратил код ошибки (1)

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

sudo dpkg -P nvidia-драйвер-450

Или принудительно установите с помощью

sudo dpkg -i --force-overwrite /var/cache/apt/archives/libnvidia-compute-450:amd64 450.36.06-0ubuntu1
sudo apt -f установить

Результат дпкг -л | grep -я nvidia является:

ii cuda-nsight-compute-10-1 10.1.243-1 amd64 NVIDIA Nsight Compute
ii cuda-nsight-systems-10-1 10.1.243-1 amd64 Системы NVIDIA Nsight
ii cuda-nvtx-10-1 10.1.243-1 amd64 Расширение инструментов NVIDIA
ii libaccinj64-9.1:amd64 9.1.85-3ubuntu1 amd64 Библиотека NVIDIA ACCINJ (64-разрядная версия)
ii libcublas9.1:amd64 9.1.85-3ubuntu1 amd64 Библиотека NVIDIA cuBLAS
ii libcudart9.1:amd64 9.1.85-3ubuntu1 amd64 Библиотека времени выполнения NVIDIA CUDA
ii libcufft9.1:amd64 9.1.85-3ubuntu1 amd64 Библиотека NVIDIA cuFFT
ii libcufftw9.1:amd64 9.1.85-3ubuntu1 amd64 Библиотека NVIDIA cuFFTW
ii libcuinj64-9.1:amd64 9.1.85-3ubuntu1 amd64 Библиотека NVIDIA CUINJ (64-разрядная версия)
ii libcurand9.1:amd64 9.1.85-3ubuntu1 amd64 Библиотека NVIDIA cuRAND
ii libcusolver9.1:amd64 9.1.85-3ubuntu1 amd64 Библиотека NVIDIA cuSOLVER
ii libcusparse9.1:amd64 9.1.85-3ubuntu1 amd64 Библиотека NVIDIA cuSPARSE
ii libnppc9.1:amd64 9.1.85-3ubuntu1 amd64 Основная библиотека времени выполнения NVIDIA Performance Primitives
ii libnppial9.1:amd64 9.1.85-3ubuntu1 amd64 Библиотека NVIDIA Performance Primitives для арифметики и логики изображений
ii libnppicc9.1:amd64 9.1.85-3ubuntu1 amd64 Библиотека NVIDIA Performance Primitives для преобразования цвета изображения
ii libnppicom9.1:amd64 9.1.85-3ubuntu1 amd64 Библиотека NVIDIA Performance Primitives для сжатия изображений
ii libnppidei9.1:amd64 9.1.85-3ubuntu1 amd64 Библиотека NVIDIA Performance Primitives для обмена данными и инициализации изображений
ii libnppif9.1:amd64 9.1.85-3ubuntu1 amd64 Библиотека NVIDIA Performance Primitives для фильтров изображений
ii libnppig9.1:amd64 9.1.85-3ubuntu1 amd64 Библиотека NVIDIA Performance Primitives для преобразования геометрии изображения
ii libnppim9.1:amd64 9.1.85-3ubuntu1 amd64 NVIDIA Performance Primitives lib для морфологических операций с изображениями
ii libnppist9.1:amd64 9.1.85-3ubuntu1 amd64 Библиотека NVIDIA Performance Primitives для статистики изображений
ii libnppisu9.1:amd64 9.1.85-3ubuntu1 amd64 Библиотека NVIDIA Performance Primitives для поддержки образов
ii libnppitc9.1:amd64 9.1.85-3ubuntu1 amd64 NVIDIA Performance Primitives lib для порога изображения и сравнения
ii libnpps9.1:amd64 9.1.85-3ubuntu1 amd64 Примитивы производительности NVIDIA для библиотеки времени выполнения обработки сигналов
ii libnvgraph9.1:amd64 9.1.85-3ubuntu1 amd64 Библиотека NVIDIA Graph Analytics (nvGRAPH)
ii libnvidia-cfg1-450:amd64 450.36.06-0ubuntu1 amd64 Бинарная библиотека конфигурации NVIDIA OpenGL/GLX
ii libnvidia-common-440 450.119.03-0ubuntu0.18.04.1 все Переходный пакет для libnvidia-common-450
ii libnvidia-common-450 460.91.03-0ubuntu0.18.04.1 все Переходный пакет для libnvidia-common-460
ii libnvidia-common-460 460.91.03-0ubuntu0.18.04.1 все общие файлы, используемые библиотеками NVIDIA
rc libnvidia-compute-440:amd64 440.82-0ubuntu0~0.18.04.2 amd64 Пакет NVIDIA libcompute
ii libnvidia-compute-450:amd64 450.36.06-0ubuntu1 amd64 Пакет NVIDIA libcompute
ii libnvidia-decode-450:amd64 450.36.06-0ubuntu1 amd64 библиотеки времени выполнения декодирования видео NVIDIA
ii libnvidia-encode-450:amd64 450.36.06-0ubuntu1 amd64 Библиотека времени выполнения для кодирования видео NVENC
iU libnvidia-extra-440:amd64 450.119.03-0ubuntu0.18.04.1 amd64 Переходный пакет для libnvidia-extra-450
iU libnvidia-extra-450:amd64 460.91.03-0ubuntu0.18.04.1 amd64 Переходный пакет для libnvidia-extra-460
ii libnvidia-fbc1-450:amd64 450.36.06-0ubuntu1 amd64 Библиотека времени выполнения для захвата кадрового буфера на базе NVIDIA OpenGL
ii libnvidia-gl-450:amd64 450.36.06-0ubuntu1 amd64 библиотеки NVIDIA OpenGL/GLX/EGL/GLES GLVND и Vulkan ICD
ii libnvidia-ifr1-450:amd64 450.36.06-0ubuntu1 amd64 Библиотека времени выполнения Inband Frame Readback на базе NVIDIA OpenGL
ii libnvrtc9.1:amd64 9.1.85-3ubuntu1 amd64 Компиляция среды выполнения CUDA (библиотека NVIDIA NVRTC)
ii libnvtoolsext1:amd64 9.1.85-3ubuntu1 amd64 Библиотека расширений инструментов NVIDIA
ii libnvvm3:amd64 9.1.85-3ubuntu1 amd64 Библиотека NVIDIA NVVM
ii nsight-compute-2020.1.0 2020.1.0.33-1 amd64 NVIDIA Nsight Compute
rc nvidia-compute-utils-440 440.82-0ubuntu0~0.18.04.2 amd64 Вычислительные утилиты NVIDIA
ii nvidia-compute-utils-450 450.36.06-0ubuntu1 amd64 вычислительные утилиты NVIDIA
ii nvidia-cuda-doc 9.1.85-3ubuntu1 вся документация по NVIDIA CUDA и OpenCL
ii nvidia-cuda-gdb 9.1.85-3ubuntu1 amd64 Отладчик NVIDIA CUDA (GDB)
rc nvidia-dkms-440 440.82-0ubuntu0~0.18.04.2 amd64 Пакет NVIDIA DKMS
ii nvidia-dkms-450 450.36.06-0ubuntu1 amd64 Пакет NVIDIA DKMS
ii nvidia-driver-450 450.36.06-0ubuntu1 amd64 метапакет драйверов NVIDIA
rc nvidia-kernel-common-440 440.82-0ubuntu0~0.18.04.2 amd64 Общие файлы, используемые с модулем ядра
ii nvidia-kernel-common-450:amd64 460.91.03-0ubuntu0.18.04.1 amd64 Переходный пакет для nvidia-kernel-common-460
ii nvidia-kernel-common-460 460.91.03-0ubuntu0.18.04.1 amd64 Общие файлы, используемые с модулем ядра
ii nvidia-kernel-source-450 450.36.06-0ubuntu1 amd64 исходный код ядра NVIDIA
ii файлы конфигурации репозитория nvidia-machine-learning-repo-ubuntu1804 1.0.0-1 amd64 nvidia-machine-learning
ii nvidia-modprobe 450.36.06-0ubuntu1 amd64 Загрузите драйвер ядра NVIDIA и создайте файлы устройств
ii nvidia-opencl-dev:amd64 9.1.85-3ubuntu1 amd64 файлы разработки NVIDIA OpenCL
ii nvidia-profiler 9.1.85-3ubuntu1 amd64 NVIDIA Profiler для CUDA и OpenCL
ii nvidia-settings 470.57.01-0ubuntu0.18.04.1 amd64 Инструмент для настройки графического драйвера NVIDIA
ii nvidia-utils-450 450.36.06-0ubuntu1 amd64 поддержка двоичных файлов драйвера NVIDIA
ii nvidia-visual-profiler 9.1.85-3ubuntu1 amd64 NVIDIA Visual Profiler для CUDA и OpenCL
ii xserver-xorg-video-nvidia-450 450.36.06-0ubuntu1 amd64 Двоичный драйвер Xorg NVIDIA

Я попытался явно удалить и очистить пакет libnvidia-compute-450, но это ничего не дало. Не знаю, что делать, соблазнился просто удалить этот драйвер, но, читая о людях, ужаленных подобными проблемами, я опасаюсь, не хочу полностью переустанавливать Ubuntu!

Рейтинг:0
флаг kz

Хорошо, в конце концов мне удалось исправить это, принудительно перезаписав проблемный пакет (очистка не сработала). я побежал

sudo dpkg -i --force-overwrite /var/cache/apt/archives/libnvidia-extra-460_460.106.00-0ubuntu1_amd64.deb

Затем я смог успешно выполнить остальные инструкции по установке TensorFlow CUDA. Досадно, что эти инструкции на самом деле устанавливают CUDA 11.0 для TF 2.4 (почему?), которые не являются текущими версиями ни того, ни другого — это легко пропустить!

Очень разочаровывающий опыт.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.