无法推断clang的编译器目标三元组

时间:2013-08-21 09:33:17

标签: makefile clang llvm

我修改了铿锵声。它运作正常。但后来我有一些git相关的问题,所以我清理了git并再次检出。现在,当我尝试在clang中运行make clean时,我收到以下错误。我该如何解决这个问题?

#A set of warnings here
make[5]: Entering directory `/home/test/llvm/projects/compiler-rt'
make/platform/clang_linux.mk:16: *** "unable to infer compiler target triple for clang".  Stop.
make[5]: Leaving directory `/home/test/llvm/projects/compiler-rt'
make[4]: *** [CleanRuntimeLibraries] Error 2
make[4]: Leaving directory `/home/test/llvm/tools/clang/runtime/compiler-rt'
make[3]: *** [compiler-rt/.makeclean] Error 2
make[3]: Leaving directory `/home/test/llvm/tools/clang/runtime'
make[2]: *** [clean] Error 1
make[2]: Leaving directory `/home/test/llvm/tools/clang'
make[1]: *** [clang/.makeclean] Error 2
make[1]: Leaving directory `/home/test/llvm/tools'
make: *** [clean] Error 1

2 个答案:

答案 0 :(得分:1)

我有这个问题,并解决了它。我的问题是clang失败的链接(错误9),因为我没有足够的内存。它需要大约4 gig的内存才能链接,而我只有3.5总的实内存和交换可用。

在这些错误之前看一下,你可能会看到clang的链接失败了。 l {your build directory} / Debug + Asserts / bin / clang mine中的clang可执行文件是零字节(因为链接失败)。

然后生成“无法推断编译器目标三元组”,因为它没有执行的clang。

我的解决方案是按照geek swap definition

上的说明创建一个交换文件(因为我没有任何空间来扩展我的交换分区)

答案 1 :(得分:0)

我通过正确设置LD_LIBRARY_PATH环境变量解决了这个错误。首先,我设置它没有lib64。

我在我的$HOME/local上安装了llvm,所以正确的LD_LIBRARY_PATH就是。

export LD_LIBRARY_PATH="$LD_LIBRARY_PATH”:$HOME/local/lib:$HOME/local/lib64