/bin/sh: clang++: 명령을 찾을 수 없음

/bin/sh: clang++: 명령을 찾을 수 없음

저는 데비안 5를 사용합니다. GN을 만들고 있습니다. 제공된 지침을 따랐습니다.여기. 다음 명령을 실행하고 있습니다.

git clone https://gn.googlesource.com/gn
cd gn
python build/gen.py
ninja -C out

실행할 때 ninja -C out/다음 메시지가 나타납니다.

ninja: Entering directory `out/'   
[1/238] CXX tools/gn/input_file.o  
FAILED: tools/gn/input_file.o   
clang++ -MMD -MF tools/gn/input_file.o.d  -I/home/us/WebRTCBuild/gn -I/home/us/WebRTCBuild/gn/out -DNDEBUG -O3 -fdata-sections -ffunction-sections -D_FILE_OFFSET_BITS=64 -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -pthread -pipe -fno-exceptions -fno-rtti -fdiagnostics-color -std=c++14 -Wno-c++11-narrowing -c /home/us/WebRTCBuild/gn/tools/gn/input_file.cc -o tools/gn/input_file.o    
/bin/sh: clang++: command not found
[2/238] CXX base/callback_internal.o     
FAILED: base/callback_internal.o    
clang++ -MMD -MF base/callback_internal.o.d  -I/home/us/WebRTCBuild/gn -I/home/us/WebRTCBuild/gn/out -DNDEBUG -O3 -fdata-sections -ffunction-sections -D_FILE_OFFSET_BITS=64 -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -pthread -pipe -fno-exceptions -fno-rtti -fdiagnostics-color -std=c++14 -Wno-c++11-narrowing -c /home/us/WebRTCBuild/gn/base/callback_internal.cc -o  
base/callback_internal.o       
/bin/sh: clang++: command not found        
ninja: build stopped: subcommand failed.  

이 메시지에 표시된 문제를 이해하는 한:

/bin/sh: clang++: 명령을 찾을 수 없음

llvm을 설치했습니다. 그러나 그것은 작동하지 않았습니다. 나는 또한 이것이 g++ 누락으로 인해 발생할 수 있다는 것을 읽었습니다. 하지만 g++가 설치되어 있습니다.

결과 echo $PATH:

/usr/local/bin:/usr/bin:/bin:/usr/games:/opt/gcc49/bin

답변1

하지만레니 백 아카이브지금은 작동하지 않습니다. 파일/usr/bin/clang++제공:이것그 소리Debian 8 Jessie의 패키지. 이것LLVM패키지는 의존하지 않습니다그 소리이렇게 캡슐화됨그 소리설치되지 않을 수 있습니다. 를 사용하여 설치해 보세요 sudo apt install clang. 그래도 작동하지 않으면 실행 echo $PATH하고 결과를 게시할 수 있습니까?

답변2

저도 같은 문제가 있었는데 다음과 같이 경로를 수정하여 해결했습니다.

export PATH=$PATH:/usr/bin/clang-11:/usr/bin/clang++-11

11을 사용 중인 버전으로 변경할 수 있습니다. 이를 통해 bin에서 명령을 찾을 수 있습니다. 대부분의 경우 sudo apt-get install을 사용할 때 이 작업이 자동으로 수행되는 것처럼 보이지만 항상 그런 것은 아닙니다.

답변3

저는 clang 컴파일러를 사용하지 않음으로써 이 문제를 해결했습니다. build/gen.py컴파일러를 설정할 수 있는 옵션이 있다는 것을 알았습니다 . 기본값은 클랭입니다. 그래서 build/gen.py아래에서 이 부분을 변경했습니다.

def WriteGNNinja(path, platform, host, options): if platform.is_msvc(): cc = os.environ.get('CC', 'cl.exe') cxx = os.environ.get('CXX', 'cl.exe') ld = os.environ.get('LD', 'link.exe') ar = os.environ.get('AR', 'lib.exe') elif platform.is_aix(): cc = os.environ.get('CC', 'gcc') cxx = os.environ.get('CXX', 'g++') ld = os.environ.get('LD', 'g++') ar = os.environ.get('AR', 'ar -X64') else: cc = os.environ.get('CC', 'clang') cxx = os.environ.get('CXX', 'clang++') ld = cxx ar = os.environ.get('AR', 'ar')

나는 다음 줄을 변경했습니다.

cc = os.environ.get('CC', 'clang') cxx = os.environ.get('CXX', 'clang++') ld = cxx ar = os.environ.get('AR', 'ar')

이와 관련하여:

cc = os.environ.get('CC', 'gcc') cxx = os.environ.get('CXX', 'gcc') ld = cxx ar = os.environ.get('AR', 'gcc')

이제 실행 중에 오류가 발생 ninja -C out하지만 이는 코드 컴파일과 관련이 있습니다. 문제/bin/sh: clang++: 명령을 찾을 수 없음해결됨

관련 정보