/ bin / sh: clang ++: comando não encontrado

1

Eu uso o Debian 5. Eu estava construindo o GN. Eu segui as instruções fornecidas aqui .  Eu estava executando estes comandos:

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

Ao executar ninja -C out/ , recebo esta mensagem:

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.  

Tanto quanto eu entendi problema mostrado nesta mensagem:

/bin/sh: clang++: command not found

Eu já instalei o llvm. Mas não funcionou. Eu também li que isso pode ser causado pela ausência de g ++. Mas g ++ instalado.

Resultado da execução de echo $PATH :

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

    
por Andriy Buchynskyy 22.11.2018 / 17:03

2 respostas

0

Eu resolvi esse problema evitando o compilador clang. Notei que em build/gen.py existe a opção que me dá a possibilidade de configurar o compilador. Por padrão, é clang. Então, em build/gen.py eu mudei essa parte que está abaixo.

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')

Eu mudei estas linhas:

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

para isso:

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

Agora recebo erros durante a execução de ninja -C out , mas eles estão conectados à compilação de código. Problema de / bin / sh: clang ++: comando não encontrado resolvido

    
por 23.11.2018 / 18:39
2

Embora o arquivo de pacotes Lenny não esteja funcionando para mim agora, o arquivo / usr / bin / clang ++ é fornecido por o pacote clang no Debian 8 Jessie. O pacote llvm não depende do pacote clang , portanto, clang pode não estar instalado. Tente instalá-lo com sudo apt install clang . Se isso não funcionar, você pode executar echo $PATH e postar os resultados?

    
por 22.11.2018 / 19:49