g ++ 우분투 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 업그레이드 안 함.
alecrosic

질문을 편집 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++
    

두 번째 선택, 다운 그레이드

흠, 그것은 나쁜 생각입니다 =)


업데이트 활성화 및 재로드 작업! 감사합니다.
alecrosic

이것들은 이미 확인되었지만, 확인 및 다시 확인 한 다음 다시로드도 가능합니다.
Mitch

0

소스의 Ubuntu 14.04가 너무 오래되었거나 액세스 할 수 없기 때문에 소스를 업데이트해야합니다. 먼저 소스 파일을 백업해야합니다sources.list

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

우분투 버전에 따르면 새로운 소스를 추가합니다.

  1. 버전 명령을 쿼리하십시오.

    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,
    

    우분투 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.