Debian jessie 8.1에 GCC 5를 설치하는 방법

Debian jessie 8.1에 GCC 5를 설치하는 방법

데비안 서버에 gcc 컴파일러 업데이트를 설치하기 위해 많은 솔루션을 시도했습니다. 그들 중 누구도 일하지 않았습니다. C++11의 새로운 기능을 사용하려면 컴파일러 업데이트가 필요합니다. 이는 안정적인 libcxx11 ABI와 C++11에 대한 안정적인 지원을 제공하기 때문입니다(참조여기). 특히 현재 컴파일러 gcc 버전 4.9.2(Debian 4.9.2-10)에 포함되지 않은 'GLIBCXX_3.4.21' 버전을 가져오고 있습니다.

해결책에 대한 몇 가지 지침이 도움이 될 것입니다. 미리 감사드립니다.

이미 시도한 내 문제와 관련된 포럼에 대한 일부 링크:

1 2 (완전히 관련되지 않은 솔루션은 우분투용이지만 아직 데비안의 ftp 서버에서 gcc-5를 찾을 수 없습니다)

답변1

데비안 jessie에 GCC 5+가 설치되어 있어야 했고 데비안 테스트에 사용할 수 있으므로(적어도 6월 16일에) apt-pinning을 사용하여 거기에 사용 가능한 패키지를 설치할 수 있습니다(참조https://wiki.debian.org/AptPreferences).

apt-pinning을 사용하여 debian jessie 테스트에서 GCC 5+를 설치하려면:

  1. /etc/apt/sources.list.d다음 줄이 포함된 디렉터리에 파일을 생성하여 적절한 소스에 데비안 테스트 저장소를 추가하세요.

    deb http://ftp.us.debian.org/debian testing main contrib non-free

  2. /etc/apt/preferences.d다음을 포함하는 파일을 생성하여 데비안에게 특정 패키지에 대한 테스트 소스를 사용하도록 지시합니다 :

    Package: *
    Pin: release a=testing
    Pin-Priority: 100
    
  3. 적절한 데이터베이스 업데이트:sudo apt-get update

  4. 테스트를 통해 gcc를 설치합니다.sudo apt-get install -t testing gcc

    -t testing이전에 구성한 대로 테스트 소스에서 gcc를 설치하도록 apt-get에 지시합니다 .

소스를 다시 컴파일하기 전에 컴파일을 정리하고 종속성을 다시 컴파일하는 것이 좋습니다.

재미있게 보내세요!

답변2

2017년 2월 19일 현재 gcc-5는제거됨테스트에서 :

https://tracker.debian.org/pkg/gcc-5

apt-get install gcc-5먼저 이 줄을 루트로 실행하면 다음을 수행할 수 있습니다 .

echo "deb http://ftp.us.debian.org/debian unstable main contrib non-free" > /etc/apt/sources.list.d/unstable.list

/etc/apt/preferences.d그런 다음 llekn의 답변에 따라 해당 소스의 우선 순위를 변경하고 싶을 것입니다 .

답변3

이전 답변 2개를 작동하는 답변으로 결합하려면 다음을 수행하세요.

echo "deb http://ftp.us.debian.org/debian unstable main contrib non-free" >> /etc/apt/sources.list.d/unstable.list
apt-get update
apt-get install -t unstable gcc-5

하지만!!! 불안정한 패키지를 설치하는 경우 위험은 사용자 책임으로 사용하십시오. /etc/apt/sources.list.d/unstable.list패키지를 설치한 후 제거할 수도 있습니다 .

가능하다면 OS가 엉망이 되지 않도록 Docker 아래에 설치하세요. 귀하의 마일리지가 다를 수 있습니다.

답변4

gcc-5Debian 10.13 "buster"의 Ubuntu 리포지토리에서 설치할 수 있었습니다 . 정말 나쁜 습관이지만 다른 선택의 여지가 없었습니다.

다음은 명령입니다(CI 친화적).

apt-get remove -y gcc
echo "deb http://us.archive.ubuntu.com/ubuntu/ xenial main" >> /etc/apt/sources.list.d/buster.list
echo "deb http://us.archive.ubuntu.com/ubuntu/ xenial universe" >> /etc/apt/sources.list.d/buster.list
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 40976EAF437D05B5 3B4FE6ACC0B21F32
apt-get update
apt-get install -y gcc-5 g++-5
ln -s /usr/bin/gcc-5 /usr/bin/gcc
ln -s /usr/bin/g++-5 /usr/bin/g++

관련 정보