데비안 서버에 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+를 설치하려면:
/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
apt-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-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++