clang: error: : errorunsupported option '-fopenmp' on Mac OSX El Capitan building XGBoost

28,331

Solution 1

Sir, perhaps you should use

cd xgboost; cp make/minimum.mk ./config.mk; make -j4

instead of

cd xgboost; cp make/config.mk ./config.mk; make -j4

as per the "Build On OSX" Section of build document

Solution 2

To solve this issue I did the following: I realized I had gcc 6 installed, so I ran:

export CC=gcc-6

But it didn't work by itself, so I had to also:

export CXX=g++-6

This solved it for me. I'm in a Macbook Pro running macOS Sierra. You can also make those changes directly on XGBoost's Makefile if you want. For more info about this: https://www.ibm.com/developerworks/community/blogs/jfp/entry/Installing_XGBoost_on_Mac_OSX?lang=en

Share:
28,331
srodriguex
Author by

srodriguex

Student.

Updated on January 13, 2020

Comments

  • srodriguex
    srodriguex over 4 years

    I'm trying to build XGBoost package for Python following these instructions:

    Here is the complete solution to use OpenMP-enabled compilers to install XGBoost. Obtain gcc-5.x.x with openmp support by brew install gcc --without-multilib. (brew is the de facto standard of apt-get on OS X. So installing HPC separately is not recommended, but it should work.):

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

    This error occurss precisely in the make -j4 command.

    Searching beforenad, I've tried these two solutions (1 and 2), to no avail, except for the part to installing another gcc by fear of messing up everything.

    Below is the make configuration file. It has none suspicious about.

    #-----------------------------------------------------
    #  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