데비안 서버에 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+를 설치하려면:
/etc/apt/sources.list.d
다음 줄이 포함된 디렉터리에 파일을 생성하여 적절한 소스에 데비안 테스트 저장소를 추가하세요.deb http://ftp.us.debian.org/debian testing main contrib non-free
/etc/apt/preferences.d
다음을 포함하는 파일을 생성하여 데비안에게 특정 패키지에 대한 테스트 소스를 사용하도록 지시합니다 :Package: * Pin: release a=testing Pin-Priority: 100
적절한 데이터베이스 업데이트:
sudo apt-get update
테스트를 통해 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-5
Debian 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++