ติดตั้ง g ++ ubuntu 14.04 ขึ้นอยู่กับ: g ++ - 4.8 (> = 4.8.2-5 ~) แต่มันจะไม่ถูกติดตั้ง


9

ฉันเพิ่งพิมพ์:

sudo apt-get install g++

และได้รับ:

The following packages have unmet dependencies:
 g++ : Depends: g++-4.8 (>= 4.8.2-5~) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

ฉันยังพยายามตามคำแนะนำในฟอรั่มอื่น ๆ :

sudo apt-get update

และ

sudo apt-get -f install

ไม่มีใครแก้ปัญหาของฉันได้ โปรดช่วยถ้าคุณรู้คำตอบ

แก้ไข:

ตามคำแนะนำที่อยู่ในความคิดเห็นฉันได้ลอง:

sudo apt-cache policy g++-4.8

และได้รับผลลัพธ์ต่อไปนี้:

g++-4.8:
  Installed: (none)
  Candidate: 4.8.2-19ubuntu1
  Version table:
     4.8.2-19ubuntu1 0
        500 http://ca.archive.ubuntu.com/ubuntu/ trusty/main amd64 Packages

โดยพยายาม:

sudo apt-get install g++-4.8

ฉันได้:

The following packages have unmet dependencies:
 g++-4.8 : Depends: gcc-4.8-base (= 4.8.2-19ubuntu1) but 4.8.4-2ubuntu1~14.04 is to be installed
           Depends: gcc-4.8 (= 4.8.2-19ubuntu1) but 4.8.4-2ubuntu1~14.04 is to be installed
           Depends: libstdc++-4.8-dev (= 4.8.2-19ubuntu1) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

เอาต์พุต / ข้อผิดพลาดของapt-getคำสั่งเหล่านั้นคืออะไร
Daniel

apt-get update เพียงอัปเดตที่เก็บข้อมูล ... บรรทัดเอาต์พุตจำนวนมาก แต่ไม่มีข้อผิดพลาด ... apt-get -f install ให้: 0 อัพเกรด, 0 ติดตั้งใหม่, 0 เพื่อลบและ 44 ไม่อัพเกรด
พิษ

แก้ไขคำถามของคุณและเพิ่มผลลัพธ์ของapt-cache policy g++-4.8
AB

ลองบังคับการติดตั้งผ่านsudo apt-get install g++-4.8และเพิ่มผลลัพธ์ลงในคำถามของคุณ คุณควรเห็นข้อความแสดงข้อผิดพลาดอื่น และเราต้องการข้อความนี้เพื่อค้นหาปัญหาที่แท้จริง
AB

และให้ความเห็นกับ@A.B.ฉันหากไม่มีฉันจะไม่ได้รับการแจ้งเตือนว่าคุณได้เปลี่ยนคำถามของคุณ
AB

คำตอบ:


9

ปัญหาคือ:

libstdc++-4.8-dev : Depends: gcc-4.8-base (= 4.8.2-19ubuntu1) but 4.8.4-2ubuntu1~14.04 is to be installed

ทำไม? นั่นเป็นเหตุผล:

  • libstdc++-4.8-dev ในที่เก็บหลักขึ้นอยู่กับ libstdc++-4.8-dev=4.8.2-19ubuntu1

  • libstdc++-4.8-devในที่เก็บการอัปเดตจะขึ้นอยู่กับlibstdc++-4.8-dev=4.8.4-2ubuntu1~14.04ซึ่งติดตั้งในระบบของคุณ


การแก้ไขปัญหา?

ตัวเลือกแรกของฉันคือเปิดใช้งานที่เก็บการอัพเดทอีกครั้ง:

  • เปิดSoftware & Updatesและแท็บUpdates

  • เลือกtrusty-updatesและtrusty-securityและคลิกClose

    หากใครบางคนมีเวอร์ชั่นสำหรับเทอร์มินัลโปรดแจ้งให้เราทราบ

    ป้อนคำอธิบายรูปภาพที่นี่

  • Reload

    ป้อนคำอธิบายรูปภาพที่นี่

  • ติดตั้ง

    sudo apt-get install g++
    

ตัวเลือกที่สองของฉันคือลดระดับ

อืมฉันจะบอกว่านั่นเป็นความคิดที่ไม่ดี=)


เปิดใช้งานการอัปเดตและโหลดซ้ำ! ขอบคุณ.
พิษเมื่อ

สิ่งเหล่านี้ถูกตรวจสอบแล้วสำหรับฉัน แต่การยกเลิกการเลือกและการตรวจสอบอีกครั้งจากนั้นการโหลดซ้ำก็ใช้งานได้
มิทช์

0

เนื่องจากแหล่ง Ubuntu 14.04 นั้นเก่าเกินไปหรือไม่สามารถเข้าถึงได้ดังนั้นเราควรอัพเดทแหล่งข้อมูลซึ่งจะได้รับการแก้ไข อันดับแรกเราควรสำรองไฟล์ต้นฉบับsources.list

sudo cp /etc/apt/sources.list /etc/apt/sources.list_backup

ตามเวอร์ชั่นของ Ubuntu เพื่อเพิ่มแหล่งข้อมูลใหม่

  1. ค้นหาคำสั่ง version:

    lsb_release -a
    

    จากนั้นมันจะพิมพ์ข้อมูลเช่น:

    No LSB modules are available.
    Distributor ID: Ubuntu
    Description:    Ubuntu 14.04.4 LTS
    Release:    14.04
    Codename:   trusty
    
  2. ตามรูปแบบที่จะเลือกแหล่ง suitbale และเพิ่มในตอนท้ายของไฟล์ '/etc/apt/sources.list'

    http://wiki.ubuntu.org.cn/Template:14.04source,
    

    แหล่ง Ubuntu 14.04:

    deb http://archive.ubuntu.com/ubuntu/ trusty main restricted universe multiverse
    deb http://archive.ubuntu.com/ubuntu/ trusty-security main restricted universe multiverse
    deb http://archive.ubuntu.com/ubuntu/ trusty-updates main restricted universe multiverse
    deb http://archive.ubuntu.com/ubuntu/ trusty-proposed main restricted universe multiverse
    deb http://archive.ubuntu.com/ubuntu/ trusty-backports main restricted universe multiverse
    deb-src http://archive.ubuntu.com/ubuntu/ trusty main restricted universe multiverse
    deb-src http://archive.ubuntu.com/ubuntu/ trusty-security main restricted universe multiverse
    deb-src http://archive.ubuntu.com/ubuntu/ trusty-updates main restricted universe multiverse
    deb-src http://archive.ubuntu.com/ubuntu/ trusty-proposed main restricted universe multiverse
    deb-src http://archive.ubuntu.com/ubuntu/ trusty-backports main restricted universe multiverse
    
  3. อัปเดตแหล่งที่มา

    sudo apt-get update
    
  4. ตกลง

    sudo apt-get install g++
    
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.