Mint 18.1에서 나만의 C++ noodling을 위한 별도의 GCC 툴체인을 설치하는 방법(또는 설치할 수 없거나 설치해서는 안되는)에 대한 HowTo 또는 정보가 있습니까?
정규 시스템의 어떤 것도 깨뜨리고 싶지 않아서 새로운 PPA를 찾고 싶지 않습니까? 아니면 함께 제공되는 5.4 대신 무엇을 사용합니까? 향후 커널 업그레이드에서 무엇이든 다시 컴파일하면 혼합된 컴파일러 바이너리/라이브러리가 생길까 봐 걱정됩니다.
기본적으로 저는 이 새로운 툴체인을 사용하여 해당 상자에 대한 코딩을 직접 수행할 것입니다. 모든 시스템에서의 컴파일에는 적합하지 않습니다.
답변1
최신 버전의 GCC를 설치해도 아무런 문제가 발생하지 않을 것입니다. 최신 버전의 GCC에서 Linux 커널 모듈을 컴파일하면 이상한 오류가 발생할 수 있었던 때가 있었지만 그것은 10년이 넘었습니다.
그럼에도 불구하고 위험을 감수하고 패키지 관리의 번거로움을 피하기 위해 다른 버전을 별도로 설치하는 것이 좋습니다. 여러 컴파일러를 사용하여 빌드를 테스트하고 싶다면 특히 이 방법을 권장합니다. 여러 버전의 GCC를 설치할 수 있지만 원하는 버전을 선택하고 기본 버전이 특정 목적으로 사용되지 않는지 확인하는 것이 항상 쉬운 것은 아닙니다. 실행하기는 make CC=gcc-4.2
쉽지만 g++
, 등 as
을 처리하지 않으며 ld
일반 변수 대신 하드코딩된 도구 이름이 있는 명령도 처리하지 않습니다. 비협업 빌드 스크립트에서도 특정 툴체인을 사용할 수 있도록 하려면 해당 툴체인을 별도의 디렉터리에 배치하고 해당 디렉터리를 /usr/bin
PATH 앞에 추가하세요.
GNU GCC를 설치하는 권장 방법은 일련의 명령을 사용하여 소스에서 컴파일하는 것입니다.
tar -xzf gcc-4.2.tar.gz
mkdir gcc-4.2-native-bin
cd gcc-4.2-native-bin
../gcc-4.2/configure --prefix /opt/gcc-4.2 # plus a target to build a cross-compiler
make
sudo make install
답변2
설치된 바이너리만 업그레이드하면 됩니다 gcc
. 또는 크로스 컴파일된 일부 버전을 제외하고 여러 버전을 설치하더라도 어떤 이유로든 항상 여러 버전을 설치하게 됩니다(Mint가 아닌 Debian에서는 중요하지 않지만 동일한 패키지 관리자이므로).
아무것도 깨지지 않습니다. 나처럼 커널을 직접 컴파일하면 아무것도 깨지지 않을 것이다. DKMS 모듈에도 문제가 발생한 적이 없습니다.
만약 그렇다면회의무엇이든 깨뜨려도 언제든지 다시 설치할 수 있습니다. 그러므로 조심할 필요가 없습니다.