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

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

Debian jessie에서 테스트하기 위해 apt-pinning을 사용하여 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 testingapt-get이 이전에 구성한 테스트 소스에서 gcc를 설치하도록 지시합니다.

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

재미있게 보내세요!

답변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

하지만! ! ! stable에서 패키지를 설치할 때 이 기능을 사용하는 데 따른 책임은 사용자 본인에게 있습니다. /etc/apt/sources.list.d/unstable.list패키지를 설치한 후 제거할 수도 있습니다.

가능하다면 운영 체제를 엉망으로 만들지 않도록 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++

관련 정보