최근에 우분투(20.04.2 LTS)로 전환하고 clang(및 clang++)을 설치하려고 했습니다. 나는 다음을 사용하여 그것을 했다:
sudo apt-get install clang
/usr/bin clang 및 clang++에서 찾을 수 있습니다.
프로그램을 컴파일하려고 하면 "세그먼트 오류"가 발생합니다. (나는 g++로 "hello"를 인쇄하는 간단한 프로그램을 컴파일했고 작동했습니다). 내가 사용하는 명령은 다음과 같습니다
clang++ -o hello hello.cpp
누구든지 나를 도와줄 수 있나요?
제거하고 다시 설치해 보았지만 지금까지 아무것도 작동하지 않았습니다.
(참고용으로 코드는 다음과 같습니다.
#include <iostream>
int main(int argc, char** argv){
std::cout << "Hello\n";
return 0;
}
)
어떤 식으로든 도움이 된다면 ldd which clang++
다음을 출력해 주세요.
linux-vdso.so.1 (0x00007ffcc09b2000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f30f14ea000)
libclang-cpp.so.10 => /usr/local/llvm-10/lib/libclang-cpp.so.10 (0x00007f30edfcc000)
libLLVM-10.so.1 => /lib/x86_64-linux-gnu/libLLVM-10.so.1 (0x00007f30e9938000)
libstdc++.so.6 => /lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f30e9757000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f30e9608000)
libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f30e95ed000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f30e93f9000)
/lib64/ld-linux-x86-64.so.2 (0x00007f30f1532000)
libLLVMCoroutines.so.10 => /usr/local/llvm-10/lib/../lib/libLLVMCoroutines.so.10 (0x00007f30e93c1000)
libLLVMCoverage.so.10 => /usr/local/llvm-10/lib/../lib/libLLVMCoverage.so.10 (0x00007f30e9391000)
libLLVMFrontendOpenMP.so.10 => /usr/local/llvm-10/lib/../lib/libLLVMFrontendOpenMP.so.10 (0x00007f30e937c000)
libLLVMLTO.so.10 => /usr/local/llvm-10/lib/../lib/libLLVMLTO.so.10 (0x00007f30e9308000)
libLLVMObjCARCOpts.so.10 => /usr/local/llvm-10/lib/../lib/libLLVMObjCARCOpts.so.10 (0x00007f30e92d6000)
libLLVMPasses.so.10 => /usr/local/llvm-10/lib/../lib/libLLVMPasses.so.10 (0x00007f30e9185000)
libLLVMOption.so.10 => /usr/local/llvm-10/lib/../lib/libLLVMOption.so.10 (0x00007f30e9171000)
libLLVMipo.so.10 => /usr/local/llvm-10/lib/../lib/libLLVMipo.so.10 (0x00007f30e8f57000)
libLLVMIRReader.so.10 => /usr/local/llvm-10/lib/../lib/libLLVMIRReader.so.10 (0x00007f30e8f4d000)
libLLVMMCJIT.so.10 => /usr/local/llvm-10/lib/../lib/libLLVMMCJIT.so.10 (0x00007f30e8f3a000)
libLLVMInstrumentation.so.10 => /usr/local/llvm-10/lib/../lib/libLLVMInstrumentation.so.10 (0x00007f30e8dfe000)
libLLVMLinker.so.10 => /usr/local/llvm-10/lib/../lib/libLLVMLinker.so.10 (0x00007f30e8dd4000)
libLLVMBitWriter.so.10 => /usr/local/llvm-10/lib/../lib/libLLVMBitWriter.so.10 (0x00007f30e8d84000)
libLLVMScalarOpts.so.10 => /usr/local/llvm-10/lib/../lib/libLLVMScalarOpts.so.10 (0x00007f30e89eb000)
libLLVMInstCombine.so.10 => /usr/local/llvm-10/lib/../lib/libLLVMInstCombine.so.10 (0x00007f30e8891000)
libLLVMTransformUtils.so.10 => /usr/local/llvm-10/lib/../lib/libLLVMTransformUtils.so.10 (0x00007f30e8664000)
libLLVMExecutionEngine.so.10 => /usr/local/llvm-10/lib/../lib/libLLVMExecutionEngine.so.10 (0x00007f30e8639000)
libLLVMTarget.so.10 => /usr/local/llvm-10/lib/../lib/libLLVMTarget.so.10 (0x00007f30e8626000)
libLLVMAnalysis.so.10 => /usr/local/llvm-10/lib/../lib/libLLVMAnalysis.so.10 (0x00007f30e81be000)
libLLVMProfileData.so.10 => /usr/local/llvm-10/lib/../lib/libLLVMProfileData.so.10 (0x00007f30e813b000)
libLLVMObject.so.10 => /usr/local/llvm-10/lib/../lib/libLLVMObject.so.10 (0x00007f30e8004000)
libLLVMMCParser.so.10 => /usr/local/llvm-10/lib/../lib/libLLVMMCParser.so.10 (0x00007f30e7fa9000)
libLLVMMC.so.10 => /usr/local/llvm-10/lib/../lib/libLLVMMC.so.10 (0x00007f30e7ebe000)
libLLVMBitReader.so.10 => /usr/local/llvm-10/lib/../lib/libLLVMBitReader.so.10 (0x00007f30e7e32000)
libLLVMCore.so.10 => /usr/local/llvm-10/lib/../lib/libLLVMCore.so.10 (0x00007f30e7adb000)
libLLVMBitstreamReader.so.10 => /usr/local/llvm-10/lib/../lib/libLLVMBitstreamReader.so.10 (0x00007f30e7ac3000)
libLLVMSupport.so.10 => /usr/local/llvm-10/lib/../lib/libLLVMSupport.so.10 (0x00007f30e7890000)
libffi.so.7 => /lib/x86_64-linux-gnu/libffi.so.7 (0x00007f30e7884000)
libedit.so.2 => /lib/x86_64-linux-gnu/libedit.so.2 (0x00007f30e784a000)
libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007f30e782e000)
librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007f30e7823000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f30e781d000)
libtinfo.so.6 => /lib/x86_64-linux-gnu/libtinfo.so.6 (0x00007f30e77ed000)
libLLVMCodeGen.so.10 => /usr/local/llvm-10/lib/../lib/../lib/libLLVMCodeGen.so.10 (0x00007f30e7250000)
libLLVMAggressiveInstCombine.so.10 => /usr/local/llvm-10/lib/../lib/../lib/libLLVMAggressiveInstCombine.so.10 (0x00007f30e7237000)
libLLVMVectorize.so.10 => /usr/local/llvm-10/lib/../lib/../lib/libLLVMVectorize.so.10 (0x00007f30e7138000)
libLLVMAsmParser.so.10 => /usr/local/llvm-10/lib/../lib/../lib/libLLVMAsmParser.so.10 (0x00007f30e70b3000)
libLLVMRuntimeDyld.so.10 => /usr/local/llvm-10/lib/../lib/../lib/libLLVMRuntimeDyld.so.10 (0x00007f30e701e000)
libLLVMBinaryFormat.so.10 => /usr/local/llvm-10/lib/../lib/../lib/libLLVMBinaryFormat.so.10 (0x00007f30e6ff9000)
libLLVMTextAPI.so.10 => /usr/local/llvm-10/lib/../lib/../lib/libLLVMTextAPI.so.10 (0x00007f30e6fc1000)
libLLVMRemarks.so.10 => /usr/local/llvm-10/lib/../lib/../lib/libLLVMRemarks.so.10 (0x00007f30e6f7f000)
libz3.so.4 => /lib/x86_64-linux-gnu/libz3.so.4 (0x00007f30e59df000)
libLLVMDemangle.so.10 => /usr/local/llvm-10/lib/../lib/../lib/libLLVMDemangle.so.10 (0x00007f30e5994000)
libbsd.so.0 => /lib/x86_64-linux-gnu/libbsd.so.0 (0x00007f30e597a000)
답변1
의견에서 언급했듯이 /usr/local
어떤 이유로(잘못된 환경 변수 LD_LIBRARY_PATH
등) /usr/lib
아래 또는 아래의 공식 변수 이전/대신에 몇 가지 문제가 있는 것 같습니다 /usr/lib64
.
로드하려는 ldd(1)
라이브러리를 찾는 데 사용됩니다 ./usr/bin/clang
기본적 clang
으로 설치되는 git에서 설치를 시도했다고 말씀하셨습니다. 문제의 파일을 /usr/local/
사용 locate(1)
하거나 find(1)
찾으십시오(오류 메시지는 많은 비린내를 나타냄). 파일이 중요한 것인지/패키지 관리자가 설치한 것인지 확인하십시오(나는 Ubuntu에 익숙하지 않습니다. 일부 Debian 사람들은 맞춤법을 제공할 수 있습니다. 그렇게 하려면) 삭제(또는 /var/tmp/usr/local/...
원래 위치를 추적하기 위해 숨기기)하고 다시 시도하십시오.