与OpenMP相关的错误,以及使用OpenMP构建LLVM / Clang时C++
Errors related to OpenMP and C++ while building LLVM/Clang with OpenMP
我正在尝试从Fedora 25的源代码编译LLVM,Clang,OpenMP(来自LLVM项目(和libc++(libcxx(。默认的GCC 6.3用于构建它们。我发出
cmake ../llvm -DCMAKE_BUILD_TYPE=Release -DLLVM_TARGETS_TO_BUILD="X86"
一切似乎都很顺利,直到我得到
-- Performing Test LIBOMPTARGET_HAVE_STD_CPP11_FLAG
-- Performing Test LIBOMPTARGET_HAVE_STD_CPP11_FLAG - Success
-- Performing Test LIBOMPTARGET_HAVE_WERROR_FLAG
-- Performing Test LIBOMPTARGET_HAVE_WERROR_FLAG - Success
-- Could NOT find LIBOMPTARGET_DEP_LIBELF (missing: LIBOMPTARGET_DEP_LIBELF_LIBRARIES LIBOMPTARGET_DEP_LIBELF_INCLUDE_DIRS)
-- Found PkgConfig: /usr/bin/pkg-config (found version "0.29.1")
-- Could NOT find LIBOMPTARGET_DEP_LIBFFI (missing: LIBOMPTARGET_DEP_LIBFFI_LIBRARIES LIBOMPTARGET_DEP_LIBFFI_INCLUDE_DIRS)
-- LIBOMPTARGET: Building offloading runtime library libomptarget.
-- LIBOMPTARGET: Not building aarch64 offloading plugin: machine not found in the system.
-- LIBOMPTARGET: Not building CUDA offloading plugin: libelf dependency not found.
-- LIBOMPTARGET: Not building PPC64 offloading plugin: machine not found in the system.
-- LIBOMPTARGET: Not building PPC64le offloading plugin: machine not found in the system.
-- LIBOMPTARGET: Not building x86_64 offloading plugin: libelf dependency not found.
-- Found Z3: /usr/lib64/libz3.so (found suitable version "4.5.0 - 64 bit - build hashcode d57a2a6dce92", minimum required is "4.5")
-- Looking for sys/resource.h
-- Looking for sys/resource.h - found
-- Clang version: 5.0.0
-- Performing Test CXX_SUPPORTS_NO_NESTED_ANON_TYPES_FLAG
-- Performing Test CXX_SUPPORTS_NO_NESTED_ANON_TYPES_FLAG - Failed
-- Configuring done
-- Generating done
似乎有两个错误 - 一个与OpenMP有关(与LIBOMPTARGET_DEP_LIBELF
和LIBOMPTARGET_DEP_LIBFFI
有关(,1个与C++有关(CXX_SUPPORTS_NO_NESTED_ANON_TYPES_FLAG - Failed
(。我真的不知道它们是什么意思,但我希望能够至少在多核 CPU 上使用 OpenMP,并且我绝对希望能够编译C++源文件。那么我应该如何关注这些错误呢?如果它们很重要,有什么提示可以在这里做什么吗?
更新:当我尝试构建它时,我在libcxx中得到了几个未定义的引用。
对于与OpenMP相关的错误,我认为您需要在系统上安装libelf和libffi。
相关文章:
- OpenMP阵列性能较差
- 如何将 I->getType() 作为参数传递给 llvm 中的 CreateCall?
- OpenMP卸载说'fatal error: could not find accel/nvptx-none/mkoffload'
- 使用 GCC 卸载的 OpenMP 卸载失败,并出现"Ptx assembly aborted due to errors"
- 将尾部调用void(i32,..)位转换为llvm::函数以获取FnAttribute
- OpenMP:并行更新数组总是需要减少数组吗
- 是否可以将llvm::FunctionType转换为C/C++原始函数指针
- llvm构建器向基本块添加终止符
- 如何使用OpenMP并行这两个循环
- 从python调用openMP共享库时,未定义opnMP函数
- 如何使用OpenMP并行化此矩阵时间矢量运算
- 如何使用OpenMP使这个循环并行
- 如何通过替换顺序代码的while循环来添加OpenMP for循环
- 正在LLVM中检测整数比较条件
- 查找最近配对时的OpenMP竞赛条件
- 使用输入打破 OpenMP 中的循环
- 如何在LLVM中dyn_cast以识别StoreInst?
- 使用 cmake 的 LLVM 构建在 tsan_libdispatch_mac.cc 期间失败; "Error: conflicting types for ..."
- 与OpenMP相关的错误,以及使用OpenMP构建LLVM / Clang时C++
- LLVM/OpenMP中的Mutex非常缓慢