clang: error:: errorunsupported option '- fopenmp ' на Mac OSX El Capitan building XGBoost
Я пытаюсь построить XGBoost пакет для Python следующее эти инструкции:
вот полное решение для использования компиляторов с поддержкой OpenMP для установки XGBoost. Получить gcc-5.X. x с поддержкой openmp по
brew install gcc --without-multilib
. (brew является де-факто стандартом apt-get на OS X. Поэтому установка HPC отдельно не рекомендуется, но она должна работать.):
git clone --recursive https://github.com/dmlc/xgboost
cd xgboost; cp make/config.mk ./config.mk; make -j4
эта ошибка occurss именно в make -j4
команда.
Поиск beforenad, я пробовал эти два решения (1 и 2), безрезультатно, за исключением части для установки другого 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
3 ответов
установлен gcc
С Homebrew, но ошибка от clang
. Это должно означать, что ваш компилятор по умолчанию указан clang
вместо недавно установленного gcc
. Если вы прочитаете комментарии в Makefile, вы увидите следующие строки:
# choice of compiler, by default use system preference.
# export CC = gcc
# export CXX = g++
# export MPICXX = mpicxx
и в вашем случае вам не нужна система one.
Примечание: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
и аналогично для двух других переменных, CXX
и MPICXX
, например:
$ export CC=/usr/local/bin/gcc;CXX=/usr/local/bin/g++;MPICXX=/usr/local/bin/mpicxx
сэр, возможно, вам следует использовать
cd xgboost; CP сделать / минимум.mk. /config.mk; make-j4
вместо
компакт-диск xgboost; СР сделать/конфиг.МК ./конфиг.МК; сделать -J4 не
в соответствии с разделом "сборка на OSX"создать документ
чтобы решить эту проблему, я сделал следующее: Я понял, что у меня есть gcc
6 установлен, поэтому я побежал:
export CC=gcc-6
но это не сработало само по себе, поэтому мне пришлось также:
export CXX=g++-6
это решило его для меня. Я в Macbook Pro под управлением macOS Sierra. Вы также можете внести эти изменения непосредственно в Makefile XGBoost, если хотите. Для получения дополнительной информации об этом: https://www.ibm.com/developerworks/community/blogs/jfp/entry/Installing_XGBoost_on_Mac_OSX?lang=en