Xgboost: ¿Problemas durante la instalación en OSX 10.11.6?

Creado en 24 ago. 2016  ·  37Comentarios  ·  Fuente: dmlc/xgboost

Estoy tratando de instalar la envoltura de python de xgboost en OSX 10.11.6 con python3. En primer lugar, lo hice:

user@MacBook-Pro-de-User-2:~$ brew install gcc --without-multilib
==> Using the sandbox
==> Downloading https://ftpmirror.gnu.org/gcc/gcc-6.2.0/gcc-6.2.0.tar.bz2
Already downloaded: /Users/user/Library/Caches/Homebrew/gcc-6.2.0.tar.bz2
==> Downloading https://raw.githubusercontent.com/Homebrew/formula-patches/e9e0
Already downloaded: /Users/user/Library/Caches/Homebrew/gcc--patch-863957f90a934ee8f89707980473769cff47ca0663c3906992da6afb242fb220.patch
==> Patching
==> Applying 6.1.0-jit.patch
patching file gcc/jit/Make-lang.in
==> ../configure --build=x86_64-apple-darwin15.6.0 --prefix=/usr/local/Cellar/g
==> make bootstrap

==> make install
🍺  /usr/local/Cellar/gcc/6.2.0: 1,357 files, 242.5M, built in 69 minutes 18 seconds

Luego, cuando procedo a instalar xgboost con pip3, obtengo lo siguiente:

user@MacBook-Pro-de-User-2:~$ pip3 install xgboost
Collecting xgboost
  Using cached xgboost-0.6a2.tar.gz
    Complete output from command python setup.py egg_info:
    rm -f -rf build build_plugin lib bin *~ */*~ */*/*~ */*/*/*~ */*.o */*/*.o */*/*/*.o xgboost
    clang-omp++ -std=c++0x -Wall -O3 -msse2  -Wno-unknown-pragmas -funroll-loops -Iinclude   -Idmlc-core/include -Irabit/include -fPIC -fopenmp -MM -MT build/learner.o src/learner.cc >build/learner.d
    /bin/sh: clang-omp++: command not found
    make: *** [build/learner.o] Error 127
    make: *** Waiting for unfinished jobs....
    clang-omp++ -std=c++0x -Wall -O3 -msse2  -Wno-unknown-pragmas -funroll-loops -Iinclude   -Idmlc-core/include -Irabit/include -fPIC -fopenmp -MM -MT build/logging.o src/logging.cc >build/logging.d
    /bin/sh: clang-omp++: command not found
    make: *** [build/logging.o] Error 127
    -----------------------------
    Building multi-thread xgboost failed
    Start to build single-thread xgboost
    rm -f -rf build build_plugin lib bin *~ */*~ */*/*~ */*/*/*~ */*.o */*/*.o */*/*/*.o xgboost
    clang-omp++ -std=c++0x -Wall -O3 -msse2  -Wno-unknown-pragmas -funroll-loops -Iinclude   -Idmlc-core/include -Irabit/include -fPIC -fopenmp -MM -MT build/learner.o src/learner.cc >build/learner.d
    /bin/sh: clang-omp++: command not found
    make: *** [build/learner.o] Error 127
    make: *** Waiting for unfinished jobs....
    clang-omp++ -std=c++0x -Wall -O3 -msse2  -Wno-unknown-pragmas -funroll-loops -Iinclude   -Idmlc-core/include -Irabit/include -fPIC -fopenmp -MM -MT build/logging.o src/logging.cc >build/logging.d
    /bin/sh: clang-omp++: command not found
    make: *** [build/logging.o] Error 127
    Successfully build single-thread xgboost
    If you want multi-threaded version
    See additional instructions in doc/build.md
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/private/var/folders/hg/zkgs3l417b7_0l4vth4bf8l00000gn/T/pip-build-hsmd0nxh/xgboost/setup.py", line 29, in <module>
        LIB_PATH = libpath['find_lib_path']()
      File "/private/var/folders/hg/zkgs3l417b7_0l4vth4bf8l00000gn/T/pip-build-hsmd0nxh/xgboost/xgboost/libpath.py", line 45, in find_lib_path
        'List of candidates:\n' + ('\n'.join(dll_path)))
    XGBoostLibraryNotFound: Cannot find XGBoost Libarary in the candicate path, did you install compilers and run build.sh in root path?
    List of candidates:
    /private/var/folders/hg/zkgs3l417b7_0l4vth4bf8l00000gn/T/pip-build-hsmd0nxh/xgboost/xgboost/libxgboost.so
    /private/var/folders/hg/zkgs3l417b7_0l4vth4bf8l00000gn/T/pip-build-hsmd0nxh/xgboost/xgboost/../../lib/libxgboost.so
    /private/var/folders/hg/zkgs3l417b7_0l4vth4bf8l00000gn/T/pip-build-hsmd0nxh/xgboost/xgboost/./lib/libxgboost.so

    ----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in /private/var/folders/hg/zkgs3l417b7_0l4vth4bf8l00000gn/T/pip-build-hsmd0nxh/xgboost/

Luego intenté construirlo como dice la

Last login: Tue Aug 23 20:53:31 on ttys000
user@MacBook-Pro-de-User-2:~$ git clone --recursive https://github.com/dmlc/xgboost
Cloning into 'xgboost'...
remote: Counting objects: 17651, done.
remote: Compressing objects: 100% (28/28), done.
remote: Total 17651 (delta 9), reused 0 (delta 0), pack-reused 17611
Receiving objects: 100% (17651/17651), 5.80 MiB | 1.08 MiB/s, done.
Resolving deltas: 100% (10851/10851), done.
Checking connectivity... done.
Submodule 'dmlc-core' (https://github.com/dmlc/dmlc-core) registered for path 'dmlc-core'
Submodule 'rabit' (https://github.com/dmlc/rabit) registered for path 'rabit'
Cloning into 'dmlc-core'...
remote: Counting objects: 3710, done.
remote: Total 3710 (delta 0), reused 0 (delta 0), pack-reused 3710
Receiving objects: 100% (3710/3710), 822.86 KiB | 864.00 KiB/s, done.
Resolving deltas: 100% (2197/2197), done.
Checking connectivity... done.
Submodule path 'dmlc-core': checked out 'd8d4dccb8bd89af9f57aa19e7523f0b755563ca4'
Cloning into 'rabit'...
remote: Counting objects: 3096, done.
remote: Compressing objects: 100% (6/6), done.
remote: Total 3096 (delta 0), reused 0 (delta 0), pack-reused 3090
Receiving objects: 100% (3096/3096), 886.44 KiB | 904.00 KiB/s, done.
Resolving deltas: 100% (2007/2007), done.
Checking connectivity... done.
Submodule path 'rabit': checked out '2dd7476ad7e4afe97eb579d39aab226ff74400a6'

Luego, intenté construir de la siguiente manera:

user@MacBook-Pro-de-User-2:/$ cd xgboost; cp make/config.mk ./config.mk; make -j4
-bash: cd: xgboost: No such file or directory
cp: make/config.mk: No such file or directory
make: *** No targets specified and no makefile found.  Stop.

¿Alguna idea de cómo instalar correctamente xgboost? ... Hace un mes instalé xgboost con pip3 y no enfrenté los problemas anteriores.

Comentario más útil

¡Éxito! 🎉

Encontré esto aquí :

El compilador clang LLVM en Mac OS X de Xcode no es compatible con OpenMP multiproceso. Una opción alternativa es instalar homebrew http://brew.sh/ y brew install g ++ - 5, que proporciona compatibilidad con OpenMP multiproceso.

Teniendo eso en cuenta, probé esto y ¡me permite instalar desde pip!

$ brew install gcc<strong i="12">@5</strong>
$ pip install xgboost

No tengo idea de por qué esto funciona, pero brew install gcc --without-multilib no lo hizo.

No puedo evitar pensar que otros usuarios caerán en esta trampa y perderán el tiempo tratando de averiguar qué es lo que realmente está fallando. Con suerte, esta solución les funciona, pero preferiría ver una rutina de instalación más confiable desde el paquete pip 🤞

Todos 37 comentarios

Aparentemente, esto funcionó para OSX:

user@MacBook-Pro-de-User-2:~$ cd xgboost/
user@MacBook-Pro-de-User-2:~/xgboost$ clear
user@MacBook-Pro-de-User-2:~/xgboost$ ls
CMakeLists.txt     R-package/         doc/               rabit/
CONTRIBUTORS.md    README.md          include/           src/
ISSUE_TEMPLATE.md  amalgamation/      jvm-packages/      tests/
LICENSE            build.sh*          make/
Makefile           demo/              plugin/
NEWS.md            dmlc-core/         python-package/
user@MacBook-Pro-de-User-2:~/xgboost$ ./build.sh
g++-6 -std=c++0x -Wall -O3 -msse2  -Wno-unknown-pragmas -funroll-loops -Iinclude   -Idmlc-core/include -Irabit/include -fPIC -fopenmp -MM -MT build/learner.o src/learner.cc >build/learner.d
g++-6 -c -std=c++0x -Wall -O3 -msse2  -Wno-unknown-pragmas -funroll-loops -Iinclude   -Idmlc-core/include -Irabit/include -fPIC -fopenmp -c src/learner.cc -o build/learner.o
g++-6 -std=c++0x -Wall -O3 -msse2  -Wno-unknown-pragmas -funroll-loops -Iinclude   -Idmlc-core/include -Irabit/include -fPIC -fopenmp -MM -MT build/logging.o src/logging.cc >build/logging.d
g++-6 -c -std=c++0x -Wall -O3 -msse2  -Wno-unknown-pragmas -funroll-loops -Iinclude   -Idmlc-core/include -Irabit/include -fPIC -fopenmp -c src/logging.cc -o build/logging.o
g++-6 -std=c++0x -Wall -O3 -msse2  -Wno-unknown-pragmas -funroll-loops -Iinclude   -Idmlc-core/include -Irabit/include -fPIC -fopenmp -MM -MT build/c_api/c_api.o src/c_api/c_api.cc >build/c_api/c_api.d
g++-6 -c -std=c++0x -Wall -O3 -msse2  -Wno-unknown-pragmas -funroll-loops -Iinclude   -Idmlc-core/include -Irabit/include -fPIC -fopenmp -c src/c_api/c_api.cc -o build/c_api/c_api.o
g++-6 -std=c++0x -Wall -O3 -msse2  -Wno-unknown-pragmas -funroll-loops -Iinclude   -Idmlc-core/include -Irabit/include -fPIC -fopenmp -MM -MT build/c_api/c_api_error.o src/c_api/c_api_error.cc >build/c_api/c_api_error.d
g++-6 -c -std=c++0x -Wall -O3 -msse2  -Wno-unknown-pragmas -funroll-loops -Iinclude   -Idmlc-core/include -Irabit/include -fPIC -fopenmp -c src/c_api/c_api_error.cc -o build/c_api/c_api_error.o
g++-6 -std=c++0x -Wall -O3 -msse2  -Wno-unknown-pragmas -funroll-loops -Iinclude   -Idmlc-core/include -Irabit/include -fPIC -fopenmp -MM -MT build/common/common.o src/common/common.cc >build/common/common.d
g++-6 -c -std=c++0x -Wall -O3 -msse2  -Wno-unknown-pragmas -funroll-loops -Iinclude   -Idmlc-core/include -Irabit/include -fPIC -fopenmp -c src/common/common.cc -o build/common/common.o
g++-6 -std=c++0x -Wall -O3 -msse2  -Wno-unknown-pragmas -funroll-loops -Iinclude   -Idmlc-core/include -Irabit/include -fPIC -fopenmp -MM -MT build/data/data.o src/data/data.cc >build/data/data.d
g++-6 -c -std=c++0x -Wall -O3 -msse2  -Wno-unknown-pragmas -funroll-loops -Iinclude   -Idmlc-core/include -Irabit/include -fPIC -fopenmp -c src/data/data.cc -o build/data/data.o
g++-6 -std=c++0x -Wall -O3 -msse2  -Wno-unknown-pragmas -funroll-loops -Iinclude   -Idmlc-core/include -Irabit/include -fPIC -fopenmp -MM -MT build/data/simple_csr_source.o src/data/simple_csr_source.cc >build/data/simple_csr_source.d
g++-6 -c -std=c++0x -Wall -O3 -msse2  -Wno-unknown-pragmas -funroll-loops -Iinclude   -Idmlc-core/include -Irabit/include -fPIC -fopenmp -c src/data/simple_csr_source.cc -o build/data/simple_csr_source.o
g++-6 -std=c++0x -Wall -O3 -msse2  -Wno-unknown-pragmas -funroll-loops -Iinclude   -Idmlc-core/include -Irabit/include -fPIC -fopenmp -MM -MT build/data/simple_dmatrix.o src/data/simple_dmatrix.cc >build/data/simple_dmatrix.d
g++-6 -c -std=c++0x -Wall -O3 -msse2  -Wno-unknown-pragmas -funroll-loops -Iinclude   -Idmlc-core/include -Irabit/include -fPIC -fopenmp -c src/data/simple_dmatrix.cc -o build/data/simple_dmatrix.o
g++-6 -std=c++0x -Wall -O3 -msse2  -Wno-unknown-pragmas -funroll-loops -Iinclude   -Idmlc-core/include -Irabit/include -fPIC -fopenmp -MM -MT build/data/sparse_page_dmatrix.o src/data/sparse_page_dmatrix.cc >build/data/sparse_page_dmatrix.d
g++-6 -c -std=c++0x -Wall -O3 -msse2  -Wno-unknown-pragmas -funroll-loops -Iinclude   -Idmlc-core/include -Irabit/include -fPIC -fopenmp -c src/data/sparse_page_dmatrix.cc -o build/data/sparse_page_dmatrix.o
g++-6 -std=c++0x -Wall -O3 -msse2  -Wno-unknown-pragmas -funroll-loops -Iinclude   -Idmlc-core/include -Irabit/include -fPIC -fopenmp -MM -MT build/data/sparse_page_raw_format.o src/data/sparse_page_raw_format.cc >build/data/sparse_page_raw_format.d
g++-6 -c -std=c++0x -Wall -O3 -msse2  -Wno-unknown-pragmas -funroll-loops -Iinclude   -Idmlc-core/include -Irabit/include -fPIC -fopenmp -c src/data/sparse_page_raw_format.cc -o build/data/sparse_page_raw_format.o
g++-6 -std=c++0x -Wall -O3 -msse2  -Wno-unknown-pragmas -funroll-loops -Iinclude   -Idmlc-core/include -Irabit/include -fPIC -fopenmp -MM -MT build/data/sparse_page_source.o src/data/sparse_page_source.cc >build/data/sparse_page_source.d
g++-6 -c -std=c++0x -Wall -O3 -msse2  -Wno-unknown-pragmas -funroll-loops -Iinclude   -Idmlc-core/include -Irabit/include -fPIC -fopenmp -c src/data/sparse_page_source.cc -o build/data/sparse_page_source.o
g++-6 -std=c++0x -Wall -O3 -msse2  -Wno-unknown-pragmas -funroll-loops -Iinclude   -Idmlc-core/include -Irabit/include -fPIC -fopenmp -MM -MT build/data/sparse_page_writer.o src/data/sparse_page_writer.cc >build/data/sparse_page_writer.d
g++-6 -c -std=c++0x -Wall -O3 -msse2  -Wno-unknown-pragmas -funroll-loops -Iinclude   -Idmlc-core/include -Irabit/include -fPIC -fopenmp -c src/data/sparse_page_writer.cc -o build/data/sparse_page_writer.o
g++-6 -std=c++0x -Wall -O3 -msse2  -Wno-unknown-pragmas -funroll-loops -Iinclude   -Idmlc-core/include -Irabit/include -fPIC -fopenmp -MM -MT build/gbm/gblinear.o src/gbm/gblinear.cc >build/gbm/gblinear.d
g++-6 -c -std=c++0x -Wall -O3 -msse2  -Wno-unknown-pragmas -funroll-loops -Iinclude   -Idmlc-core/include -Irabit/include -fPIC -fopenmp -c src/gbm/gblinear.cc -o build/gbm/gblinear.o
g++-6 -std=c++0x -Wall -O3 -msse2  -Wno-unknown-pragmas -funroll-loops -Iinclude   -Idmlc-core/include -Irabit/include -fPIC -fopenmp -MM -MT build/gbm/gbm.o src/gbm/gbm.cc >build/gbm/gbm.d
g++-6 -c -std=c++0x -Wall -O3 -msse2  -Wno-unknown-pragmas -funroll-loops -Iinclude   -Idmlc-core/include -Irabit/include -fPIC -fopenmp -c src/gbm/gbm.cc -o build/gbm/gbm.o
g++-6 -std=c++0x -Wall -O3 -msse2  -Wno-unknown-pragmas -funroll-loops -Iinclude   -Idmlc-core/include -Irabit/include -fPIC -fopenmp -MM -MT build/gbm/gbtree.o src/gbm/gbtree.cc >build/gbm/gbtree.d
g++-6 -c -std=c++0x -Wall -O3 -msse2  -Wno-unknown-pragmas -funroll-loops -Iinclude   -Idmlc-core/include -Irabit/include -fPIC -fopenmp -c src/gbm/gbtree.cc -o build/gbm/gbtree.o
g++-6 -std=c++0x -Wall -O3 -msse2  -Wno-unknown-pragmas -funroll-loops -Iinclude   -Idmlc-core/include -Irabit/include -fPIC -fopenmp -MM -MT build/metric/elementwise_metric.o src/metric/elementwise_metric.cc >build/metric/elementwise_metric.d
g++-6 -c -std=c++0x -Wall -O3 -msse2  -Wno-unknown-pragmas -funroll-loops -Iinclude   -Idmlc-core/include -Irabit/include -fPIC -fopenmp -c src/metric/elementwise_metric.cc -o build/metric/elementwise_metric.o
g++-6 -std=c++0x -Wall -O3 -msse2  -Wno-unknown-pragmas -funroll-loops -Iinclude   -Idmlc-core/include -Irabit/include -fPIC -fopenmp -MM -MT build/metric/metric.o src/metric/metric.cc >build/metric/metric.d
g++-6 -c -std=c++0x -Wall -O3 -msse2  -Wno-unknown-pragmas -funroll-loops -Iinclude   -Idmlc-core/include -Irabit/include -fPIC -fopenmp -c src/metric/metric.cc -o build/metric/metric.o
g++-6 -std=c++0x -Wall -O3 -msse2  -Wno-unknown-pragmas -funroll-loops -Iinclude   -Idmlc-core/include -Irabit/include -fPIC -fopenmp -MM -MT build/metric/multiclass_metric.o src/metric/multiclass_metric.cc >build/metric/multiclass_metric.d
g++-6 -c -std=c++0x -Wall -O3 -msse2  -Wno-unknown-pragmas -funroll-loops -Iinclude   -Idmlc-core/include -Irabit/include -fPIC -fopenmp -c src/metric/multiclass_metric.cc -o build/metric/multiclass_metric.o
g++-6 -std=c++0x -Wall -O3 -msse2  -Wno-unknown-pragmas -funroll-loops -Iinclude   -Idmlc-core/include -Irabit/include -fPIC -fopenmp -MM -MT build/metric/rank_metric.o src/metric/rank_metric.cc >build/metric/rank_metric.d
g++-6 -c -std=c++0x -Wall -O3 -msse2  -Wno-unknown-pragmas -funroll-loops -Iinclude   -Idmlc-core/include -Irabit/include -fPIC -fopenmp -c src/metric/rank_metric.cc -o build/metric/rank_metric.o
g++-6 -std=c++0x -Wall -O3 -msse2  -Wno-unknown-pragmas -funroll-loops -Iinclude   -Idmlc-core/include -Irabit/include -fPIC -fopenmp -MM -MT build/objective/multiclass_obj.o src/objective/multiclass_obj.cc >build/objective/multiclass_obj.d
g++-6 -c -std=c++0x -Wall -O3 -msse2  -Wno-unknown-pragmas -funroll-loops -Iinclude   -Idmlc-core/include -Irabit/include -fPIC -fopenmp -c src/objective/multiclass_obj.cc -o build/objective/multiclass_obj.o
g++-6 -std=c++0x -Wall -O3 -msse2  -Wno-unknown-pragmas -funroll-loops -Iinclude   -Idmlc-core/include -Irabit/include -fPIC -fopenmp -MM -MT build/objective/objective.o src/objective/objective.cc >build/objective/objective.d
g++-6 -c -std=c++0x -Wall -O3 -msse2  -Wno-unknown-pragmas -funroll-loops -Iinclude   -Idmlc-core/include -Irabit/include -fPIC -fopenmp -c src/objective/objective.cc -o build/objective/objective.o
g++-6 -std=c++0x -Wall -O3 -msse2  -Wno-unknown-pragmas -funroll-loops -Iinclude   -Idmlc-core/include -Irabit/include -fPIC -fopenmp -MM -MT build/objective/rank_obj.o src/objective/rank_obj.cc >build/objective/rank_obj.d
g++-6 -c -std=c++0x -Wall -O3 -msse2  -Wno-unknown-pragmas -funroll-loops -Iinclude   -Idmlc-core/include -Irabit/include -fPIC -fopenmp -c src/objective/rank_obj.cc -o build/objective/rank_obj.o
g++-6 -std=c++0x -Wall -O3 -msse2  -Wno-unknown-pragmas -funroll-loops -Iinclude   -Idmlc-core/include -Irabit/include -fPIC -fopenmp -MM -MT build/objective/regression_obj.o src/objective/regression_obj.cc >build/objective/regression_obj.d
g++-6 -c -std=c++0x -Wall -O3 -msse2  -Wno-unknown-pragmas -funroll-loops -Iinclude   -Idmlc-core/include -Irabit/include -fPIC -fopenmp -c src/objective/regression_obj.cc -o build/objective/regression_obj.o
g++-6 -std=c++0x -Wall -O3 -msse2  -Wno-unknown-pragmas -funroll-loops -Iinclude   -Idmlc-core/include -Irabit/include -fPIC -fopenmp -MM -MT build/tree/tree_model.o src/tree/tree_model.cc >build/tree/tree_model.d
g++-6 -c -std=c++0x -Wall -O3 -msse2  -Wno-unknown-pragmas -funroll-loops -Iinclude   -Idmlc-core/include -Irabit/include -fPIC -fopenmp -c src/tree/tree_model.cc -o build/tree/tree_model.o
g++-6 -std=c++0x -Wall -O3 -msse2  -Wno-unknown-pragmas -funroll-loops -Iinclude   -Idmlc-core/include -Irabit/include -fPIC -fopenmp -MM -MT build/tree/tree_updater.o src/tree/tree_updater.cc >build/tree/tree_updater.d
g++-6 -c -std=c++0x -Wall -O3 -msse2  -Wno-unknown-pragmas -funroll-loops -Iinclude   -Idmlc-core/include -Irabit/include -fPIC -fopenmp -c src/tree/tree_updater.cc -o build/tree/tree_updater.o
g++-6 -std=c++0x -Wall -O3 -msse2  -Wno-unknown-pragmas -funroll-loops -Iinclude   -Idmlc-core/include -Irabit/include -fPIC -fopenmp -MM -MT build/tree/updater_colmaker.o src/tree/updater_colmaker.cc >build/tree/updater_colmaker.d
g++-6 -c -std=c++0x -Wall -O3 -msse2  -Wno-unknown-pragmas -funroll-loops -Iinclude   -Idmlc-core/include -Irabit/include -fPIC -fopenmp -c src/tree/updater_colmaker.cc -o build/tree/updater_colmaker.o
g++-6 -std=c++0x -Wall -O3 -msse2  -Wno-unknown-pragmas -funroll-loops -Iinclude   -Idmlc-core/include -Irabit/include -fPIC -fopenmp -MM -MT build/tree/updater_histmaker.o src/tree/updater_histmaker.cc >build/tree/updater_histmaker.d
g++-6 -c -std=c++0x -Wall -O3 -msse2  -Wno-unknown-pragmas -funroll-loops -Iinclude   -Idmlc-core/include -Irabit/include -fPIC -fopenmp -c src/tree/updater_histmaker.cc -o build/tree/updater_histmaker.o
g++-6 -std=c++0x -Wall -O3 -msse2  -Wno-unknown-pragmas -funroll-loops -Iinclude   -Idmlc-core/include -Irabit/include -fPIC -fopenmp -MM -MT build/tree/updater_prune.o src/tree/updater_prune.cc >build/tree/updater_prune.d
g++-6 -c -std=c++0x -Wall -O3 -msse2  -Wno-unknown-pragmas -funroll-loops -Iinclude   -Idmlc-core/include -Irabit/include -fPIC -fopenmp -c src/tree/updater_prune.cc -o build/tree/updater_prune.o
g++-6 -std=c++0x -Wall -O3 -msse2  -Wno-unknown-pragmas -funroll-loops -Iinclude   -Idmlc-core/include -Irabit/include -fPIC -fopenmp -MM -MT build/tree/updater_refresh.o src/tree/updater_refresh.cc >build/tree/updater_refresh.d
g++-6 -c -std=c++0x -Wall -O3 -msse2  -Wno-unknown-pragmas -funroll-loops -Iinclude   -Idmlc-core/include -Irabit/include -fPIC -fopenmp -c src/tree/updater_refresh.cc -o build/tree/updater_refresh.o
g++-6 -std=c++0x -Wall -O3 -msse2  -Wno-unknown-pragmas -funroll-loops -Iinclude   -Idmlc-core/include -Irabit/include -fPIC -fopenmp -MM -MT build/tree/updater_skmaker.o src/tree/updater_skmaker.cc >build/tree/updater_skmaker.d
g++-6 -c -std=c++0x -Wall -O3 -msse2  -Wno-unknown-pragmas -funroll-loops -Iinclude   -Idmlc-core/include -Irabit/include -fPIC -fopenmp -c src/tree/updater_skmaker.cc -o build/tree/updater_skmaker.o
g++-6 -std=c++0x -Wall -O3 -msse2  -Wno-unknown-pragmas -funroll-loops -Iinclude   -Idmlc-core/include -Irabit/include -fPIC -fopenmp -MM -MT build/tree/updater_sync.o src/tree/updater_sync.cc >build/tree/updater_sync.d
g++-6 -c -std=c++0x -Wall -O3 -msse2  -Wno-unknown-pragmas -funroll-loops -Iinclude   -Idmlc-core/include -Irabit/include -fPIC -fopenmp -c src/tree/updater_sync.cc -o build/tree/updater_sync.o
cd dmlc-core; /Library/Developer/CommandLineTools/usr/bin/make libdmlc.a config=/Users/user/xgboost/make/config.mk; cd /Users/user/xgboost
g++-6 -c -O3 -Wall -msse2  -Wno-unknown-pragmas -Iinclude  -std=c++0x -fopenmp -fPIC -DDMLC_USE_HDFS=0 -DDMLC_USE_S3=0 -DDMLC_USE_AZURE=0 -o line_split.o src/io/line_split.cc
g++-6 -c -O3 -Wall -msse2  -Wno-unknown-pragmas -Iinclude  -std=c++0x -fopenmp -fPIC -DDMLC_USE_HDFS=0 -DDMLC_USE_S3=0 -DDMLC_USE_AZURE=0 -o recordio_split.o src/io/recordio_split.cc
g++-6 -c -O3 -Wall -msse2  -Wno-unknown-pragmas -Iinclude  -std=c++0x -fopenmp -fPIC -DDMLC_USE_HDFS=0 -DDMLC_USE_S3=0 -DDMLC_USE_AZURE=0 -o input_split_base.o src/io/input_split_base.cc
g++-6 -c -O3 -Wall -msse2  -Wno-unknown-pragmas -Iinclude  -std=c++0x -fopenmp -fPIC -DDMLC_USE_HDFS=0 -DDMLC_USE_S3=0 -DDMLC_USE_AZURE=0 -o io.o src/io.cc
g++-6 -c -O3 -Wall -msse2  -Wno-unknown-pragmas -Iinclude  -std=c++0x -fopenmp -fPIC -DDMLC_USE_HDFS=0 -DDMLC_USE_S3=0 -DDMLC_USE_AZURE=0 -o local_filesys.o src/io/local_filesys.cc
g++-6 -c -O3 -Wall -msse2  -Wno-unknown-pragmas -Iinclude  -std=c++0x -fopenmp -fPIC -DDMLC_USE_HDFS=0 -DDMLC_USE_S3=0 -DDMLC_USE_AZURE=0 -o data.o src/data.cc
g++-6 -c -O3 -Wall -msse2  -Wno-unknown-pragmas -Iinclude  -std=c++0x -fopenmp -fPIC -DDMLC_USE_HDFS=0 -DDMLC_USE_S3=0 -DDMLC_USE_AZURE=0 -o recordio.o src/recordio.cc
g++-6 -c -O3 -Wall -msse2  -Wno-unknown-pragmas -Iinclude  -std=c++0x -fopenmp -fPIC -DDMLC_USE_HDFS=0 -DDMLC_USE_S3=0 -DDMLC_USE_AZURE=0 -o config.o src/config.cc
ar cr libdmlc.a line_split.o recordio_split.o input_split_base.o io.o local_filesys.o data.o recordio.o config.o
cd rabit; /Library/Developer/CommandLineTools/usr/bin/make lib/librabit.a; cd /Users/user/xgboost
g++-6 -c -O3 -msse2 -Wall -Wextra -Wno-unused-parameter -Wno-unknown-pragmas -std=c++0x -fPIC -o allreduce_base.o src/allreduce_base.cc
g++-6 -c -O3 -msse2 -Wall -Wextra -Wno-unused-parameter -Wno-unknown-pragmas -std=c++0x -fPIC -o allreduce_robust.o src/allreduce_robust.cc
g++-6 -c -O3 -msse2 -Wall -Wextra -Wno-unused-parameter -Wno-unknown-pragmas -std=c++0x -fPIC -o engine.o src/engine.cc
g++-6 -c -O3 -msse2 -Wall -Wextra -Wno-unused-parameter -Wno-unknown-pragmas -std=c++0x -fPIC -o c_api.o src/c_api.cc
ar cr lib/librabit.a allreduce_base.o allreduce_robust.o engine.o c_api.o
ar crv lib/libxgboost.a build/learner.o build/logging.o build/c_api/c_api.o build/c_api/c_api_error.o build/common/common.o build/data/data.o build/data/simple_csr_source.o build/data/simple_dmatrix.o build/data/sparse_page_dmatrix.o build/data/sparse_page_raw_format.o build/data/sparse_page_source.o build/data/sparse_page_writer.o build/gbm/gblinear.o build/gbm/gbm.o build/gbm/gbtree.o build/metric/elementwise_metric.o build/metric/metric.o build/metric/multiclass_metric.o build/metric/rank_metric.o build/objective/multiclass_obj.o build/objective/objective.o build/objective/rank_obj.o build/objective/regression_obj.o build/tree/tree_model.o build/tree/tree_updater.o build/tree/updater_colmaker.o build/tree/updater_histmaker.o build/tree/updater_prune.o build/tree/updater_refresh.o build/tree/updater_skmaker.o build/tree/updater_sync.o
a - build/learner.o
a - build/logging.o
a - build/c_api/c_api.o
a - build/c_api/c_api_error.o
a - build/common/common.o
a - build/data/data.o
a - build/data/simple_csr_source.o
a - build/data/simple_dmatrix.o
a - build/data/sparse_page_dmatrix.o
a - build/data/sparse_page_raw_format.o
a - build/data/sparse_page_source.o
a - build/data/sparse_page_writer.o
a - build/gbm/gblinear.o
a - build/gbm/gbm.o
a - build/gbm/gbtree.o
a - build/metric/elementwise_metric.o
a - build/metric/metric.o
a - build/metric/multiclass_metric.o
a - build/metric/rank_metric.o
a - build/objective/multiclass_obj.o
a - build/objective/objective.o
a - build/objective/rank_obj.o
a - build/objective/regression_obj.o
a - build/tree/tree_model.o
a - build/tree/tree_updater.o
a - build/tree/updater_colmaker.o
a - build/tree/updater_histmaker.o
a - build/tree/updater_prune.o
a - build/tree/updater_refresh.o
a - build/tree/updater_skmaker.o
a - build/tree/updater_sync.o
g++-6 -std=c++0x -Wall -O3 -msse2  -Wno-unknown-pragmas -funroll-loops -Iinclude   -Idmlc-core/include -Irabit/include -fPIC -fopenmp -shared -o lib/libxgboost.so build/learner.o build/logging.o build/c_api/c_api.o build/c_api/c_api_error.o build/common/common.o build/data/data.o build/data/simple_csr_source.o build/data/simple_dmatrix.o build/data/sparse_page_dmatrix.o build/data/sparse_page_raw_format.o build/data/sparse_page_source.o build/data/sparse_page_writer.o build/gbm/gblinear.o build/gbm/gbm.o build/gbm/gbtree.o build/metric/elementwise_metric.o build/metric/metric.o build/metric/multiclass_metric.o build/metric/rank_metric.o build/objective/multiclass_obj.o build/objective/objective.o build/objective/rank_obj.o build/objective/regression_obj.o build/tree/tree_model.o build/tree/tree_updater.o build/tree/updater_colmaker.o build/tree/updater_histmaker.o build/tree/updater_prune.o build/tree/updater_refresh.o build/tree/updater_skmaker.o build/tree/updater_sync.o dmlc-core/libdmlc.a rabit/lib/librabit.a -pthread -lm  -fopenmp
g++-6 -std=c++0x -Wall -O3 -msse2  -Wno-unknown-pragmas -funroll-loops -Iinclude   -Idmlc-core/include -Irabit/include -fPIC -fopenmp -MM -MT build/cli_main.o src/cli_main.cc >build/cli_main.d
g++-6 -c -std=c++0x -Wall -O3 -msse2  -Wno-unknown-pragmas -funroll-loops -Iinclude   -Idmlc-core/include -Irabit/include -fPIC -fopenmp -c src/cli_main.cc -o build/cli_main.o
g++-6 -std=c++0x -Wall -O3 -msse2  -Wno-unknown-pragmas -funroll-loops -Iinclude   -Idmlc-core/include -Irabit/include -fPIC -fopenmp -o xgboost  build/cli_main.o build/learner.o build/logging.o build/c_api/c_api.o build/c_api/c_api_error.o build/common/common.o build/data/data.o build/data/simple_csr_source.o build/data/simple_dmatrix.o build/data/sparse_page_dmatrix.o build/data/sparse_page_raw_format.o build/data/sparse_page_source.o build/data/sparse_page_writer.o build/gbm/gblinear.o build/gbm/gbm.o build/gbm/gbtree.o build/metric/elementwise_metric.o build/metric/metric.o build/metric/multiclass_metric.o build/metric/rank_metric.o build/objective/multiclass_obj.o build/objective/objective.o build/objective/rank_obj.o build/objective/regression_obj.o build/tree/tree_model.o build/tree/tree_updater.o build/tree/updater_colmaker.o build/tree/updater_histmaker.o build/tree/updater_prune.o build/tree/updater_refresh.o build/tree/updater_skmaker.o build/tree/updater_sync.o dmlc-core/libdmlc.a rabit/lib/librabit.a  -pthread -lm  -fopenmp
Successfully build multi-thread xgboost
user@MacBook-Pro-de-User-2:~/xgboost$ cd python-package; python3 setup.py install
Install libxgboost from: ['/Users/user/xgboost/python-package/xgboost/../../lib/libxgboost.so']
running install
running bdist_egg
running egg_info
creating xgboost.egg-info
writing xgboost.egg-info/PKG-INFO
writing dependency_links to xgboost.egg-info/dependency_links.txt
writing top-level names to xgboost.egg-info/top_level.txt
writing requirements to xgboost.egg-info/requires.txt
writing manifest file 'xgboost.egg-info/SOURCES.txt'
reading manifest file 'xgboost.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
warning: no files found matching '*' under directory 'xgboost/include'
warning: no files found matching '*' under directory 'xgboost/src'
warning: no files found matching '*' under directory 'xgboost/make'
warning: no files found matching '*' under directory 'xgboost/rabit'
warning: no files found matching '*' under directory 'xgboost/lib'
warning: no files found matching '*' under directory 'xgboost/dmlc-core'
warning: no previously-included files matching '*.o' found anywhere in distribution
warning: no previously-included files matching '*.a' found anywhere in distribution
warning: no previously-included files matching '*.pyo' found anywhere in distribution
warning: no previously-included files matching '*.pyc' found anywhere in distribution
writing manifest file 'xgboost.egg-info/SOURCES.txt'
installing library code to build/bdist.macosx-10.11-x86_64/egg
running install_lib
running build_py
creating build
creating build/lib
creating build/lib/xgboost
copying xgboost/__init__.py -> build/lib/xgboost
copying xgboost/callback.py -> build/lib/xgboost
copying xgboost/compat.py -> build/lib/xgboost
copying xgboost/core.py -> build/lib/xgboost
copying xgboost/libpath.py -> build/lib/xgboost
copying xgboost/plotting.py -> build/lib/xgboost
copying xgboost/rabit.py -> build/lib/xgboost
copying xgboost/sklearn.py -> build/lib/xgboost
copying xgboost/training.py -> build/lib/xgboost
copying xgboost/VERSION -> build/lib/xgboost
copying xgboost/build-python.sh -> build/lib/xgboost
creating build/bdist.macosx-10.11-x86_64
creating build/bdist.macosx-10.11-x86_64/egg
creating build/bdist.macosx-10.11-x86_64/egg/xgboost
copying build/lib/xgboost/__init__.py -> build/bdist.macosx-10.11-x86_64/egg/xgboost
copying build/lib/xgboost/build-python.sh -> build/bdist.macosx-10.11-x86_64/egg/xgboost
copying build/lib/xgboost/callback.py -> build/bdist.macosx-10.11-x86_64/egg/xgboost
copying build/lib/xgboost/compat.py -> build/bdist.macosx-10.11-x86_64/egg/xgboost
copying build/lib/xgboost/core.py -> build/bdist.macosx-10.11-x86_64/egg/xgboost
copying build/lib/xgboost/libpath.py -> build/bdist.macosx-10.11-x86_64/egg/xgboost
copying build/lib/xgboost/plotting.py -> build/bdist.macosx-10.11-x86_64/egg/xgboost
copying build/lib/xgboost/rabit.py -> build/bdist.macosx-10.11-x86_64/egg/xgboost
copying build/lib/xgboost/sklearn.py -> build/bdist.macosx-10.11-x86_64/egg/xgboost
copying build/lib/xgboost/training.py -> build/bdist.macosx-10.11-x86_64/egg/xgboost
copying build/lib/xgboost/VERSION -> build/bdist.macosx-10.11-x86_64/egg/xgboost
byte-compiling build/bdist.macosx-10.11-x86_64/egg/xgboost/__init__.py to __init__.cpython-35.pyc
byte-compiling build/bdist.macosx-10.11-x86_64/egg/xgboost/callback.py to callback.cpython-35.pyc
byte-compiling build/bdist.macosx-10.11-x86_64/egg/xgboost/compat.py to compat.cpython-35.pyc
byte-compiling build/bdist.macosx-10.11-x86_64/egg/xgboost/core.py to core.cpython-35.pyc
byte-compiling build/bdist.macosx-10.11-x86_64/egg/xgboost/libpath.py to libpath.cpython-35.pyc
byte-compiling build/bdist.macosx-10.11-x86_64/egg/xgboost/plotting.py to plotting.cpython-35.pyc
byte-compiling build/bdist.macosx-10.11-x86_64/egg/xgboost/rabit.py to rabit.cpython-35.pyc
byte-compiling build/bdist.macosx-10.11-x86_64/egg/xgboost/sklearn.py to sklearn.cpython-35.pyc
byte-compiling build/bdist.macosx-10.11-x86_64/egg/xgboost/training.py to training.cpython-35.pyc
installing package data to build/bdist.macosx-10.11-x86_64/egg
running install_data
copying /Users/user/xgboost/python-package/xgboost/../../lib/libxgboost.so -> build/bdist.macosx-10.11-x86_64/egg/xgboost
creating build/bdist.macosx-10.11-x86_64/egg/EGG-INFO
copying xgboost.egg-info/PKG-INFO -> build/bdist.macosx-10.11-x86_64/egg/EGG-INFO
copying xgboost.egg-info/SOURCES.txt -> build/bdist.macosx-10.11-x86_64/egg/EGG-INFO
copying xgboost.egg-info/dependency_links.txt -> build/bdist.macosx-10.11-x86_64/egg/EGG-INFO
copying xgboost.egg-info/not-zip-safe -> build/bdist.macosx-10.11-x86_64/egg/EGG-INFO
copying xgboost.egg-info/requires.txt -> build/bdist.macosx-10.11-x86_64/egg/EGG-INFO
copying xgboost.egg-info/top_level.txt -> build/bdist.macosx-10.11-x86_64/egg/EGG-INFO
creating dist
creating 'dist/xgboost-0.6-py3.5.egg' and adding 'build/bdist.macosx-10.11-x86_64/egg' to it
removing 'build/bdist.macosx-10.11-x86_64/egg' (and everything under it)
Processing xgboost-0.6-py3.5.egg
creating /usr/local/lib/python3.5/site-packages/xgboost-0.6-py3.5.egg
Extracting xgboost-0.6-py3.5.egg to /usr/local/lib/python3.5/site-packages
Adding xgboost 0.6 to easy-install.pth file

Installed /usr/local/lib/python3.5/site-packages/xgboost-0.6-py3.5.egg
Processing dependencies for xgboost==0.6
Searching for scipy==0.18.0
Best match: scipy 0.18.0
Adding scipy 0.18.0 to easy-install.pth file

Using /usr/local/lib/python3.5/site-packages
Searching for numpy==1.11.1
Best match: numpy 1.11.1
Adding numpy 1.11.1 to easy-install.pth file

Using /usr/local/lib/python3.5/site-packages
Finished processing dependencies for xgboost==0.6

Sin embargo, me gustaría saber si hay una forma más sencilla de instalarlo, ¿alguna sugerencia chicos ?.

@alonsopg la instalación actual de pip requiere gcc-5 o clang-omp que se pueden instalar a través de brew . Se hizo antes de la reciente actualización de instrucciones. Dado que los principales usuarios de Mac OS X ahora usan gcc-6 , actualizaré la próxima versión a gcc-6, mientras tanto, instale desde github como lo ha compilado

+1 también encontró exactamente este problema. Muy complicado de entender. También tenga en cuenta que clang-omp ya no es un paquete de preparación:

$ brew install clang-omp
Error: No available formula with the name "clang-omp" 
==> Searching for similarly named formulae...
Error: No similarly named formulae found.
==> Searching taps...
Error: No formulae found in taps.

@samuela ¿quieres probar brew install --with-clang llvm ya que clang-omp se movió?

@phunterlau Todavía no puedo hacer que pip install xgboost funcione en Mac 10.12.3

Me estoy poniendo:

XGBoostLibraryNotFound: Cannot find XGBoost Libarary in the candicate path, did you install compilers and run build.sh in root path?

He intentado:

$ brew install clang-omp
Error: No available formula with the name "clang-omp" 
==> Searching for similarly named formulae...
Error: No similarly named formulae found.
==> Searching taps...
Error: No formulae found in taps.
$ brew install --with-clang llvm
Warning: llvm: this formula has no --with-clang option so it will be ignored!
# snip
$ export PATH="/usr/local/opt/llvm/bin:$PATH"
$ export LDFLAGS="-L/usr/local/opt/llvm/lib -Wl,-rpath,/usr/local/opt/llvm/lib"
$ export CPPFLAGS="-I/usr/local/opt/llvm/include"
$ pip install xgboost
# snip
XGBoostLibraryNotFound: Cannot find XGBoost Libarary in the candicate path, did you install compilers and run build.sh in root path?
# snip
$ brew install gcc --without-multilib
$ pip install xgboost
# snip
XGBoostLibraryNotFound: Cannot find XGBoost Libarary in the candicate path, did you install compilers and run build.sh in root path?
# snip

¿Cómo vamos a instalar esto desde PyPi en Mac 10.12? La instalación desde la fuente no es una solución.

@JoeNyland tal vez necesites:

brew install cmake

Quizás pueda obtener algunas ideas de https://github.com/dmlc/xgboost/issues/463 .

@ d2Code Gracias, pero sigo recibiendo el mismo mensaje de error después de brew install cmake :

$ pip install xgboost
...
XGBoostLibraryNotFound: Cannot find XGBoost Libarary in the candicate path, did you install compilers and run build.sh in root path?
...

@JoeNyland Puede intentar instalar xgboost desde la fuente, no por pip.

@ d2Code Sé que puedo instalar desde la fuente, pero necesito instalar desde pip. Estoy tratando de llegar al fondo de por qué no puedo instalar desde pip.

¿Cómo vamos a instalar esto desde PyPi en Mac 10.12? La instalación desde la fuente no es una solución.

@evanuk Gracias por tu sugerencia. Desafortunadamente, recibo el mismo mensaje de error que antes, incluso con su comando anterior 😕

$ env CC=gcc CXX=gcc pip install xgboost
Collecting xgboost
  Using cached xgboost-0.6a2.tar.gz
    Complete output from command python setup.py egg_info:
    rm -f -rf build build_plugin lib bin *~ */*~ */*/*~ */*/*/*~ */*.o */*/*.o */*/*/*.o xgboost
    clang-omp++ -std=c++0x -Wall -O3 -msse2  -Wno-unknown-pragmas -funroll-loops -Iinclude   -Idmlc-core/include -Irabit/include -fPIC -fopenmp -MM -MT build/learner.o src/learner.cc >build/learner.d
    /bin/sh: clang-omp++: command not found
    make: *** [build/learner.o] Error 127
    make: *** Waiting for unfinished jobs....
    clang-omp++ -std=c++0x -Wall -O3 -msse2  -Wno-unknown-pragmas -funroll-loops -Iinclude   -Idmlc-core/include -Irabit/include -fPIC -fopenmp -MM -MT build/logging.o src/logging.cc >build/logging.d
    /bin/sh: clang-omp++: command not found
    make: *** [build/logging.o] Error 127
    -----------------------------
    Building multi-thread xgboost failed
    Start to build single-thread xgboost
    rm -f -rf build build_plugin lib bin *~ */*~ */*/*~ */*/*/*~ */*.o */*/*.o */*/*/*.o xgboost
    clang-omp++ -std=c++0x -Wall -O3 -msse2  -Wno-unknown-pragmas -funroll-loops -Iinclude   -Idmlc-core/include -Irabit/include -fPIC -fopenmp -MM -MT build/learner.o src/learner.cc >build/learner.d
    /bin/sh: clang-omp++: command not found
    make: *** [build/learner.o] Error 127
    make: *** Waiting for unfinished jobs....
    clang-omp++ -std=c++0x -Wall -O3 -msse2  -Wno-unknown-pragmas -funroll-loops -Iinclude   -Idmlc-core/include -Irabit/include -fPIC -fopenmp -MM -MT build/logging.o src/logging.cc >build/logging.d
    /bin/sh: clang-omp++: command not found
    make: *** [build/logging.o] Error 127
    Successfully build single-thread xgboost
    If you want multi-threaded version
    See additional instructions in doc/build.md
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/private/var/folders/91/nqdcr19d0xg6sjdb4m3vcc3c0000gn/T/pip-build-ozos8fjf/xgboost/setup.py", line 29, in <module>
        LIB_PATH = libpath['find_lib_path']()
      File "/private/var/folders/91/nqdcr19d0xg6sjdb4m3vcc3c0000gn/T/pip-build-ozos8fjf/xgboost/xgboost/libpath.py", line 45, in find_lib_path
        'List of candidates:\n' + ('\n'.join(dll_path)))
    XGBoostLibraryNotFound: Cannot find XGBoost Libarary in the candicate path, did you install compilers and run build.sh in root path?
    List of candidates:
    /private/var/folders/91/nqdcr19d0xg6sjdb4m3vcc3c0000gn/T/pip-build-ozos8fjf/xgboost/xgboost/libxgboost.so
    /private/var/folders/91/nqdcr19d0xg6sjdb4m3vcc3c0000gn/T/pip-build-ozos8fjf/xgboost/xgboost/../../lib/libxgboost.so
    /private/var/folders/91/nqdcr19d0xg6sjdb4m3vcc3c0000gn/T/pip-build-ozos8fjf/xgboost/xgboost/./lib/libxgboost.so

    ----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in /private/var/folders/91/nqdcr19d0xg6sjdb4m3vcc3c0000gn/T/pip-build-ozos8fjf/xgboost/
$ brew info gcc | head -n 5
gcc: stable 6.3.0 (bottled), HEAD
GNU compiler collection
https://gcc.gnu.org/
/usr/local/Cellar/gcc/6.3.0_1 (1,358 files, 237.8MB) *
  Built from source on 2017-04-06 at 11:53:19 with: --without-multilib

¡Éxito! 🎉

Encontré esto aquí :

El compilador clang LLVM en Mac OS X de Xcode no es compatible con OpenMP multiproceso. Una opción alternativa es instalar homebrew http://brew.sh/ y brew install g ++ - 5, que proporciona compatibilidad con OpenMP multiproceso.

Teniendo eso en cuenta, probé esto y ¡me permite instalar desde pip!

$ brew install gcc<strong i="12">@5</strong>
$ pip install xgboost

No tengo idea de por qué esto funciona, pero brew install gcc --without-multilib no lo hizo.

No puedo evitar pensar que otros usuarios caerán en esta trampa y perderán el tiempo tratando de averiguar qué es lo que realmente está fallando. Con suerte, esta solución les funciona, pero preferiría ver una rutina de instalación más confiable desde el paquete pip 🤞

La solución de @JoeNyland también funcionó para mí. ¡¡Gracias!!

gracias por tu solucion! @JoeNyland

No usé pip para eso. Hubo algunos errores en la documentación, pero si sigue el enlace a continuación, hay algunas formas de solucionarlo.

http://stackoverflow.com/questions/39315156/how-to-install-xgboost-in-python-on-mac/43101972?noredirect=1#comment75102985_43101972

Instalé gcc7.1.0 con brew install gcc --without-multilib , luego cloné xgboost, cd-ed en la carpeta y edité make/config.mk para tener

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

y finalmente ejecutado cp make/minimum.mk ./config.mk; make -j4

luego cd-ed en python-package y ejecutado sudo python3 setup.py install

Joe ¡Eres increíble!

@JoeNyland se encontró exactamente con el mismo problema y su solución fue perfecta. ¡gracias!

@JoeNyland ¡ Eres mi héroe! A veces solo necesitamos la actitud obstinada, de lo contrario no se podría resolver ningún problema. ¡Gracias!

No es la mejor solución; Sería bueno no tener que depender de una versión anterior de GCC. Pero funciona por ahora, al menos 🙂

Sin embargo, sigo recibiendo el siguiente mensaje de error después de ejecutar
$ brew instalar gcc @ 5
$ pip instalar xgboost

¿Alguna idea de por qué recibo esto? Muy apreciado.

make: *** [build/data/simple_dmatrix.o] Error 1
Successfully build single-thread xgboost
If you want multi-threaded version
See additional instructions in doc/build.md
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/private/var/folders/60/6w9_z9yd24n7nwv1cg23zz340000gn/T/pip-build-B7gSEL/xgboost/setup.py", line 29, in <module>
    LIB_PATH = libpath['find_lib_path']()
  File "/private/var/folders/60/6w9_z9yd24n7nwv1cg23zz340000gn/T/pip-build-B7gSEL/xgboost/xgboost/libpath.py", line 45, in find_lib_path
    'List of candidates:\n' + ('\n'.join(dll_path)))
__builtin__.XGBoostLibraryNotFound: Cannot find XGBoost Libarary in the candicate path, did you install compilers and run build.sh in root path?
List of candidates:
/private/var/folders/60/6w9_z9yd24n7nwv1cg23zz340000gn/T/pip-build-B7gSEL/xgboost/xgboost/libxgboost.so
/private/var/folders/60/6w9_z9yd24n7nwv1cg23zz340000gn/T/pip-build-B7gSEL/xgboost/xgboost/../../lib/libxgboost.so
/private/var/folders/60/6w9_z9yd24n7nwv1cg23zz340000gn/T/pip-build-B7gSEL/xgboost/xgboost/./lib/libxgboost.so

----------------------------------------

El comando "python setup.py egg_info" falló con el código de error 1 en / private / var / folders / 60 / 6w9_z9yd24n7nwv1cg23zz340000gn / T / pip-build-B7gSEL / xgboost /

@cacoderquan Oye, no estoy seguro de por qué sigues viendo ese problema. ¿Has probado pip install xgboost --no-cache-dir .

Si aún ve el error, puede publicar el resultado de:

  • python --version
  • pip --version
  • brew info gcc@5

GitHub realmente tiene que obtener comentarios-tldrs, examiné esto durante unos 10 minutos, probando basura aleatoria en el camino hasta que finalmente vi el comentario con más de 100 me gusta y aprobaciones, etc. (¡y también funcionó para mí! ).

¿Existe una razón en particular por la que solo funciona con gcc@5 y no con lo que sea que las personas gcc tengan actualmente / normalmente (tengo gcc 7.2.0 en este momento)?

Hola chicos, no me queda ninguna esperanza, solo ustedes.
He logrado instalar xgboost con la ayuda de okomarov.

`` `msk-wire-darkstar-m: xgboost m.keremet $ cd paquete de python
msk-wire-darkstar-m: python-package m.keremet $ sudo python3 setup.py install
Contraseña:
Instale libxgboost desde: ['../lib/libxgboost.dylib']
ejecutando instalar
ejecutando bdist_egg
ejecutando egg_info
creando xgboost.egg-info
escribiendo xgboost.egg-info / PKG-INFO
escribir enlaces_dependencia en xgboost.egg-info / dependency_links.txt
escribir requisitos en xgboost.egg-info / require.txt
escribir nombres de nivel superior en xgboost.egg-info / top_level.txt
escribiendo el archivo de manifiesto 'xgboost.egg-info / SOURCES.txt'
leyendo el archivo de manifiesto 'xgboost.egg-info / SOURCES.txt'
leyendo la plantilla de manifiesto 'MANIFEST.in'
advertencia: no se encontraron archivos que coincidan con ' ' en el directorio 'xgboost / include'advertencia: no se encontraron archivos que coincidan con ' ' en el directorio 'xgboost / src'
advertencia: no se encontraron archivos que coincidan con ' ' en el directorio 'xgboost / make'advertencia: no se encontraron archivos que coincidan con ' ' en el directorio 'xgboost / rabit'
advertencia: no se encontraron archivos que coincidan con ' ' en el directorio 'xgboost / lib'advertencia: no se encontraron archivos que coincidan con ' ' en el directorio 'xgboost / dmlc-core'
advertencia: no se han encontrado archivos previamente incluidos que coincidan con ' .o' en ninguna parte de la distribuciónadvertencia: no se han encontrado archivos previamente incluidos que coincidan con ' .a' en ninguna parte de la distribución
advertencia: no se han encontrado archivos previamente incluidos que coincidan con ' .pyo' en ninguna parte de la distribuciónadvertencia: no se encontraron archivos previamente incluidos que coincidan con ' .pyc' en ninguna parte de la distribución
escribiendo el archivo de manifiesto 'xgboost.egg-info / SOURCES.txt'
instalar el código de la biblioteca para build / bdist.macosx-10.7-x86_64 / egg
ejecutando install_lib
ejecutando build_py
creando construir
creando build / lib
creando build / lib / xgboost
copiando xgboost / __ init__.py -> build / lib / xgboost
copiando xgboost / callback.py -> build / lib / xgboost
copiando xgboost / compat.py -> build / lib / xgboost
copiando xgboost / core.py -> build / lib / xgboost
copiando xgboost / libpath.py -> build / lib / xgboost
copiando xgboost / plotting.py -> build / lib / xgboost
copiando xgboost / rabit.py -> build / lib / xgboost
copiando xgboost / sklearn.py -> build / lib / xgboost
copiando xgboost / training.py -> build / lib / xgboost
copiando xgboost / VERSION -> build / lib / xgboost
copiando xgboost / build-python.sh -> build / lib / xgboost
creando build / bdist.macosx-10.7-x86_64
creando build / bdist.macosx-10.7-x86_64 / egg
creando build / bdist.macosx-10.7-x86_64 / egg / xgboost
copiando build / lib / xgboost / __ init__.py -> build / bdist.macosx-10.7-x86_64 / egg / xgboost
copiando build / lib / xgboost / build-python.sh -> build / bdist.macosx-10.7-x86_64 / egg / xgboost
copiando build / lib / xgboost / callback.py -> build / bdist.macosx-10.7-x86_64 / egg / xgboost
copiando build / lib / xgboost / compat.py -> build / bdist.macosx-10.7-x86_64 / egg / xgboost
copiando build / lib / xgboost / core.py -> build / bdist.macosx-10.7-x86_64 / egg / xgboost
copiando build / lib / xgboost / libpath.py -> build / bdist.macosx-10.7-x86_64 / egg / xgboost
copiando build / lib / xgboost / plotting.py -> build / bdist.macosx-10.7-x86_64 / egg / xgboost
copiando build / lib / xgboost / rabit.py -> build / bdist.macosx-10.7-x86_64 / egg / xgboost
copiando build / lib / xgboost / sklearn.py -> build / bdist.macosx-10.7-x86_64 / egg / xgboost
copiando build / lib / xgboost / training.py -> build / bdist.macosx-10.7-x86_64 / egg / xgboost
copiando build / lib / xgboost / VERSION -> build / bdist.macosx-10.7-x86_64 / egg / xgboost
compilación de bytes / bdist.macosx-10.7-x86_64 / egg / xgboost / __ init__.py a __init __. cpython-36.pyc
compilación de bytes / bdist.macosx-10.7-x86_64 / egg / xgboost / callback.py a callback.cpython-36.pyc
compilación de compilación de bytes / bdist.macosx-10.7-x86_64 / egg / xgboost / compat.py a compat.cpython-36.pyc
compilación de bytes / bdist.macosx-10.7-x86_64 / egg / xgboost / core.py a core.cpython-36.pyc
compilación de bytes / bdist.macosx-10.7-x86_64 / egg / xgboost / libpath.py a libpath.cpython-36.pyc
compilación de bytes / bdist.macosx-10.7-x86_64 / egg / xgboost / plotting.py a plotting.cpython-36.pyc
compilación de bytes / bdist.macosx-10.7-x86_64 / egg / xgboost / rabit.py a rabit.cpython-36.pyc
compilación de bytes / bdist.macosx-10.7-x86_64 / egg / xgboost / sklearn.py a sklearn.cpython-36.pyc
compilación de compilación de bytes / bdist.macosx-10.7-x86_64 / egg / xgboost / training.py a training.cpython-36.pyc
instalar los datos del paquete en build / bdist.macosx-10.7-x86_64 / egg
ejecutando install_data
copiando ../lib/libxgboost.dylib -> build / bdist.macosx-10.7-x86_64 / egg / xgboost
creando build / bdist.macosx-10.7-x86_64 / egg / EGG-INFO
copiando xgboost.egg-info / PKG-INFO -> build / bdist.macosx-10.7-x86_64 / egg / EGG-INFO
copiando xgboost.egg-info / SOURCES.txt -> build / bdist.macosx-10.7-x86_64 / egg / EGG-INFO
copiando xgboost.egg-info / dependency_links.txt -> build / bdist.macosx-10.7-x86_64 / egg / EGG-INFO
copiando xgboost.egg-info / not-zip-safe -> build / bdist.macosx-10.7-x86_64 / egg / EGG-INFO
copiando xgboost.egg-info / require.txt -> build / bdist.macosx-10.7-x86_64 / egg / EGG-INFO
copiando xgboost.egg-info / top_level.txt -> build / bdist.macosx-10.7-x86_64 / egg / EGG-INFO
creando dist
creando 'dist / xgboost-0.6-py3.6.egg' y agregando 'build / bdist.macosx-10.7-x86_64 / egg'
eliminando 'build / bdist.macosx-10.7-x86_64 / egg' (y todo lo que hay debajo)
Procesando xgboost-0.6-py3.6.egg
eliminando '/anaconda/lib/python3.6/site-packages/xgboost-0.6-py3.6.egg' (y todo lo que hay debajo)
creando /anaconda/lib/python3.6/site-packages/xgboost-0.6-py3.6.egg
Extrayendo xgboost-0.6-py3.6.egg a /anaconda/lib/python3.6/site-packages
xgboost 0.6 ya es la versión activa en easy-install.pth

/Anaconda/lib/python3.6/site-packages/xgboost-0.6-py3.6.egg instalado
Procesamiento de dependencias para xgboost == 0.6
Buscando scipy == 0.19.1
Mejor partido: scipy 0.19.1
Agregar scipy 0.19.1 al archivo easy-install.pth

Usando /anaconda/lib/python3.6/site-packages
Buscando numpy == 1.13.1
Mejor partido: numpy 1.13.1
Adición de numpy 1.13.1 al archivo easy-install.pth

Usando /anaconda/lib/python3.6/site-packages
Dependencias de procesamiento finalizadas para xgboost == 0.6
msk-wire-darkstar-m: paquete de python m.keremet $ python
Python 3.6.1 | Anaconda personalizado (x86_64) | (predeterminado, 11 de mayo de 2017, 13:04:09)
[GCC 4.2.1 Compatible con Apple LLVM 6.0 (clang-600.0.57)] en darwin
Escriba "ayuda", "derechos de autor", "créditos" o "licencia" para obtener más información.

importar xgboost

Seems to work since no errors. However, when I try to import xgboost in jupyter it shoots this error:
```---------------------------------------------------------------------------
OSError                                   Traceback (most recent call last)
<ipython-input-1-1feb2e63ea38> in <module>()
      3 import numpy as np
      4 import pandas as pd
----> 5 import xgboost as xgb

/anaconda/lib/python3.6/site-packages/xgboost/__init__.py in <module>()
      9 import os
     10 
---> 11 from .core import DMatrix, Booster
     12 from .training import train, cv
     13 from . import rabit                   # noqa

/anaconda/lib/python3.6/site-packages/xgboost/core.py in <module>()
    110 
    111 # load the XGBoost library globally
--> 112 _LIB = _load_lib()
    113 
    114 

/anaconda/lib/python3.6/site-packages/xgboost/core.py in _load_lib()
    104     if len(lib_path) == 0:
    105         return None
--> 106     lib = ctypes.cdll.LoadLibrary(lib_path[0])
    107     lib.XGBGetLastError.restype = ctypes.c_char_p
    108     return lib

/anaconda/lib/python3.6/ctypes/__init__.py in LoadLibrary(self, name)
    424 
    425     def LoadLibrary(self, name):
--> 426         return self._dlltype(name)
    427 
    428 cdll = LibraryLoader(CDLL)

/anaconda/lib/python3.6/ctypes/__init__.py in __init__(self, name, mode, handle, use_errno, use_last_error)
    346 
    347         if handle is None:
--> 348             self._handle = _dlopen(self._name, mode)
    349         else:
    350             self._handle = handle

OSError: dlopen(/anaconda/lib/python3.6/site-packages/xgboost/./lib/libxgboost.so, 6): Library not loaded: /usr/local/opt/gcc/lib/gcc/5/libgomp.1.dylib
  Referenced from: /anaconda/lib/python3.6/site-packages/xgboost/./lib/libxgboost.so
  Reason: image not found

No he encontrado mucho sobre este error. ¿Alguien se lo ha encontrado?

@cacoderquan Me encontré con un problema similar al tuyo y
Es posible que desee comprobarlo también, pero apuesto a que su problema ya se ha resuelto.
Para otros interesados, el gcc desvinculado puede deberse a problemas de permisos de Homebrew .

@JoeNyland muchas gracias por salvarme el día.

@cacoderquan Tengo problemas similares al intentar instalar pip xgboost
Mi versión de gcc es

gcc: stable 7.2.0 (bottled), HEAD
GNU compiler collection
https://gcc.gnu.org/
/usr/local/Cellar/gcc/7.2.0 (1,487 files, 285.2MB) *
  Built from source on 2017-12-01 at 17:22:53

He intentado instalar gcc muchas veces pero nada funciona. Cada vez que probé pip install xgboost aparecen los siguientes errores:

Collecting xgboost
  Using cached xgboost-0.6a2.tar.gz
    Complete output from command python setup.py egg_info:
    rm -f -rf build build_plugin lib bin *~ */*~ */*/*~ */*/*/*~ */*.o */*/*.o */*/*/*.o xgboost
    clang-omp++ -std=c++0x -Wall -O3 -msse2  -Wno-unknown-pragmas -funroll-loops -Iinclude   -Idmlc-core/include -Irabit/include -fPIC -fopenmp -MM -MT build/learner.o src/learner.cc >build/learner.d
    /bin/sh: clang-omp++: command not found
    make: *** [build/learner.o] Error 127
    make: *** Waiting for unfinished jobs....
    clang-omp++ -std=c++0x -Wall -O3 -msse2  -Wno-unknown-pragmas -funroll-loops -Iinclude   -Idmlc-core/include -Irabit/include -fPIC -fopenmp -MM -MT build/logging.o src/logging.cc >build/logging.d
    /bin/sh: clang-omp++: command not found
    make: *** [build/logging.o] Error 127
    -----------------------------
    Building multi-thread xgboost failed
    Start to build single-thread xgboost
    rm -f -rf build build_plugin lib bin *~ */*~ */*/*~ */*/*/*~ */*.o */*/*.o */*/*/*.o xgboost
    clang-omp++ -std=c++0x -Wall -O3 -msse2  -Wno-unknown-pragmas -funroll-loops -Iinclude   -Idmlc-core/include -Irabit/include -fPIC -fopenmp -MM -MT build/learner.o src/learner.cc >build/learner.d
    /bin/sh: clang-omp++: command not found
    make: *** [build/learner.o] Error 127
    make: *** Waiting for unfinished jobs....
    clang-omp++ -std=c++0x -Wall -O3 -msse2  -Wno-unknown-pragmas -funroll-loops -Iinclude   -Idmlc-core/include -Irabit/include -fPIC -fopenmp -MM -MT build/logging.o src/logging.cc >build/logging.d
    /bin/sh: clang-omp++: command not found
    make: *** [build/logging.o] Error 127
    Successfully build single-thread xgboost
    If you want multi-threaded version
    See additional instructions in doc/build.md
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/private/var/folders/19/1pcpc2r57_g6gjl_2v5_4kgc0000gn/T/pip-build-q8wmsvem/xgboost/setup.py", line 29, in <module>
        LIB_PATH = libpath['find_lib_path']()
      File "/private/var/folders/19/1pcpc2r57_g6gjl_2v5_4kgc0000gn/T/pip-build-q8wmsvem/xgboost/xgboost/libpath.py", line 45, in find_lib_path
        'List of candidates:\n' + ('\n'.join(dll_path)))
    XGBoostLibraryNotFound: Cannot find XGBoost Libarary in the candicate path, did you install compilers and run build.sh in root path?
    List of candidates:
    /private/var/folders/19/1pcpc2r57_g6gjl_2v5_4kgc0000gn/T/pip-build-q8wmsvem/xgboost/xgboost/libxgboost.so
    /private/var/folders/19/1pcpc2r57_g6gjl_2v5_4kgc0000gn/T/pip-build-q8wmsvem/xgboost/xgboost/../../lib/libxgboost.so
    /private/var/folders/19/1pcpc2r57_g6gjl_2v5_4kgc0000gn/T/pip-build-q8wmsvem/xgboost/xgboost/./lib/libxgboost.so

    ----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in /private/var/folders/19/1pcpc2r57_g6gjl_2v5_4kgc0000gn/T/pip-build-q8wmsvem/xgboost/

AYUDA PLZ

@ schen57 Está documentado en varios lugares que el método de instalación pip install xgboost solo funciona con GCC 5.

brew install gcc@5 y vuelva a intentar la instalación.

https://github.com/dmlc/xgboost/blob/master/python-package/README.rst
https://xgboost.readthedocs.io/en/latest/build.html#building -on-macos
https://github.com/dmlc/xgboost/issues/1501#issuecomment -292209578

@alonsopg @phunterlau Me pregunto si este problema se puede cerrar ahora. Se está volviendo bastante grande y fuera de control, ya que hay una solución al problema original que informó el OP. La solución a largo plazo para esto es permitir que el método pip install xgboost funcione con las versiones actualizadas de GCC, pero creo que esto se maneja mejor en un problema separado centrado específicamente en eso. ¿Qué piensas?

Sí, estoy de acuerdo. La instalación de pip se realizó para la versión estable dorada de xgboost, por lo que se eligió una versión estable de gcc. La instalación de pip pronto usará la versión oficial y obtendrá el binario precompilado según lo planeado.

Aunque instalé gcc 5 (con brew), la compilación xgboost todavía usaba la versión LLVM de gcc (7 en mi caso). Para que la compilación use gcc 5, lo hice:

brew install gcc<strong i="6">@5</strong>
env CC=gcc-5 CXX=g++-5 pip install xgboost

y esto funcionó para mí.

Lo siguiente funcionó para mí para obtener la versión más nueva de XGBoost en Anaconda sin dolor:

  • instalar brew (si aún no está allí)
  • sigue las instrucciones de @davidread : (¡ ¡ ¡gracias
brew install gcc<strong i="12">@5</strong>
env CC=gcc-5 CXX=g++-5 pip install xgboost

Gracias @davidread, tu solución funcionó después de luchar durante horas. ¡¡¡Bendición!!!

Además de la solución de @davidread , si la instalación de pip no funciona para usted, pruebe la segunda línea como:
env CC=gcc-5 CXX=g++-5 pip3 install xgboost
¡Esto debería funcionar!

Gracias @davidread. Después de luchar durante horas con gcc-7 y la opción --without-multilib (que por cierto se ha desactivado en gcc), luché un poco más con gcc-5 y pip hasta que finalmente encontré tu solución. Gracias de nuevo.

@cacoderquan Tuve el mismo problema. No sé si ha solucionado esto todavía (no leí todos los comentarios) pero pude instalar ejecutando primero el archivo build.sh en la terminal y luego ejecutando setup.py en el paquete python carpeta.

Gracias por toda la ayuda anterior, y especialmente a @davidread , su método también funcionó para mí, ¿cómo nos aseguramos de que tengamos subprocesos múltiples? Gracias de antemano chicos

@okomarov Su solución para instalar xgboost funcionó para mí. ¡Gracias un montón!

@davidread ¡ Muchas gracias, tu método funcionó para mí!

¿Fue útil esta página
0 / 5 - 0 calificaciones