Installation “无法运行”;勾选“全部”;构建LLVM Clang 3.6.1时的目标

Installation “无法运行”;勾选“全部”;构建LLVM Clang 3.6.1时的目标,installation,clang,llvm-clang,Installation,Clang,Llvm Clang,我已经成功编译了LLVM Clang LLDB编译器RT-LibCxx-LibCxxABI测试套件包的3.6.1版本。但是,当我尝试“忍者检查全部”(ninja check all)时,检查在第一个目标[1/150]处失败,该目标生成sanitizer\u bitvector\u test.cc.x86\u 64.o。我认为原因是LLVM试图使用系统GCC头文件,但我使用另一个GCC工具链(GCC 4.8.4)编译LLVM,我编译并安装在非根目录中。但是,我不知道如何让CMake避免使用系统GC

我已经成功编译了LLVM Clang LLDB编译器RT-LibCxx-LibCxxABI测试套件包的3.6.1版本。但是,当我尝试“忍者检查全部”(ninja check all)时,检查在第一个目标
[1/150]处失败,该目标生成sanitizer\u bitvector\u test.cc.x86\u 64.o
。我认为原因是LLVM试图使用系统GCC头文件,但我使用另一个GCC工具链(GCC 4.8.4)编译LLVM,我编译并安装在非根目录中。但是,我不知道如何让CMake避免使用系统GCC头(我已经修改了路径和LD_LIBRARY_路径,但它们没有任何帮助)

有关资料如下:

  • CentOS 6.6
  • x86_64体系结构(英特尔(R)至强(R)CPU W3550@3.07GHz)
  • 用于安装的工具:
    • 1) gcc/4.8.4
    • 2) 忍者
    • 3) zlib/1.2.8
    • 4) 蟒蛇
  • Linux内核版本
    • 2.6.32-504.16.2.el6.x86_64
  • CMake生成命令

    cmake -G "Ninja" -DCMAKE_C_COMPILER=/Scr/scr-test-steven/install/gcc/4.8.4/bin/gcc -DCMAKE_CXX_COMPILER=/Scr/scr-test-steven/install/gcc/4.8.4/bin/c++ -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/Scr/scr-test-steven/install/llvm/3.6.1 /Scr/scr-test-steven/Programs/LLVM/llvm-3.6.1.src -DLLDB_DISABLE_PYTHON=1 -DCMAKE_CXX_FLAGS:STRING="-I/Scr/scr-test-steven/install/gcc/4.8.4/include -I/Scr/scr-test-steven/Programs/LLVM/llvm-3.6.1.src/tools/clang/include -I/Scr/scr-test-steven/install/libedit/3.1/include -I/Scr/scr-test-steven/install/miniconda/include/python2.7 -L/Scr/scr-test-steven/install/gcc/4.8.4/lib64 -L/Scr/scr-test-steven/install/libedit/3.1/lib -L/Scr/scr-test-steven/install/miniconda/lib -L/Scr/scr-test-steven/install/miniconda/lib/python2.7" -DPYTHON_HOME=/Scr/scr-test-steven/install/miniconda -DLLVM_LIB_SEARCH_PATH=/Scr/scr-test-steven/Programs/LLVM/build_llvm-3.6.1/lib
    
  • 忍者检查
    结果正常,这意味着LLVM已成功编译:

    [1/1] Running the LLVM regression tests
    lit.py: lit.cfg:271: note: Did not find llvm-go in /Scr/scr-test-steven/Programs/LLVM/build_llvm-3.6.1/./bin
    -- Testing: 12316 tests, 8 threads --
    Testing: 0 .. 10.. 20.. 30.. 40.. 50.. 60.. 70.. 80.. 90..
    Testing Time: 105.65s
    * Expected Passes    : 12056
    * Expected Failures  : 79
    * Unsupported Tests  : 181
    
  • ninja check all的前几行错误(请参阅中的详细信息):

    [1/150]生成消毒剂\u位向量\u test.cc.x86\u 64.o
    失败:cd/Scr/Scr测试steven/Programs/LLVM/build_LLVM-3.6.1/projects/compiler-rt/lib/sanitizer\u common/tests&/Scr/Scr测试steven/Programs/LLVM/build_LLVM-3.6.1//bin/clang-I/Scr/Scr测试steven/install/gcc/4.8.4/include-I/Scr/Scr测试steven/Programs/LLVM/LLVM-3.6.1.src/tools/clang/include-I/Scr/Scr测试steven/install/libedit steven/3.1/include-I/Scr/Scr测试steven/install/miniconda/include/python2.7-L/Scr/Scr测试steven/install/gcc/4.8.4/lib64-L/Scr/Scr/Scr测试steven/install/libedit/3.1/lib-L/Scr/Scr测试steven/install/miniconda/lib/python2.7-fPIC-fvisibility内联线隐藏-墙-W-未使用参数-Wwrite字符串-Wcast-qual-Wno缺少字段初始值设定项-迂腐-Wno long long-Wno可能未初始化-Wno注释-std=c++11-F函数节-fdata节-墙-std=c++11-Wno未知警告选项-DGTEST_NO_LLVM_RAW_OSTREAM=1-DGTEST_HAS_RTTI=0-I/Scr/Scr test steven/Programs/LLVM/LLVM-3.6.1.src/utils/unittest/googletest/include-I/Scr/Scr测试steven/Programs/LLVM/LLVM-3.6.1.src/utils/unittest/googletest-I/Scr/Scr测试steven/Programs/LLVM/LLVM-3.6.1.src/projects/compiler-rt/include-I/Scr/Scr/Scr测试steven/Programs/LLVM/LLVM-3.6.1.src/projects/compiler-rt/lib/Sanitazer\u common-fno rtti-O2-Werror=sign compare-Wno non-virtual dtor-m64-c-o sanitizer\u bitvector\u test.cc.x86\u 64.o/Scr/Scr test steven/Programs/LLVM/LLVM-3.6.1.src/projects/compiler-rt/lib/sanitizer\u common/tests/sanitizer\u bitvector\u test.cc                                                        
    clang-3.6:警告:编译期间未使用参数:'-L/Scr/Scr test steven/install/gcc/4.8.4/lib64'
    clang-3.6:警告:编译期间未使用参数:'-L/Scr/Scr test steven/install/libedit/3.1/lib'
    clang-3.6:警告:编译期间未使用参数:'-L/Scr/Scr test steven/install/miniconda/lib'
    clang-3.6:警告:编译期间未使用参数:'-L/Scr/Scr test steven/install/miniconda/lib/python2.7'
    在/Scr/Scr test.src/Programs/LLVM/LLVM-3.6.1.src/projects/compiler rt/lib/sanitizer\u common/tests/sanitizer\u bitvector\u test.cc:16中包含的文件中:
    在/Scr/Scr test.src/Programs/LLVM/LLVM-3.6.1.src/projects/compiler rt/lib/sanitizer\u common/tests/sanitizer\u test\u utils.h:28中包含的文件中:
    在/Scr/Scr test/Programs/LLVM/LLVM-3.6.1.src/projects/compiler rt/lib/sanitizer\u common/tests/sanitizer\u test\u config.h中包含的文件中:20:
    在**/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../../../../include/c++/4.4.7**/vector:61中包含的文件中:
    在/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../../../../include/c++/4.4.7/bits/stl_algobase.h:66中包含的文件中:
    /usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../../../../../include/c++/4.4.7/bits/stl_pair.h:89:10:错误:调用“forward”时没有匹配的函数
    :第一个(std::forward(uux)),
    ^~~~~~~~~~~~~~~~~                                                                                                                                                                                            
    /usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../../../../../include/c++/4.4.7/bits/stl_tree.h:1177:13:注意:在函数模板专门化的实例化中,此处请求“std::pair::pair”
    
    [1/150] Generating sanitizer_bitvector_test.cc.x86_64.o
    FAILED: cd /Scr/scr-test-steven/Programs/LLVM/build_llvm-3.6.1/projects/compiler-rt/lib/sanitizer_common/tests && /Scr/scr-test-steven/Programs/LLVM/build_llvm-3.6.1/./bin/clang -I/Scr/scr-test-steven/install/gcc/4.8.4/include -I/Scr/scr-test-steven/Programs/LLVM/llvm-3.6.1.src/tools/clang/include -I/Scr/scr-test-steven/install/libedit/3.1/include -I/Scr/scr-test-steven/install/miniconda/include/python2.7 -L/Scr/scr-test-steven/install/gcc/4.8.4/lib64 -L/Scr/scr-test-steven/install/libedit/3.1/lib -L/Scr/scr-test-steven/install/miniconda/lib -L/Scr/scr-test-steven/install/miniconda/lib/python2.7 -fPIC -fvisibility-inlines-hidden -Wall -W -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wno-missing-field-initializers -pedantic -Wno-long-long -Wno-maybe-uninitialized -Wno-comment -std=c++11 -ffunction-sections -fdata-sections -Wall -std=c++11 -Wno-unknown-warning-option -DGTEST_NO_LLVM_RAW_OSTREAM=1 -DGTEST_HAS_RTTI=0 -I/Scr/scr-test-steven/Programs/LLVM/llvm-3.6.1.src/utils/unittest/googletest/include -I/Scr/scr-test-steven/Programs/LLVM/llvm-3.6.1.src/utils/unittest/googletest -I/Scr/scr-test-steven/Programs/LLVM/llvm-3.6.1.src/projects/compiler-rt/include -I/Scr/scr-test-steven/Programs/LLVM/llvm-3.6.1.src/projects/compiler-rt/lib -I/Scr/scr-test-steven/Programs/LLVM/llvm-3.6.1.src/projects/compiler-rt/lib/sanitizer_common -fno-rtti -O2 -Werror=sign-compare -Wno-non-virtual-dtor -m64 -c -o sanitizer_bitvector_test.cc.x86_64.o /Scr/scr-test-steven/Programs/LLVM/llvm-3.6.1.src/projects/compiler-rt/lib/sanitizer_common/tests/sanitizer_bitvector_test.cc                                                                                                                                                                                              
    clang-3.6: warning: argument unused during compilation: '-L/Scr/scr-test-steven/install/gcc/4.8.4/lib64'                                                                                                                     
    clang-3.6: warning: argument unused during compilation: '-L/Scr/scr-test-steven/install/libedit/3.1/lib'                                                                                                                     
    clang-3.6: warning: argument unused during compilation: '-L/Scr/scr-test-steven/install/miniconda/lib'                                                                                                                       
    clang-3.6: warning: argument unused during compilation: '-L/Scr/scr-test-steven/install/miniconda/lib/python2.7'                                                                                                             
    In file included from /Scr/scr-test-steven/Programs/LLVM/llvm-3.6.1.src/projects/compiler-rt/lib/sanitizer_common/tests/sanitizer_bitvector_test.cc:16:                                                                      
    In file included from /Scr/scr-test-steven/Programs/LLVM/llvm-3.6.1.src/projects/compiler-rt/lib/sanitizer_common/tests/sanitizer_test_utils.h:28:                                                                           
    In file included from /Scr/scr-test-steven/Programs/LLVM/llvm-3.6.1.src/projects/compiler-rt/lib/sanitizer_common/tests/sanitizer_test_config.h:20:                                                                          
    In file included from **/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../include/c++/4.4.7** /vector:61:                                                       
    In file included from /usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../include/c++/4.4.7/bits/stl_algobase.h:66:                                                                                                           
    /usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../include/c++/4.4.7/bits/stl_pair.h:89:10: error: no matching function for call to 'forward'                                                                                
            : first(std::forward<_U1>(__x)),                                                                                                                                                                                     
            ^~~~~~~~~~~~~~~~~                                                                                                                                                                                            
    /usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../include/c++/4.4.7/bits/stl_tree.h:1177:13: note: in instantiation of function template specialization 'std::pair<std::_Rb_tree_iterator<const char *>, bool>::pair<std::_Rb_tree_iterator<const char *>, bool>' requested here                                                                                                                                                                         
        return pair<iterator, bool>(_M_insert_(__x, __y, __v), true);                                                                                                                                                    
               ^                                                                                                                                                                                                         
    /usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../include/c++/4.4.7/bits/stl_set.h:411:9: note: in instantiation of member function 'std::_Rb_tree<const char *, const char *, std::_Identity<const char *>, std::less<const char *>, std::allocator<const char *> >::_M_insert_unique' requested here                                                                                                                                                   
      _M_t._M_insert_unique(__x);                                                                                                                                                                                        
           ^                                                                                                                                                                                                             
    /Scr/scr-test-steven/Programs/LLVM/llvm-3.6.1.src/utils/unittest/googletest/include/gtest/internal/gtest-internal.h:628:25: note: in instantiation of member function 'std::set<const char *, std::less<const char *>, std::allocator<const char *> >::insert' requested here                                                                                                                                                                             
        defined_test_names_.insert(test_name);                                                                                                                                                                                   
                    ^                                                                                                                                                                                                    
    /usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../include/c++/4.4.7/bits/move.h:51:5: note: candidate function [with _Tp = std::_Rb_tree_iterator<const char *>] not viable: no known conversion from 'std::_Rb_tree_iterator<const char *>' to 'typename std::identity<_Rb_tree_iterator<const char *> >::type &&' (aka 'std::_Rb_tree_iterator<const char *> &&') for 1st argument                                                                     
        forward(typename std::identity<_Tp>::type&& __t)                                                                                                                                                                         
        ^