루트 없이 CentOS 7에서 gcc 버전을 변경하는 방법

루트 없이 CentOS 7에서 gcc 버전을 변경하는 방법

gcc가 설치된 CentOS 7 클러스터에 액세스할 수 있습니다. 불행하게도 gcc 버전은 꽤 오래된 버전(4.8)이며, 제가 사용하고 있는 Python 패키지 중 일부는 호환되지 않으며 5.0 이상의 버전이 필요하다고 보고되었습니다. 그러나 루트 액세스 권한이 없기 때문에 거기에 아무것도 쉽게 설치/제거할 수 없습니다.

나는 스택 교환에 대한 몇 가지 답변을 따르고 소스에서 gcc 8.4를 설치했습니다. make install성공한 것 같습니다 .

그런 다음 여기 질문에 대한 답변을 따랐습니다.사용자의 기본 gcc 버전을 설정하는 방법은 무엇입니까?) 기본값을 변경합니다. 그러나 그것은 나에게 작동하지 않습니다.

  1. gcc 8.4에는 $HOME/gcc_8_4(겉으로 보기에는 작동하는) 심볼릭 링크가 있습니다 $HOME/bin/gcc.
  2. gcc 4.8은 /usr/local/bin.
  3. $HOME/bin오는앞으로 /usr/local/binPATH, 위의 답변에 쓰여진 대로 .
  4. 디렉토리 ./gcc --version에서 전화 하면 버전 8.4를 받게 됩니다. $HOME/bin/gcc/bin어디에서나 전화하면 gcc --version여전히 4.8을 얻습니다.

그렇다면 이 답변이 게시된 이후로 변경된 사항이 있습니까? 버전 8.4 이후 버전인 4.8이 기본 버전으로 간주되는 이유는 무엇입니까 PATH? 이 문제를 해결할 방법이 있나요?

답변1

논평할 만큼 평판이 충분하지 않지만 포인트 4에서는 다음과 같이 말합니다 $HOME/bin/gcc/bin. 이것이 맞나요, 아니면 진심인가요 $HOME/bin/?

전자가 맞다면 하위 디렉터리 PATH가 포함되어 있지 않기 때문에 귀하의 디렉터리는 분명히 잘못된 것입니다 . 또한 심볼릭 링크할 때 하위 디렉터리(하위 디렉터리 ) gcc/bin의 추가 레이어를 추가한 것처럼 보입니다 .gcc/$HOME/bin

이 경우 추가 레이어를 제거하거나( $HOME/gcc_8_4/디렉토리의 모든 실행 파일을 심볼릭 링크 로 $HOME/bin연결 ) .PATH$HOME/bin/gcc/bin

관련 정보