gcc - 오류: $PATH에 허용 가능한 C 컴파일러가 없습니다.

gcc - 오류: $PATH에 허용 가능한 C 컴파일러가 없습니다.

소스에서 GCC를 설치하려고 합니다. 위키의 지침을 따르고 있습니다.https://gcc.gnu.org/wiki/InstallingGCC또한 약SO에 대한 이 질문. 실행할 때 구성 단계에 문제가 있습니다.

$PWD/../gcc-4.6.2/configure --prefix=$HOME/gcc-4.6.2

다음과 같은 출력과 오류가 발생합니다.

checking whether ln works... yes
checking whether ln -s works... yes
checking for a sed that does not truncate output... /bin/sed
checking for gawk... no
checking for mawk... no
checking for nawk... no
checking for awk... awk
checking for libatomic support... yes
checking for libcilkrts support... no
checking for libitm support... yes
checking for libsanitizer support... yes
checking for libvtv support... yes
checking for libmpx support... no
checking for gcc... no
checking for cc... no
checking for cl.exe... no
configure: error: in `/usr/bin/objdir':
configure: error: no acceptable C compiler found in $PATH
See `config.log' for more details.

C 컴파일러가 설치되지 않았기 때문에 오류가 발생하는 것 같습니다. GCC를 설치하면 C 컴파일러를 설치해야 하는 것이 아니기 때문에 혼란스럽습니다. 이 오류에 대해 찾을 수 있는 모든 솔루션에는 GCC를 설치해야 한다고 나와 있습니다. 이를 위해 GCC를 설치해야 하는 경우 GCC를 어떻게 설치합니까?

$PATH 변수를 로 업데이트했지만 export PATH=$PATH:/usr/bin/gcc-4.6.2도움이 되지 않습니다. 나는 또한 성공하지 못한 채 비슷한 질문을 보았습니다.https://unix.stackexchange.com/questions/310669/c-compiler-while-installing-gcc

내가 놓친 것이 있나요? GCC를 설치하려면 또 무엇을 할 수 있나요?

참고: 제가 사용하고 있는 사용자 정의 배포판에는 이러한 유형의 설치 프로그램 소프트웨어가 설치되어 있지 않기 때문에 yum 또는 apt-get을 사용하여 설치할 수 없습니다.

답변1

GCC 자체는 C로 작성되었습니다. 따라서 설치를 위해서는 C컴파일러가 필요합니다. 이것은 캐치-22입니다. 당신은 아무것도 놓치지 않았습니다. 사실,다소 유명한 Ken Thompson 기사 "Reflections on Trust Trust"관련된 측면을 생각해 보세요.

어딘가에서 C 컴파일러를 구해야 합니다. 사용자 정의 배포판을 만든 사람은 누구나 하나쯤 있어야 합니다. 왜냐하면 그것 없이는 Linux 커널을 빌드할 수 없기 때문입니다. 어딘가에 제공해야 합니다.

그 외에도 컴파일러를 설치할 수 있는 배포판에서 gcc(및 binutils 및 C 라이브러리 헤더 등)를 크로스 컴파일해야 합니다. 이것이 누군가가 새로운 플랫폼을 위한 배포판을 구축하는 방법입니다. 또한 귀하의 플랫폼이 내장되어 있는 경우 아무도 귀하가 장치 자체에서 gcc를 실행하는 것을 원하지 않고 오히려 장치에 필요한 모든 소프트웨어를 크로스 컴파일하기를 원할 가능성도 있습니다. 이 경우, 임베디드 배포판에는 사용할 수 있는 크로스 컴파일러가 있어야 합니다.

답변2

Windows 10에서 Ubuntu 하위 시스템을 사용하는 동안 이 문제가 발생했으며 다음을 수행하여 해결했습니다.

sudo apt-get update 
sudo apt install build-essential

또는 두 번째 명령을 더 구체적으로 지정할 수도 있습니다.

sudo apt install gcc

관련 정보