当前位置: 首页 > 面试题库 >

clang:错误::错误在Mac OSX El Capitan构建XGBoost上不支持的选项'-fopenmp'

戚研
2023-03-14
问题内容

我正在尝试按照以下说明为Python构建XGBoost软件包:

这是使用支持OpenMP的编译器安装XGBoost的完整解决方案。通过获得openmp支持的gcc-5.xx brew install gcc --without-multilib。(brew是OS X上apt-get的事实上的标准。因此,不建议单独安装HPC,但应该可以。):

git clone --recursive https://github.com/dmlc/xgboost
cd xgboost; cp make/config.mk ./config.mk; make -j4

该错误恰好在make -j4命令中发生。

事前搜索,我尝试了这两种解决方案,但无济于事,除了担心担心会弄乱一切而安装另一个gcc的部分。

以下是make配置文件。它没有任何怀疑。

#-----------------------------------------------------
#  xgboost: the configuration compile script
#
#  If you want to change the configuration, please use the following
#  steps. Assume you are on the root directory of xgboost.
#  First copy the this file so that any local changes will be ignored by git
#
#  $ cp make/config.mk .
#
#  Next modify the according entries, and then compile by
#
#  $ make
#
#  or build in parallel with 8 threads
#
#  $ make -j8
#----------------------------------------------------

# choice of compiler, by default use system preference.
# export CC = gcc
# export CXX = g++
# export MPICXX = mpicxx

# the additional link flags you want to add
ADD_LDFLAGS =

# the additional compile flags you want to add
ADD_CFLAGS =

# Whether enable openmp support, needed for multi-threading.
USE_OPENMP = 1

# whether use HDFS support during compile
USE_HDFS = 0

# whether use AWS S3 support during compile
USE_S3 = 0

# whether use Azure blob support during compile
USE_AZURE = 0

# Rabit library version,
# - librabit.a Normal distributed version.
# - librabit_empty.a Non distributed mock version,
LIB_RABIT = librabit.a

# path to libjvm.so
LIBJVM=$(JAVA_HOME)/jre/lib/amd64/server

# List of additional plugins, checkout plugin folder.
# uncomment the following lines to include these plugins
# you can also add your own plugin like this
#
# XGB_PLUGINS += plugin/example/plugin.mk

问题答案:

您安装gcc了Homebrew,但错误来自clang。这仅表示您的默认编译器仍指向clang而不是新安装的gcc。如果您在Makefile中阅读了注释,则会看到以下几行:

# choice of compiler, by default use system preference.
# export CC = gcc
# export CXX = g++
# export MPICXX = mpicxx

在您的情况下,您不需要系统之一。
注意:gcc系统指向clang

$ which gcc
/usr/bin/gcc
$ gcc --version
Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/usr/include/c++/4.2.1
Apple LLVM version 7.3.0 (clang-703.0.29)
Target: x86_64-apple-darwin15.4.0
Thread model: posix
InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin

而是将这些变量指向中的某个内容/usr/local/bin,例如:

$ export CC=/usr/local/bin/gcc

和类似的其他两个变量,CXXMPICXX,如:

$ export CC=/usr/local/bin/gcc;CXX=/usr/local/bin/g++;MPICXX=/usr/local/bin/mpicxx


 类似资料:
  • 这是我的文件: 这是Maven命令输出

  • 问题: 在我的应用程序中,我想通过cordova wkwebview访问图像。超文本标记语言元素如下所示。 加载时,我收到错误“加载资源失败:不支持的URL”。我正在使用iOS 10.2。 验证/尝试的事情: 如果选中文件夹“MyFolder”下的“cordova.file.dataDirectory”中存在的文件列表,我确实看到那里存在“file.jpg”。它的本机URL为文件:///var/m

  • 我正试图通过bazel在Windows 10 64位上编译支持CUDA的TensorFlow。我的系统是这样设置的: Windows 10 64bit 具有CUDA功能6.1的Nvidia GeForce 1050 CUDA Toolkit v8.0- 我还设置了以下环境变量: Bazel具备其网站所需的所有步骤(https://docs.bazel.build/versions/master/i

  • 所以我在这篇文章中发现了错误。我尝试升级gradle,但在使用不受支持的gradle版本时出现了另一个错误,因此我返回到4.4.2版本。 现在,我知道这是另一个问题的重复,但这个问题仍然存在,并且在较新版本的gradle和idea中尚未解决。此外,我不想使用包装。 我收到的错误: Gradle版本:4.4.2 IntelliJ IDEA版本:2018.3.5 您可以在这里找到一个测试项目来重现该问

  • 我试图制作我的第一个应用程序(hello world),并在手机上运行它,但当我单击run时,gradle返回了这个错误(我在这里研究了stackoverflow并试图关闭即时运行,但在我的情况下似乎不起作用): 后来编辑2:我想通了,我的电脑上安装了一个旧的jdk版本和最新的android studio,谢谢你的帮助。我只需要安装最新的jdk版本(8)

  • 我正在使用python向elasticsearch插入一些数据,elasticsearch版本是 从日期时间导入 日期时间 从 Elasticsearch 导入 Elasticsearch es = Elasticsearch( “localhost:9200” ) 从 Elasticsearch 导入 传输错误数据 = { “http_code” : “404”, “计数” : “10” } t