Score:2

ปัญหาในการอัปเดต CUDA ใน 18.04 LTS (แพ็คเกจไดรเวอร์ขัดแย้งกันหรือไม่)

ธง kz

ฉันกำลังพยายามอัปเกรดการติดตั้ง CUDA บน Ubuntu 18.04 LTS โดยเฉพาะอย่างยิ่ง ฉันกำลังทำตามคำแนะนำที่ให้ไว้ในเอกสาร TensorFlow ที่นี่ (ฉันทำตามคำแนะนำเหล่านี้สำหรับการติดตั้งดั้งเดิม CUDA 10) ครั้งแรกฉันทำ (ตามคำแนะนำ ที่นี่)

sudo rm /etc/apt/sources.list.d/cuda*
sudo apt remove --autoremove nvidia-cuda-toolkit
sudo apt ลบ --autoremove nvidia-*

sudo apt-get ล้าง nvidia*
sudo apt-get autoremove
sudo apt-get autoclean

sudo rm -rf /usr/local/cuda*

จากนั้น (จากคำแนะนำ TensorFlow)

sudo apt ติดตั้ง ./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-breaked ติดตั้ง ให้ฉัน:

กำลังอ่านรายการแพ็กเกจ...เสร็จแล้ว
สร้างต้นไม้พึ่งพา       
กำลังอ่านข้อมูลสถานะ...
แก้ไขการอ้างอิง... เสร็จสิ้น
แพ็คเกจต่อไปนี้ได้รับการติดตั้งโดยอัตโนมัติและไม่จำเป็นอีกต่อไป:
  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-พิเศษ-460
แพ็คเกจใหม่ต่อไปนี้จะถูกติดตั้ง
  libnvidia-พิเศษ-460
0 เพื่ออัปเกรด 1 เพื่อติดตั้งใหม่ 0 เพื่อลบ และ 273 เพื่อไม่อัปเกรด
2 ไม่ได้ติดตั้งหรือถอดออกอย่างสมบูรณ์
จำเป็นต้องได้รับไฟล์เก็บถาวร 0 B/40.9 kB
หลังจากการดำเนินการนี้ จะใช้พื้นที่ดิสก์เพิ่มเติม 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-driver-450

หรือบังคับติดตั้งด้วย

sudo dpkg -i --force-overwrite /var/cache/apt/archives/libnvidia-compute-450:amd64 450.36.06-0ubuntu1
sudo apt -f ติดตั้ง

ผลลัพธ์ของ dpkg -l | grep -i 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 lib สำหรับ Image Arithmetic และ Logic
ii libnppicc9.1:amd64 9.1.85-3ubuntu1 amd64 NVIDIA Performance Primitives lib สำหรับการแปลงสีของภาพ
ii libnppicom9.1:amd64 9.1.85-3ubuntu1 amd64 NVIDIA Performance Primitives lib สำหรับการบีบอัดภาพ
ii libnppidei9.1:amd64 9.1.85-3ubuntu1 amd64 NVIDIA Performance Primitives lib สำหรับการแลกเปลี่ยนข้อมูลรูปภาพและการเริ่มต้น
ii libnppif9.1:amd64 9.1.85-3ubuntu1 amd64 NVIDIA Performance Primitives lib สำหรับตัวกรองรูปภาพ
ii libnppig9.1:amd64 9.1.85-3ubuntu1 amd64 NVIDIA Performance Primitives lib สำหรับการแปลง Image Geometry
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 lib สำหรับสถิติภาพ
ii libnppisu9.1:amd64 9.1.85-3ubuntu1 amd64 NVIDIA Performance Primitives lib สำหรับการสนับสนุนอิมเมจ
ii libnppitc9.1:amd64 9.1.85-3ubuntu1 amd64 NVIDIA Performance Primitives lib สำหรับ Image Threshold และการเปรียบเทียบ
ii libnpps9.1:amd64 9.1.85-3ubuntu1 amd64 NVIDIA Performance Primitives สำหรับการประมวลผลสัญญาณไลบรารีรันไทม์
ii libnvgraph9.1:amd64 9.1.85-3ubuntu1 amd64 ไลบรารี NVIDIA Graph Analytics (nvGRAPH)
ii libnvidia-cfg1-450:amd64 450.36.06-0ubuntu1 amd64 ไลบรารีการกำหนดค่าไบนารี OpenGL/GLX ของ NVIDIA
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-based Framebuffer จับภาพไลบรารีรันไทม์
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 Debugger (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 metapackage
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 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 ไดรเวอร์ NVIDIA ไบนารี Xorg

ฉันพยายามลบและล้างแพ็คเกจ libnvidia-compute-450 อย่างชัดเจน แต่ก็ไม่ได้ทำอะไรเลย ไม่แน่ใจว่าต้องทำอย่างไร อยากจะลบไดรเวอร์นั้นออก แต่มีคนอ่านเจอปัญหาที่คล้ายกัน ฉันจึงระวังตัว ไม่อยากติดตั้ง Ubuntu ใหม่ทั้งหมด!

Score: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 จริง ๆ (ทำไม?) ซึ่งไม่ใช่เวอร์ชันปัจจุบัน - มันง่ายที่จะพลาดสิ่งนี้!

ประสบการณ์ที่น่าผิดหวังมาก

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา