Xgboost: PyPI(pip)安装(最新0.6版本)的讨论与故障排除

创建于 2016-08-09  ·  43评论  ·  资料来源: dmlc/xgboost

经过一些良好的尝试 (#1445),PyPI xgboost安装更新为最新代码https://pypi.python.org/pypi/xgboost/,Mac/Linux用户可以通过pip install xgboost安装它AnacondaMiniconda python 版本以便更容易地解析numpy scipyscikit-learn依赖关系,并更新pip ( setuptools ) 到最新版本。

在输入pip install xgboost并愉快等待之前,请按照此处复制的 PyPI 页面上的说明进行操作:

  • 由于此包包含 C++ 源代码,因此 pip 需要系统中的 C++ 编译器来即时编译源代码。 请针对每个支持的平台遵循以下说明。
  • Mac OS X 用户注意:请先从brew安装gccbrew tap homebrew/versions; brew install gcc --without-multilib
  • Linux 用户注意:请先通过sudo apt-get install build-essential安装gcc或使用系统对应的包管理器安装。
  • Windows 用户注意:此pip安装可能不适用于某些 Windows 环境,并且可能会导致意外错误。 Windows 上的 pip 安装目前已禁用以进行进一步调查,请从 Github 安装。

如果一切正常,在听到 CPU 风扇噪音几分钟后(正在编译),您应该会看到如下内容:
screen shot 2016-08-09 at 2 59 16 am

这个包在 Mac OS X 10.10、ubuntu 14/16 和 CentOS 7 上测试没有问题。 请在此处报告任何问题或安装困难,并提供详细信息。 要获得调试输出,请使用pip install -v xgboost 。 谢谢。

最有用的评论

@phunterlau谢谢! 我在 OS X(El Capitan 10.11.5,Anaconda Python 3.5)上构建它并且它工作正常。 还安装了gcc5 brew install gcc5 --without-multilib (注释和警告很少,但我可以从python导入xgboost)

所有43条评论

1、gcc-6.1.0_1已经安装
2、命令“python setup.py egg_info”在/private/var/folders/n2/q3c3s28n7ybbmt2glbsb4s5h0000gn/T/pip-build-Yu8pqZ/xgboost中出现错误代码1失败

  1. CentOS Linux 发布 7.0.1406 (Core)(x64)
  2. Linux 版本 3.10.0-123.8.1.el7.x86_64 ([email protected]) (gcc version 4.8.2 20140120 (Red Hat 4.8.2-16) (GCC) ) #1 SMP Mon Sep 22 19:06:58 UTC 2014
  3. 命令“python setup.py egg_info”在 /tmp/pip-build-DzjokQ/xgboost/ 中失败,错误代码为 1

@hemoely你能在某个地方提供完整的日志吗,例如 Dropbox? PS 你也有g++吧?
@byronliwei你的系统是什么,Ubuntu、Mac 还是 CentOS? 另外,你能在某处提供完整的日志吗,例如 Dropbox?

马克,谢谢

收集 xgboost
使用缓存的 xgboost-0.6a2.tar.gz
命令 python setup.py egg_info 的完整输出:
rm -f -rf build build_plugin lib bin _~ /_~ _/_/_~ */_/_/_~ _/_.o _/_/_.o */_/_/_.o xgboostclang-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++: 命令未找到clang-omp++ -std=c++0x -Wall -O3 -msse2 -Wno-unknown-pragmas -funroll-loops -Iinclude -Idmlc-core/include -Irabit/include -fPIC -fopenmp -MM -MT 构建/记录。 o src/logging.cc >build/logging.dmake: * * [build/learner.o] 错误 127
make: ** 等待未完成的工作..../bin/sh: clang-omp++: 命令未找到make: * * [build/logging.o] 错误 127
-----------------------------
构建多线程 xgboost 失败
开始搭建单线程xgboost
rm -f -rf build build_plugin lib bin _~ /_~ _/_/_~ */_/_/_~ _/_.o _/_/_.o */_/_/_.o xgboostclang-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++: 命令未找到make: * * [build/learner.o] 错误 127
make: ** 等待未完成的工作....clang-omp++ -std=c++0x -Wall -O3 -msse2 -Wno-unknown-pragmas -funroll-loops -Iinclude -Idmlc-core/include -Irabit/include -fPIC -fopenmp -MM -MT 构建/记录。 o src/logging.cc >build/logging.d/bin/sh: clang-omp++: 命令未找到make: * * [build/logging.o] 错误 127
成功构建单线程xgboost
如果你想要多线程版本
请参阅 doc/build.md 中的其他说明
回溯(最近一次调用最后一次):
文件 ”",第 1 行,在
文件“/private/var/folders/n2/q3c3s28n7ybbmt2glbsb4s5h0000gn/T/pip-build-_5FFp6/xgboost/setup.py”,第29行,在
LIB_PATH = libpath 'find_lib_path'
文件“/private/var/folders/n2/q3c3s28n7ybbmt2glbsb4s5h0000gn/T/pip-build-_5FFp6/xgboost/xgboost/libpath.py”,第45行,在find_lib_path
'c 候选列表:n ' + ('n'.join(dll_path)))
__builtin__.XGBoostLibraryNotFound:在候选路径中找不到 XGBoost 库,您是否安装了编译器并在根路径中运行了 build.sh?
候选人名单:
/private/var/folders/n2/q3c3s28n7ybbmt2glbsb4s5h0000gn/T/pip-build-_5FFp6/xgboost/xgboost/libxgboost.so
/private/var/folders/n2/q3c3s28n7ybbmt2glbsb4s5h0000gn/T/pip-build-_5FFp6/xgboost/xgboost/../../lib/libxgboost.so
/private/var/folders/n2/q3c3s28n7ybbmt2glbsb4s5h0000gn/T/pip-build-_5FFp6/xgboost/xgboost/./lib/libxgboost.so


命令“python setup.py egg_info”失败,错误代码为 1 /private/var/folders/n2/q3c3s28n7ybbmt2glbsb4s5h0000gn/T/pip-build-_5FFp6/xgboost/

@byronliwei似乎您没有gcc-5clang-omp ,因此编译失败。 请安装brew任何一个。

@byronliwei brew 安装 clang-omp

我希望这是解决以下问题的正确位置:(如果不是,请告诉我在哪里发布此问题)
我有 OSX El Capitan 10.11.5,Anaconda Python 3.5。
我已经用brew install gcc --without-multilib多次安装和卸载
brew 安装 gcc6 而 xgboost 需要 gcc5。 这是我得到的确切错误:

Python 3.5.2 |Anaconda 4.1.1 (x86_64)| (default, Jul  2 2016, 17:52:12) 
[GCC 4.2.1 Compatible Apple LLVM 4.2 (clang-425.0.28)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import xgboost
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "//anaconda/lib/python3.5/site-packages/xgboost/__init__.py", line 11, in <module>
    from .core import DMatrix, Booster
  File "//anaconda/lib/python3.5/site-packages/xgboost/core.py", line 112, in <module>
    _LIB = _load_lib()
  File "//anaconda/lib/python3.5/site-packages/xgboost/core.py", line 106, in _load_lib
    lib = ctypes.cdll.LoadLibrary(lib_path[0])
  File "//anaconda/lib/python3.5/ctypes/__init__.py", line 425, in LoadLibrary
    return self._dlltype(name)
  File "//anaconda/lib/python3.5/ctypes/__init__.py", line 347, in __init__
    self._handle = _dlopen(self._name, mode)
OSError: dlopen(//anaconda/lib/python3.5/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.5/site-packages/xgboost/./lib/libxgboost.so
  Reason: image not found

任何帮助真的很感激。 谢谢!

Mac 中的 Makefile 现在需要 gcc-5,也许我们应该问 gcc-6?

你好,

当我尝试安装 xgboost 时出现以下错误。
你知道为什么我得到以下 eroor 吗?
我正在使用 Mac 并且我运行了“brew tap homebrew/versions; brew install gcc --without-multilib”
提前致谢!

Collecting xgboost
  1 location(s) to search for versions of xgboost:
  * https://pypi.python.org/simple/xgboost/
  Getting page https://pypi.python.org/simple/xgboost/
  Looking up "https://pypi.python.org/simple/xgboost/" in the cache
  Current age based on date: 39
  Freshness lifetime from max-age: 600
  Freshness lifetime from request max-age: 600
  The response is "fresh", returning cached response
  600 > 39
  Analyzing links from page https://pypi.python.org/simple/xgboost/
    Found link https://pypi.python.org/packages/16/ac/dd16a3206de8658a5e0076174941ae642ee10c958c53a35a7500993ca936/xgboost-0.4a15.tar.gz#md5=bcab760af5ac7f20e88bde7426423565 (from https://pypi.python.org/simple/xgboost/), version: 0.4a15
    Found link https://pypi.python.org/packages/20/95/c089ee1be6574ed8167f0bfbd5f78c1adc7b1403ba3977d5ae98003882af/xgboost-0.4a22.tar.gz#md5=cb858cf85fe9f4263e9b523c4900c3f9 (from https://pypi.python.org/simple/xgboost/), version: 0.4a22
    Found link https://pypi.python.org/packages/21/5c/a221a2ea13ee14acd1ddc59e213fc788ebd2e7550249adbb12934367aa58/xgboost-0.4a28.tar.gz#md5=fd8ffedd172b5cb917483df76e6efe7a (from https://pypi.python.org/simple/xgboost/), version: 0.4a28
    Found link https://pypi.python.org/packages/34/85/456a1a8c762f646671043e446a59efbce02b5f408f522c4ef8793e860c5e/xgboost-0.6a2.tar.gz#md5=c486211efa29b95771c74f5d8701ca4a (from https://pypi.python.org/simple/xgboost/), version: 0.6a2
    Found link https://pypi.python.org/packages/4a/cc/9556005199e9f550c97bc1e81bff64431c952a9968f78651ba48b9687243/xgboost-0.4a26.tar.gz#md5=e5b1f7c477e5238e7b491153449b33b2 (from https://pypi.python.org/simple/xgboost/), version: 0.4a26
    Found link https://pypi.python.org/packages/4f/70/a236e5170ab7f72cf49554400d841a2046d7c712e2cf6524a435612469a4/xgboost-0.4a25.tar.gz#md5=bf3d633fa88ae7923794dd5da0600388 (from https://pypi.python.org/simple/xgboost/), version: 0.4a25
    Found link https://pypi.python.org/packages/58/85/94517fb4933fbc66c87df3f0166c48e421b1d3d082d8d0b29960f4e3b643/xgboost-0.4a30.tar.gz#md5=5f4e812ba3a1faa85514993e56c1b4b8 (from https://pypi.python.org/simple/xgboost/), version: 0.4a30
    Found link https://pypi.python.org/packages/65/4e/05d8fe3dd568cf57fe76edb3018d2a7d8bc57611b8fef6dd2e4cfb6c794a/xgboost-0.4a12.tar.gz#md5=4d768e034a28590497bb79279f036946 (from https://pypi.python.org/simple/xgboost/), version: 0.4a12
    Found link https://pypi.python.org/packages/6c/d7/b7e5027c95f1bd6676062af56bfbd53eee567f8384a4aa582330360a3989/xgboost-0.4a14.tar.gz#md5=a7c648933a47ae31f869b5c030c17c69 (from https://pypi.python.org/simple/xgboost/), version: 0.4a14
    Found link https://pypi.python.org/packages/71/aa/206c86bc4be36832f8c73491d972a6c1bcdcd2717f1fb04d0bad0c61ae35/xgboost-0.4a23.tar.gz#md5=4f8a17ca86995ed51fc1a424618b94db (from https://pypi.python.org/simple/xgboost/), version: 0.4a23
    Found link https://pypi.python.org/packages/7a/b4/fa38771ebd221dd83aa37864157daebb7d8446fd6c3614dc6f56932f9643/xgboost-0.4a19.tar.gz#md5=413d55d0534447e77064dbd1ad1ccb48 (from https://pypi.python.org/simple/xgboost/), version: 0.4a19
    Found link https://pypi.python.org/packages/7e/16/d47c4ba06a5b4d364a7323013e040f3f21d50db2b50cfc962bad674b873f/xgboost-0.4a29.tar.gz#md5=4bf4eb1898cfc28bbd3b43e19c69fdf5 (from https://pypi.python.org/simple/xgboost/), version: 0.4a29
    Found link https://pypi.python.org/packages/7f/36/e55ba853acc85d7ebaddec498c72c768bb2700415c5a2ea967a0b8dc8957/xgboost-0.6a1.tar.gz#md5=be2b2f4c6f439960da3f495da39b45e2 (from https://pypi.python.org/simple/xgboost/), version: 0.6a1
    Found link https://pypi.python.org/packages/92/37/d7b963a6b307941e86758bd3330d62ace0c83eaf60fbacf8486a6e8d72da/xgboost-0.4a21.tar.gz#md5=45284beb53f5087e73dcf55ff1c5a026 (from https://pypi.python.org/simple/xgboost/), version: 0.4a21
    Found link https://pypi.python.org/packages/97/7b/344e3b849bb041dca7c6cab66be8007f64cdceebcb41cda9f1e10bc651d9/xgboost-0.4a13.tar.gz#md5=5f53d51e4305c679192b3cabda2b0dbe (from https://pypi.python.org/simple/xgboost/), version: 0.4a13
    Found link https://pypi.python.org/packages/b3/ec/110721470306e8c9199c46217cfff5c32ad1e7e8a2dabefa2603d79b32bc/xgboost-0.4a18.tar.gz#md5=9f70ca05843afb1d50522530f140d640 (from https://pypi.python.org/simple/xgboost/), version: 0.4a18
    Found link https://pypi.python.org/packages/ca/58/2c3265f4824a8c3a33784e7236adb7808d3c647cfe962045fcc53d10d570/xgboost-0.4a24.tar.gz#md5=2bf0edfe62ddb3502c4f48df3428a7e0 (from https://pypi.python.org/simple/xgboost/), version: 0.4a24
    Found link https://pypi.python.org/packages/cd/4d/9a9341759aa32358b794db9e21cd0825e9107e2fc7a641e285eb1b0b69b8/xgboost-0.4a20.tar.gz#md5=88721733e7c7026fa2e95de7165d4b86 (from https://pypi.python.org/simple/xgboost/), version: 0.4a20
    Found link https://pypi.python.org/packages/ec/c1/93d27b079b5edd76bc93d6cefcf82e667942bb576a5f764742401febe161/xgboost-0.4a27.tar.gz#md5=cd091569f651c3c625c4a299cfc72e74 (from https://pypi.python.org/simple/xgboost/), version: 0.4a27
  Using version 0.6a2 (newest of versions: 0.4a12, 0.4a13, 0.4a14, 0.4a15, 0.4a18, 0.4a19, 0.4a20, 0.4a21, 0.4a22, 0.4a23, 0.4a24, 0.4a25, 0.4a26, 0.4a27, 0.4a28, 0.4a29, 0.4a30, 0.6a1, 0.6a2)
  Looking up "https://pypi.python.org/packages/34/85/456a1a8c762f646671043e446a59efbce02b5f408f522c4ef8793e860c5e/xgboost-0.6a2.tar.gz" in the cache
  Current age based on date: 12635
  Freshness lifetime from max-age: 31557600
  The response is "fresh", returning cached response
  31557600 > 12635
  Using cached xgboost-0.6a2.tar.gz
  Downloading from URL https://pypi.python.org/packages/34/85/456a1a8c762f646671043e446a59efbce02b5f408f522c4ef8793e860c5e/xgboost-0.6a2.tar.gz#md5=c486211efa29b95771c74f5d8701ca4a (from https://pypi.python.org/simple/xgboost/)
  Running setup.py (path:/private/var/folders/qb/g_6lvtb15_b_60g185fxj5v40000gn/T/pip-build-dzdymwlh/xgboost/setup.py) egg_info for package xgboost
    Running 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
    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
    make: *** [build/learner.o] Error 127
    make: *** Waiting for unfinished jobs....
    /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/qb/g_6lvtb15_b_60g185fxj5v40000gn/T/pip-build-dzdymwlh/xgboost/setup.py", line 29, in <module>
        LIB_PATH = libpath['find_lib_path']()
      File "/private/var/folders/qb/g_6lvtb15_b_60g185fxj5v40000gn/T/pip-build-dzdymwlh/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/qb/g_6lvtb15_b_60g185fxj5v40000gn/T/pip-build-dzdymwlh/xgboost/xgboost/libxgboost.so
    /private/var/folders/qb/g_6lvtb15_b_60g185fxj5v40000gn/T/pip-build-dzdymwlh/xgboost/xgboost/../../lib/libxgboost.so
    /private/var/folders/qb/g_6lvtb15_b_60g185fxj5v40000gn/T/pip-build-dzdymwlh/xgboost/xgboost/./lib/libxgboost.so
Cleaning up...
Command "python setup.py egg_info" failed with error code 1 in /private/var/folders/qb/g_6lvtb15_b_60g185fxj5v40000gn/T/pip-build-dzdymwlh/xgboost/
Exception information:
Traceback (most recent call last):
  File "//anaconda/lib/python3.5/site-packages/pip/basecommand.py", line 215, in main
    status = self.run(options, args)
  File "//anaconda/lib/python3.5/site-packages/pip/commands/install.py", line 310, in run
    wb.build(autobuilding=True)
  File "//anaconda/lib/python3.5/site-packages/pip/wheel.py", line 750, in build
    self.requirement_set.prepare_files(self.finder)
  File "//anaconda/lib/python3.5/site-packages/pip/req/req_set.py", line 370, in prepare_files
    ignore_dependencies=self.ignore_dependencies))
  File "//anaconda/lib/python3.5/site-packages/pip/req/req_set.py", line 601, in _prepare_file
    abstract_dist.prep_for_dist()
  File "//anaconda/lib/python3.5/site-packages/pip/req/req_set.py", line 127, in prep_for_dist
    self.req_to_install.run_egg_info()
  File "//anaconda/lib/python3.5/site-packages/pip/req/req_install.py", line 425, in run_egg_info
    command_desc='python setup.py egg_info')
  File "//anaconda/lib/python3.5/site-packages/pip/utils/__init__.py", line 718, in call_subprocess
    % (command_desc, proc.returncode, cwd))
pip.exceptions.InstallationError: Command "python setup.py egg_info" failed with error code 1 in /private/var/folders/qb/g_6lvtb15_b_60g185fxj5v40000gn/T/pip-build-dzdymwlh/xgboost/

@liuxu1104请从brew安装gcc-5clang-omp brew 。 错误日志显示您没有这些编译器。

@liuxu1104好像你有gcc-6而不是gcc-5 。 也许我们应该在 PyPI 中为 Mac 要求gcc-6clang-omp ,并丢弃gcc-5 ? 同时,您始终可以从 github 安装,并通过将CCCXX更改为您的编译器来编辑make/config.mk

@phunterlau谢谢! 我在 OS X(El Capitan 10.11.5,Anaconda Python 3.5)上构建它并且它工作正常。 还安装了gcc5 brew install gcc5 --without-multilib (注释和警告很少,但我可以从python导入xgboost)

@phunterlau解决了!
谢谢!

值得注意的是, clang-omp已从 brew (https://github.com/Homebrew/homebrew-core/commit/c57e307) 中删除,因此任何使用更新的 OS X + homebrew 的人都会收到“未找到”错误.

@davechallis那么,我们是否应该删除对未来的clang-omp支持?

@phunterlau看起来 opemmp 功能在当前版本的 LLVM 中可用,因此使用它应该可以工作(但我无法在旧版本的 Mac OS X 上轻松测试它,因此不确定自制软件是否具有相同的频道/软件可供他们使用)。

brew install llvm提供/usr/local/opt/llvm/bin/clang/usr/local/opt/llvm/bin/clang++ ,两者都支持-fopenmp标志。

更改 xgboost 然后在 mac os x 上使用这些编译器(或 gcc-6)对我有用。

我已经安装了 gcc-6,但仍然无法安装 xgboost 并出现以下错误,
所以我按照你的建议从 brew 安装 clang-omp 但它仍然失败。
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/m3/yqpf5xhs1rxbzyh_hz4lhx040000gn/T/pip-build-TbS11L/xgboost/setup.py", line 29, in <module>
LIB_PATH = libpath['find_lib_path']()
File "/private/var/folders/m3/yqpf5xhs1rxbzyh_hz4lhx040000gn/T/pip-build-TbS11L/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/m3/yqpf5xhs1rxbzyh_hz4lhx040000gn/T/pip-build-TbS11L/xgboost/xgboost/libxgboost.so
/private/var/folders/m3/yqpf5xhs1rxbzyh_hz4lhx040000gn/T/pip-build-TbS11L/xgboost/xgboost/../../lib/libxgboost.so
/private/var/folders/m3/yqpf5xhs1rxbzyh_hz4lhx040000gn/T/pip-build-TbS11L/xgboost/xgboost/./lib/libxgboost.so
----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in /private/var/folders/m3/yqpf5xhs1rxbzyh_hz4lhx040000gn/T/pip-build-TbS11L/xgboost/

然后我安装了 clang-omp 但仍然失败。

$ brew install clang-omp
错误:没有名称为“clang-omp”的可用公式
==> 正在搜索类似命名的公式...
错误:未找到类似命名的公式。
==> 正在搜索水龙头...
错误:未定义的方法[]' for nil:NilClass Please report this bug: https://git.io/brew-troubleshooting /usr/local/Library/Homebrew/vendor/okjson.rb:202:in eat'
/usr/local/Library/Homebrew/vendor/okjson.rb:165:in pairparse' /usr/local/Library/Homebrew/vendor/okjson.rb:148:in块在 objparse'
/usr/local/Library/Homebrew/vendor/okjson.rb:145:in loop' /usr/local/Library/Homebrew/vendor/okjson.rb:145:in objparse'
/usr/local/Library/Homebrew/vendor/okjson.rb:119:in valparse' /usr/local/Library/Homebrew/vendor/okjson.rb:191:in块在 arrparse'
/usr/local/Library/Homebrew/vendor/okjson.rb:188:in loop' /usr/local/Library/Homebrew/vendor/okjson.rb:188:in arrparse'
/usr/local/Library/Homebrew/vendor/okjson.rb:120:in valparse' /usr/local/Library/Homebrew/vendor/okjson.rb:166:in pairparse'
/usr/local/Library/Homebrew/vendor/okjson.rb:148:in block in objparse' /usr/local/Library/Homebrew/vendor/okjson.rb:145:in循环'
/usr/local/Library/Homebrew/vendor/okjson.rb:145:in objparse' /usr/local/Library/Homebrew/vendor/okjson.rb:102:in textparse'
/usr/local/Library/Homebrew/vendor/okjson.rb:46:in decode' /usr/local/Library/Homebrew/utils/json.rb:10:in load'
/usr/local/Library/Homebrew/utils/github.rb:176:in open' /usr/local/Library/Homebrew/cmd/search.rb:133:in块 in search_tap'
/usr/local/Library/Homebrew/cmd/search.rb:151:in yield' /usr/local/Library/Homebrew/cmd/search.rb:151:in search_tap'
/usr/local/Library/Homebrew/cmd/search.rb:117:in block (2 levels) in search_taps'

我接下来该怎么做? 请帮忙。 谢谢!

@rayquazasnow似乎您有gcc-6而当前的pip install xgboost需要gcc-5clang-omp++因为brew提供了gcc-5那时候。 同时,您可以从 github 或brew install --with-clang llvm安装clang++ 。 我会找到一个稳定的版本并将PyPI更新gcc-6以及其他修复程序。

@phunterlau感谢您的建议。 我通过brew install --with-clang llvm成功安装了 llvm。 但是,pip install xgboost 仍然无法运行(与上面显示的错误代码相同)。 我应该卸载 gcc-6 并安装 gcc-5 吗?

brew install gcc --without-multilib
Error: gcc-6.1.0_1 already installed
To install this version, first 'brew unlink gcc'

@rayquazasnow请在降级 gcc 之前发布来自pip的新错误消息。 或者,从 github 安装。

@phunterlau这是我安装 llvm 后的新错误。 仍然显示消息“/bin/sh: clang-omp++: command not found”

$ pip 安装 xgboost
收集 xgboost
连接被 'ReadTimeoutError("HTTPSConnectionPool(host='pypi.python.org', port=443): 读取超时后重试 (Retry(total=4, connect=None, read=None, redirect=None))。 (读取超时=15)",)': /simple/xgboost/
使用缓存的 xgboost-0.6a2.tar.gz
命令 python setup.py egg_info 的完整输出:
rm -f -rf build build_plugin lib bin _~ /_~ _/_/_~ */_/_/_~ _/_.o _/_/_.o */_/_/_.o xgboostclang-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++: 命令未找到clang-omp++ -std=c++0x -Wall -O3 -msse2 -Wno-unknown-pragmas -funroll-loops -Iinclude -Idmlc-core/include -Irabit/include -fPIC -fopenmp -MM -MT 构建/记录。 o src/logging.cc >build/logging.dmake: * [build/learner.o] 错误 127make: * * 等待未完成的工作....
/bin/sh: clang-omp++: 命令未找到
make: ** [build/logging.o] 错误 127-----------------------------构建多线程 xgboost 失败开始搭建单线程xgboostrm -f -rf build build_plugin lib bin _~ */_~ _/_/_~ */_/_/_~ _/_.o _/_/_.o */_/_/_.o xgboostclang-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++: 命令未找到make: * * [build/learner.o] 错误 127
make: ** 等待未完成的工作....clang-omp++ -std=c++0x -Wall -O3 -msse2 -Wno-unknown-pragmas -funroll-loops -Iinclude -Idmlc-core/include -Irabit/include -fPIC -fopenmp -MM -MT 构建/记录。 o src/logging.cc >build/logging.d/bin/sh: clang-omp++: 命令未找到make: * * [build/logging.o] 错误 127
成功构建单线程xgboost
如果你想要多线程版本
请参阅 doc/build.md 中的其他说明
回溯(最近一次调用最后一次):
文件 ”",第 1 行,在
文件“/private/var/folders/m3/yqpf5xhs1rxbzyh_hz4lhx040000gn/T/pip-build-cEIF0a/xgboost/setup.py”,第29行,在
LIB_PATH = libpath 'find_lib_path'
文件“/private/var/folders/m3/yqpf5xhs1rxbzyh_hz4lhx040000gn/T/pip-build-cEIF0a/xgboost/xgboost/libpath.py”,第45行,在find_lib_path
'c 候选列表:n ' + ('n'.join(dll_path)))
**builtin.XGBoostLibraryNotFound:在候选路径中找不到 XGBoost 库,您是否安装了编译器并在根路径中运行了 build.sh?
候选人名单:
/private/var/folders/m3/yqpf5xhs1rxbzyh_hz4lhx040000gn/T/pip-build-cEIF0a/xgboost/xgboost/libxgboost.so
/private/var/folders/m3/yqpf5xhs1rxbzyh_hz4lhx040000gn/T/pip-build-cEIF0a/xgboost/xgboost/../../lib/libxgboost.so
/private/var/folders/m3/yqpf5xhs1rxbzyh_hz4lhx040000gn/T/pip-build-cEIF0a/xgboost/xgboost/./lib/libxgboost.so


命令“python setup.py egg_info”失败,错误代码为 1 /private/var/folders/m3/yqpf5xhs1rxbzyh_hz4lhx040000gn/T/pip-build-cEIF0a/xgboost/

我更新自制软件后,错误代码的输出如下所示
$ pip 安装 xgboost
收集 xgboost
在连接被“NewConnectionError(”: 建立新连接失败: [Errno 65] 没有到主机的路由',)': /simple/xgboost/
'NewConnectionError(') 连接中断后重试 (Retry(total=3, connect=None, read=None, redirect=None)): 建立新连接失败: [Errno 65] 没有到主机的路由',)': /simple/xgboost/
'NewConnectionError(') 连接中断后重试 (Retry(total=2, connect=None, read=None, redirect=None)): 建立新连接失败: [Errno 65] 没有到主机的路由',)': /simple/xgboost/
连接被“NewConnectionError(”: 建立新连接失败: [Errno 65] 没有到主机的路由',)': /simple/xgboost/
'NewConnectionError(') 连接中断后重试 (Retry(total=0, connect=None, read=None, redirect=None)): 建立新连接失败: [Errno 65] 没有到主机的路由',)': /simple/xgboost/
找不到满足 xgboost 要求的版本(来自版本:)
找不到 xgboost 的匹配分布

@rayquazasnow你能试试which clang-omp++看看结果吗? 它应该是这样的,或者安装不起作用:

$ which clang-omp++
/usr/local/bin/clang-omp++

@phunterlau没有对which clang-omp++回应。 好像安装没有成功。
$ brew install --with-clang llvm
/usr/local/bin/brew: line 28: /usr/local/Library/Homebrew/brew.sh: 没有那个文件或目录
$ brew install clang++
/usr/local/bin/brew: line 28: /usr/local/Library/Homebrew/brew.sh: 没有那个文件或目录

$ 叮当声
/usr/bin/clang
$ which llvm
$ which clang++
/usr/bin/clang++

@rayquazasnow您可能想首先安装或重新安装brew ,看起来您的brew安装已损坏。

我做了brew install gcc6 --without-multilib 。 这让它滚动。

我不太明白为什么 Mac 需要 clang-omp 或 gcc。
日志说单线程版本已经建好了,但是还是找不到库。

它说:

Successfully build single-thread xgboost
If you want multi-threaded version
See additional instructions in doc/build.md

但最后给出:

__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/m3/yqpf5xhs1rxbzyh_hz4lhx040000gn/T/pip-build-cEIF0a/xgboost/xgboost/libxgboost.so
/private/var/folders/m3/yqpf5xhs1rxbzyh_hz4lhx040000gn/T/pip-build-cEIF0a/xgboost/xgboost/../../lib/libxgboost.so
/private/var/folders/m3/yqpf5xhs1rxbzyh_hz4lhx040000gn/T/pip-build-cEIF0a/xgboost/xgboost/./lib/libxgboost.so

所以,在我看来,问题是另一回事。 它应该使用单线程版本安装 xgboost。

我可以在没有 gcc 或 clang-omp++ 的情况下从 git 安装 xgboost ......只使用bash build.sh

@AbdealiJK如果没有gccclang-omp ,脚本会从Xcode调用默认的clang Xcode ,它只支持单线程,失去了XGBoost的优势

@phunterlau虽然我完全同意这一点,但我不明白为什么会发生安装失败。 我不明白为什么错误会是:

__builtin__.XGBoostLibraryNotFound:在候选路径中找不到 XGBoost 库,您是否安装了编译器并在根路径中运行了 build.sh?

@phunterlau我正在检查pypi包以了解问题,发现在没有openmp的情况下调用make的方式无效(并且总是使用-fopenmp)。 并且默认的 gcc/g++ 从来都不是一个选项。

使用这些差异修改它对我有用:

--- a/xgboost-0.6a2/xgboost/Makefile
+++ b/xgboost-0.6a2_modified/xgboost/Makefile
@@ -43,8 +43,8 @@ endif
 # it is useful for pip install compiling-on-the-fly
 OS := $(shell uname)
 ifeq ($(OS), Darwin)
-export CC = $(if $(shell which gcc-5),gcc-5,clang-omp)
-export CXX = $(if $(shell which g++-5),g++-5,clang-omp++)
+export CC = $(if $(shell which gcc-5),gcc-5,$(if $(shell which clang-omp),clang-omp,gcc))
+export CXX = $(if $(shell which g++-5),g++-5,$(if $(shell which clang-omp++),clang-omp++,g++))
 endif


--- a/xgboost-0.6a2/xgboost/build-python.sh
+++ b/xgboost-0.6a2_modified/xgboost/build-python.sh
@@ -22,7 +22,7 @@ else
     echo "Building multi-thread xgboost failed"
     echo "Start to build single-thread xgboost"
     make clean
-    make lib/libxgboost.so -j4 no_omp=1
+    make lib/libxgboost.so -j4 config=make/minimum.mk
     echo "Successfully build single-thread xgboost"
     echo "If you want multi-threaded version"
     echo "See additional instructions in doc/build.md"

 export LDFLAGS= -pthread -lm $(ADD_LDFLAGS) $(DMLC_LDFLAGS) $(PLUGIN_LDFLAGS)

@AbdealiJK谢谢。 PyPI的 makefile 是一种快速而肮脏的方式,它没有考虑所有场景。 你想发送一个 PR 来更新这个吗?

很想,但我不确定要修改什么 - 因为 github build.sh 和 Makefile 使用了正确的版本。

pypi 包似乎与 github 具有不同的结构和不同的文件(也许它们只是需要更新?)

@AbdealiJK哦,现在我记起来了: PyPI版本有点过时了,它是在 Makefile 修复之前创建的。 让我更新一下。 谢谢。

你会考虑将官方的预构建轮包上传到 pypi 吗? 它将使 windows 和 mac 用户安装更容易。 现在 Windows 用户可以在http://www.lfd.uci.edu/~gohlke/pythonlibs/#xgboost获得非官方版本

@xgdgsc预编译包很好。 Windows 预编译包是您制作的还是您认识的人制作的? 你能把配方添加到官方指南中,以便其他人可以开始使用它吗? 在安装 Windows 版本时,我在这个问题列表上看到了很多痛苦。 对于 Mac/Linux 的预编译 PyPI 构建,我们必须将它们分开,因为 PyPI 不区分平台。 简而言之,绝对是个好主意。

该软件包不是由我或我认识的任何人制作的,但该页面在 windows python 用户中很有名。 我建议将预编译的包上传到 pypi,就像我在这里所做的一样。 用户安装时,Pip 会自动选择正确的轮子包。 这样,如果加载预构建的二进制文件失败,我们只需添加安装 VC 重新分发包的警告。 另一种选择是使用 conda-forge 为 anaconda 用户构建包。

我正在尝试安装 xgboost,结果如下。

[ root@hostname bdinstalldir]# pip2.7 安装 xgboost
下载/解压 xgboost
找不到满足 xgboost 要求的版本(来自版本:0.4a15、0.4a22、0.4a28、0.6a2、0.4a26、0.4a25、0.4a30、0.4a12、0.4a14、0.4a22、0.4a28、0.4a2、0.4a22 0.6a1、0.4a21、0.4a13、0.4a18、0.4a24、0.4a20、0.4a27)
打扫干净...
没有与 xgboost 版本匹配的发行版
在 /root/.pip/pip.log 中存储失败的调试日志
[ root@hostname bdinstalldir]#

检查了 gcc,我们在节点上跟踪了 gcc。

[ root@hostname bdinstalldir]# rpm -qa | grep -i gcc
gcc-4.4.7-17.el6.x86_64
libgcc-4.4.7-17.el6.x86_64
compat-gcc-34-c++-3.4.6-19.el6.x86_64
gcc-gnat-4.4.7-17.el6.x86_64
compat-gcc-34-3.4.6-19.el6.x86_64
libgcc-4.4.7-17.el6.i686
gcc-java-4.4.7-17.el6.x86_64
devtoolset-3-gcc-c++-4.9.1-10.el6.x86_64
gcc-c++-4.4.7-17.el6.x86_64
gcc-gfortran-4.4.7-17.el6.x86_64
gcc-objc++-4.4.7-17.el6.x86_64
devtoolset-3-gcc-4.9.1-10.el6.x86_64
gcc-objc-4.4.7-17.el6.x86_64

[ root@hostname站点包]# 打​​印 xgboost.__file__
-bash: 打印: 命令未找到
[ root@hostname站点包]#

尝试使用 --pre 选项,但如下所示不起作用。

[根@hostname bdinstalldir]#pip2.7安装-事先xgboost
下载/解压 xgboost
下载 xgboost-0.6a2.tar.gz (1.2MB):已下载 1.2MB
为包 xgboost 运行 setup.py(路径:/tmp/pip_build_root/xgboost/setup.py)egg_info
rm -f -rf build build_plugin lib bin ~ */ ~ / / ~ */ / / ~ / .o / / .o */ / / .o xgboost
g++ -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++ -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++ -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++ -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++ -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 构建/c_api/c_api_error.o
g++ -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 构建/logging.o
g++ -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 构建/c_api/c_api.o
g++ -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 构建/学习者.o
在 src/c_api/./c_api_error.h:9 包含的文件中,
来自 src/c_api/c_api_error.cc:6:
dmlc-core/include/dmlc/base.h:71:注意:#pragma 消息:需要 g++-4.6 或更高版本才能编译 dmlc-core 中的所有功能,不使用 c++0x 编译,某些功能可能会被禁用
在 include/xgboost/data.h:10 包含的文件中,
来自 src/c_api/c_api.cc:3:
dmlc-core/include/dmlc/base.h:71:注意:#pragma 消息:需要 g++-4.6 或更高版本才能编译 dmlc-core 中的所有功能,不使用 c++0x 编译,某些功能可能会被禁用
在 dmlc-core/include/dmlc/logging.h:15 中包含的文件中,
来自 include/xgboost/logging.h:11,
来自 src/learner.cc:7:
dmlc-core/include/dmlc/./base.h:71:注意:#pragma 消息:需要 g++-4.6 或更高版本才能编译 dmlc-core 中的所有功能,不使用 c++0x 编译,某些功能可能会被禁用
在 dmlc-core/include/dmlc/logging.h:15 中包含的文件中,
来自 include/xgboost/logging.h:11,
来自 src/logging.cc:7:
dmlc-core/include/dmlc/./base.h:71:注意:#pragma 消息:需要 g++-4.6 或更高版本才能编译 dmlc-core 中的所有功能,不使用 c++0x 编译,某些功能可能会被禁用
在 src/c_api/c_api_error.cc:7 包含的文件中:
src/c_api/../common/thread_local.h: 在静态成员函数 'static T* xgboost::common::ThreadLocalStore::得到()':
src/c_api/../common/thread_local.h:44: 错误: 'nullptr' 未在此范围内声明
make: * [build/c_api/c_api_error.o] 错误 1make:等待未完成的工作......
在 src/c_api/c_api.cc:3 包含的文件中:
包含/xgboost/data.h:在构造函数'xgboost::DMatrix::DMatrix()'中:
include/xgboost/data.h:234: 错误: 'nullptr' 未在此范围内声明
在 src/c_api/c_api.cc:15 包含的文件中:
src/c_api/../data/simple_csr_source.h:在全局范围内:
src/c_api/../data/simple_csr_source.h:65: 错误: 预期 ';' 在“覆盖”之前
src/c_api/../data/simple_csr_source.h:67: 错误: 预期 ';' 在“覆盖”之前
src/c_api/../data/simple_csr_source.h:69: 错误: 预期 ';' 在“覆盖”之前
在 src/c_api/c_api.cc:16 包含的文件中:
src/c_api/../common/thread_local.h: 在静态成员函数 'static T xgboost::common::ThreadLocalStore::得到()':
src/c_api/../common/thread_local.h:44: 错误: 'nullptr' 未在此范围内声明
在 include/xgboost/./gbm.h:17 包含的文件中,
来自 include/xgboost/learner.h:16,
来自 src/learner.cc:8:
包含/xgboost/././data.h:在构造函数'xgboost::DMatrix::DMatrix()'中:
包含/xgboost/././data.h:234: 错误: 'nullptr' 未在此范围内声明
在 src/c_api/c_api.cc:18 包含的文件中:
src/c_api/../common/io.h:在全局范围内:
src/c_api/../common/io.h:30: 错误: 预期 ';' 在“覆盖”之前
src/c_api/c_api.cc:267: 错误: 预期 ';' 行尾前
src/c_api/c_api.cc:267: 错误:在行结束前应为“}”
在 src/c_api/c_api.cc:18 包含的文件中:
src/c_api/../common/io.h:在构造函数'xgboost::common::PeekableInStream::PeekableInStream(dmlc::Stream )'中:src/c_api/../common/io.h:28: 错误:类“xgboost::common::PeekableInStream”没有任何名为“strm_”的字段src/c_api/../common/io.h:28: 错误:类“xgboost::common::PeekableInStream”没有任何名为“buffer_ptr_”的字段src/c_api/c_api.cc:在全局范围内:src/c_api/c_api.cc:267: 错误:在行结束前预期不合格的 IDsrc/c_api/c_api.cc:267: 错误:在行结束前应为“}”src/c_api/c_api.cc:267: 错误:在行结束前应为“}”src/c_api/c_api.cc:267: 错误:行尾前的预期声明在 src/learner.cc:17 包含的文件中:src/./common/io.h:在全局范围内:src/./common/io.h:30: 错误: 预期 ';'
行尾前src/learner.cc:484: 错误:在行结束前应为“}”在 src/learner.cc:17 包含的文件中:src/./common/io.h:在构造函数“xgboost::common::PeekableInStream::PeekableInStream(dmlc::Stream )”中:
src/./common/io.h:28: 错误:类“xgboost::common::PeekableInStream”没有任何名为“strm_”的字段
src/./common/io.h:28: 错误:类“xgboost::common::PeekableInStream”没有任何名为“buffer_ptr_”的字段
src/learner.cc:在全球范围内:
src/learner.cc:484: 错误:在行尾之前预期为非限定 ID
src/learner.cc:484: 错误:在行结束前应为“}”
src/learner.cc:484: 错误:在行结束前应为“}”
src/learner.cc:484: 错误:行尾前的预期声明
制作: * [build/c_api/c_api.o] 错误 1make: [build/learner.o] 错误 1
-----------------------------
构建多线程 xgboost 失败
开始搭建单线程xgboost
rm -f -rf build build_plugin lib bin *~ */~ / / ~ */ / / ~ / .o / / .o */ / / .o xgboost
g++ -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++ -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++ -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++ -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++ -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 构建/c_api/c_api_error.o
g++ -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 构建/学习者.o
g++ -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 构建/c_api/c_api.o
g++ -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 构建/logging.o
在 src/c_api/./c_api_error.h:9 包含的文件中,
来自 src/c_api/c_api_error.cc:6:
dmlc-core/include/dmlc/base.h:71:注意:#pragma 消息:需要 g++-4.6 或更高版本才能编译 dmlc-core 中的所有功能,不使用 c++0x 编译,某些功能可能会被禁用
在 include/xgboost/data.h:10 包含的文件中,
来自 src/c_api/c_api.cc:3:
dmlc-core/include/dmlc/base.h:71:注意:#pragma 消息:需要 g++-4.6 或更高版本才能编译 dmlc-core 中的所有功能,不使用 c++0x 编译,某些功能可能会被禁用
在 dmlc-core/include/dmlc/logging.h:15 中包含的文件中,
来自 include/xgboost/logging.h:11,
来自 src/logging.cc:7:
dmlc-core/include/dmlc/./base.h:71:注意:#pragma 消息:需要 g++-4.6 或更高版本才能编译 dmlc-core 中的所有功能,不使用 c++0x 编译,某些功能可能会被禁用
在 dmlc-core/include/dmlc/logging.h:15 中包含的文件中,
来自 include/xgboost/logging.h:11,
来自 src/learner.cc:7:
dmlc-core/include/dmlc/./base.h:71:注意:#pragma 消息:需要 g++-4.6 或更高版本才能编译 dmlc-core 中的所有功能,不使用 c++0x 编译,某些功能可能会被禁用
在 src/c_api/c_api_error.cc:7 包含的文件中:
src/c_api/../common/thread_local.h: 在静态成员函数 'static T* xgboost::common::ThreadLocalStore::得到()':
src/c_api/../common/thread_local.h:44: 错误: 'nullptr' 未在此范围内声明
make: * [build/c_api/c_api_error.o] 错误 1make:等待未完成的工作......
在 include/xgboost/./gbm.h:17 包含的文件中,
来自 include/xgboost/learner.h:16,
来自 src/learner.cc:8:
包含/xgboost/././data.h:在构造函数'xgboost::DMatrix::DMatrix()'中:
包含/xgboost/././data.h:234: 错误: 'nullptr' 未在此范围内声明
在 src/c_api/c_api.cc:3 包含的文件中:
包含/xgboost/data.h:在构造函数'xgboost::DMatrix::DMatrix()'中:
include/xgboost/data.h:234: 错误: 'nullptr' 未在此范围内声明
在 src/learner.cc:17 包含的文件中:
src/./common/io.h:在全局范围内:
src/./common/io.h:30: 错误: 预期 ';' 在“覆盖”之前
src/learner.cc:484: 错误: 预期 ';' 行尾前
src/learner.cc:484: 错误:在行结束前应为“}”
在 src/learner.cc:17 包含的文件中:
src/./common/io.h:在构造函数“xgboost::common::PeekableInStream::PeekableInStream(dmlc::Stream)”中:
src/./common/io.h:28: 错误:类“xgboost::common::PeekableInStream”没有任何名为“strm_”的字段
src/./common/io.h:28: 错误:类“xgboost::common::PeekableInStream”没有任何名为“buffer_ptr_”的字段
src/learner.cc:在全球范围内:
src/learner.cc:484: 错误:在行尾之前预期为非限定 ID
src/learner.cc:484: 错误:在行结束前应为“}”
src/learner.cc:484: 错误:在行结束前应为“}”
src/learner.cc:484: 错误:行尾前的预期声明
在 src/c_api/c_api.cc:15 包含的文件中:
src/c_api/../data/simple_csr_source.h:在全局范围内:
src/c_api/../data/simple_csr_source.h:65: 错误: 预期 ';' 在“覆盖”之前
src/c_api/../data/simple_csr_source.h:67: 错误: 预期 ';' 在“覆盖”之前
src/c_api/../data/simple_csr_source.h:69: 错误: 预期 ';' 在“覆盖”之前
在 src/c_api/c_api.cc:16 包含的文件中:
src/c_api/../common/thread_local.h: 在静态成员函数 'static T* xgboost::common::ThreadLocalStore::得到()':
src/c_api/../common/thread_local.h:44: 错误: 'nullptr' 未在此范围内声明
在 src/c_api/c_api.cc:18 包含的文件中:
src/c_api/../common/io.h:在全局范围内:
src/c_api/../common/io.h:30: 错误: 预期 ';' 在“覆盖”之前
src/c_api/c_api.cc:267: 错误: 预期 ';' 行尾前
src/c_api/c_api.cc:267: 错误:在行结束前应为“}”
在 src/c_api/c_api.cc:18 包含的文件中:
src/c_api/../common/io.h:在构造函数'xgboost::common::PeekableInStream::PeekableInStream(dmlc::Stream )'中:src/c_api/../common/io.h:28: 错误:类“xgboost::common::PeekableInStream”没有任何名为“strm_”的字段src/c_api/../common/io.h:28: 错误:类“xgboost::common::PeekableInStream”没有任何名为“buffer_ptr_”的字段src/c_api/c_api.cc:在全局范围内:src/c_api/c_api.cc:267: 错误:在行结束前预期不合格的 IDsrc/c_api/c_api.cc:267: 错误:在行结束前应为“}”src/c_api/c_api.cc:267: 错误:在行结束前应为“}”src/c_api/c_api.cc:267: 错误:行尾前的预期声明make: [build/learner.o] 错误 1
制作: [build/c_api/c_api.o] 错误 1成功构建单线程xgboost如果你想要多线程版本请参阅 doc/build.md 中的其他说明回溯(最近一次调用最后一次):文件 ”",第 17 行,在










~ / / ~ */ / / ~ / .o / / .o */ / / .o xgboost

g++ -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++ -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++ -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++ -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++ -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 构建/c_api/c_api_error.o

g++ -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 构建/logging.o

g++ -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 构建/c_api/c_api.o

g++ -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 构建/学习者.o

在 src/c_api/./c_api_error.h:9 包含的文件中,

             from src/c_api/c_api_error.cc:6:

dmlc-core/include/dmlc/base.h:71:注意:#pragma 消息:需要 g++-4.6 或更高版本才能编译 dmlc-core 中的所有功能,不使用 c++0x 编译,某些功能可能会被禁用

在 include/xgboost/data.h:10 包含的文件中,

             from src/c_api/c_api.cc:3:

dmlc-core/include/dmlc/base.h:71:注意:#pragma 消息:需要 g++-4.6 或更高版本才能编译 dmlc-core 中的所有功能,不使用 c++0x 编译,某些功能可能会被禁用

在 dmlc-core/include/dmlc/logging.h:15 中包含的文件中,

             from include/xgboost/logging.h:11,

             from src/learner.cc:7:

dmlc-core/include/dmlc/./base.h:71:注意:#pragma 消息:需要 g++-4.6 或更高版本才能编译 dmlc-core 中的所有功能,不使用 c++0x 编译,某些功能可能会被禁用

在 dmlc-core/include/dmlc/logging.h:15 中包含的文件中,

             from include/xgboost/logging.h:11,

             from src/logging.cc:7:

dmlc-core/include/dmlc/./base.h:71:注意:#pragma 消息:需要 g++-4.6 或更高版本才能编译 dmlc-core 中的所有功能,不使用 c++0x 编译,某些功能可能会被禁用

在 src/c_api/c_api_error.cc:7 包含的文件中:

src/c_api/../common/thread_local.h: 在静态成员函数 'static T* xgboost::common::ThreadLocalStore::得到()':

src/c_api/../common/thread_local.h:44: 错误: 'nullptr' 未在此范围内声明

make: * [build/c_api/c_api_error.o] 错误 1

make: *等待未完成的工作....

在 src/c_api/c_api.cc:3 包含的文件中:

包含/xgboost/data.h:在构造函数'xgboost::DMatrix::DMatrix()'中:

include/xgboost/data.h:234: 错误: 'nullptr' 未在此范围内声明

在 src/c_api/c_api.cc:15 包含的文件中:

src/c_api/../data/simple_csr_source.h:在全局范围内:

src/c_api/../data/simple_csr_source.h:65: 错误: 预期 ';' 在“覆盖”之前

src/c_api/../data/simple_csr_source.h:67: 错误: 预期 ';' 在“覆盖”之前

src/c_api/../data/simple_csr_source.h:69: 错误: 预期 ';' 在“覆盖”之前

在 src/c_api/c_api.cc:16 包含的文件中:

src/c_api/../common/thread_local.h: 在静态成员函数 'static T* xgboost::common::ThreadLocalStore::得到()':

src/c_api/../common/thread_local.h:44: 错误: 'nullptr' 未在此范围内声明

在 include/xgboost/./gbm.h:17 包含的文件中,

             from include/xgboost/learner.h:16,

             from src/learner.cc:8:

包含/xgboost/././data.h:在构造函数'xgboost::DMatrix::DMatrix()'中:

包含/xgboost/././data.h:234: 错误: 'nullptr' 未在此范围内声明

在 src/c_api/c_api.cc:18 包含的文件中:

src/c_api/../common/io.h:在全局范围内:

src/c_api/../common/io.h:30: 错误: 预期 ';' 在“覆盖”之前

src/c_api/c_api.cc:267: 错误: 预期 ';' 行尾前

src/c_api/c_api.cc:267: 错误:在行结束前应为“}”

在 src/c_api/c_api.cc:18 包含的文件中:

src/c_api/../common/io.h:在构造函数“xgboost::common::PeekableInStream::PeekableInStream(dmlc::Stream*)”中:

src/c_api/../common/io.h:28: 错误:类“xgboost::common::PeekableInStream”没有任何名为“strm_”的字段

src/c_api/../common/io.h:28: 错误:类“xgboost::common::PeekableInStream”没有任何名为“buffer_ptr_”的字段

src/c_api/c_api.cc:在全局范围内:

src/c_api/c_api.cc:267: 错误:在行结束前预期不合格的 ID

src/c_api/c_api.cc:267: 错误:在行结束前应为“}”

src/c_api/c_api.cc:267: 错误:在行结束前应为“}”

src/c_api/c_api.cc:267: 错误:行尾前的预期声明

在 src/learner.cc:17 包含的文件中:

src/./common/io.h:在全局范围内:

src/./common/io.h:30: 错误: 预期 ';' 在“覆盖”之前

src/learner.cc:484: 错误: 预期 ';' 行尾前

src/learner.cc:484: 错误:在行结束前应为“}”

在 src/learner.cc:17 包含的文件中:

src/./common/io.h:在构造函数“xgboost::common::PeekableInStream::PeekableInStream(dmlc::Stream*)”中:

src/./common/io.h:28: 错误:类“xgboost::common::PeekableInStream”没有任何名为“strm_”的字段

src/./common/io.h:28: 错误:类“xgboost::common::PeekableInStream”没有任何名为“buffer_ptr_”的字段

src/learner.cc:在全球范围内:

src/learner.cc:484: 错误:在行尾之前预期为非限定 ID

src/learner.cc:484: 错误:在行结束前应为“}”

src/learner.cc:484: 错误:在行结束前应为“}”

src/learner.cc:484: 错误:行尾前的预期声明

制作: * [build/c_api/c_api.o] 错误 1

make: * [build/learner.o] 错误 1


构建多线程 xgboost 失败

开始搭建单线程xgboost

rm -f -rf build build_plugin lib bin ~ */ ~ / / ~ */ / / ~ / .o / / .o */ / / .o xgboost

g++ -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++ -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++ -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++ -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++ -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 构建/c_api/c_api_error.o

g++ -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 构建/学习者.o

g++ -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 构建/c_api/c_api.o

g++ -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 构建/logging.o

在 src/c_api/./c_api_error.h:9 包含的文件中,

             from src/c_api/c_api_error.cc:6:

dmlc-core/include/dmlc/base.h:71:注意:#pragma 消息:需要 g++-4.6 或更高版本才能编译 dmlc-core 中的所有功能,不使用 c++0x 编译,某些功能可能会被禁用

在 include/xgboost/data.h:10 包含的文件中,

             from src/c_api/c_api.cc:3:

dmlc-core/include/dmlc/base.h:71:注意:#pragma 消息:需要 g++-4.6 或更高版本才能编译 dmlc-core 中的所有功能,不使用 c++0x 编译,某些功能可能会被禁用

在 dmlc-core/include/dmlc/logging.h:15 中包含的文件中,

             from include/xgboost/logging.h:11,

             from src/logging.cc:7:

dmlc-core/include/dmlc/./base.h:71:注意:#pragma 消息:需要 g++-4.6 或更高版本才能编译 dmlc-core 中的所有功能,不使用 c++0x 编译,某些功能可能会被禁用

在 dmlc-core/include/dmlc/logging.h:15 中包含的文件中,

             from include/xgboost/logging.h:11,

             from src/learner.cc:7:

dmlc-core/include/dmlc/./base.h:71:注意:#pragma 消息:需要 g++-4.6 或更高版本才能编译 dmlc-core 中的所有功能,不使用 c++0x 编译,某些功能可能会被禁用

在 src/c_api/c_api_error.cc:7 包含的文件中:

src/c_api/../common/thread_local.h: 在静态成员函数 'static T* xgboost::common::ThreadLocalStore::得到()':

src/c_api/../common/thread_local.h:44: 错误: 'nullptr' 未在此范围内声明

make: * [build/c_api/c_api_error.o] 错误 1

make: *等待未完成的工作....

在 include/xgboost/./gbm.h:17 包含的文件中,

             from include/xgboost/learner.h:16,

             from src/learner.cc:8:

包含/xgboost/././data.h:在构造函数'xgboost::DMatrix::DMatrix()'中:

包含/xgboost/././data.h:234: 错误: 'nullptr' 未在此范围内声明

在 src/c_api/c_api.cc:3 包含的文件中:

包含/xgboost/data.h:在构造函数'xgboost::DMatrix::DMatrix()'中:

include/xgboost/data.h:234: 错误: 'nullptr' 未在此范围内声明

在 src/learner.cc:17 包含的文件中:

src/./common/io.h:在全局范围内:

src/./common/io.h:30: 错误: 预期 ';' 在“覆盖”之前

src/learner.cc:484: 错误: 预期 ';' 行尾前

src/learner.cc:484: 错误:在行结束前应为“}”

在 src/learner.cc:17 包含的文件中:

src/./common/io.h:在构造函数“xgboost::common::PeekableInStream::PeekableInStream(dmlc::Stream*)”中:

src/./common/io.h:28: 错误:类“xgboost::common::PeekableInStream”没有任何名为“strm_”的字段

src/./common/io.h:28: 错误:类“xgboost::common::PeekableInStream”没有任何名为“buffer_ptr_”的字段

src/learner.cc:在全球范围内:

src/learner.cc:484: 错误:在行尾之前预期为非限定 ID

src/learner.cc:484: 错误:在行结束前应为“}”

src/learner.cc:484: 错误:在行结束前应为“}”

src/learner.cc:484: 错误:行尾前的预期声明

在 src/c_api/c_api.cc:15 包含的文件中:

src/c_api/../data/simple_csr_source.h:在全局范围内:

src/c_api/../data/simple_csr_source.h:65: 错误: 预期 ';' 在“覆盖”之前

src/c_api/../data/simple_csr_source.h:67: 错误: 预期 ';' 在“覆盖”之前

src/c_api/../data/simple_csr_source.h:69: 错误: 预期 ';' 在“覆盖”之前

在 src/c_api/c_api.cc:16 包含的文件中:

src/c_api/../common/thread_local.h: 在静态成员函数 'static T* xgboost::common::ThreadLocalStore::得到()':

src/c_api/../common/thread_local.h:44: 错误: 'nullptr' 未在此范围内声明

在 src/c_api/c_api.cc:18 包含的文件中:

src/c_api/../common/io.h:在全局范围内:

src/c_api/../common/io.h:30: 错误: 预期 ';' 在“覆盖”之前

src/c_api/c_api.cc:267: 错误: 预期 ';' 行尾前

src/c_api/c_api.cc:267: 错误:在行结束前应为“}”

在 src/c_api/c_api.cc:18 包含的文件中:

src/c_api/../common/io.h:在构造函数“xgboost::common::PeekableInStream::PeekableInStream(dmlc::Stream*)”中:

src/c_api/../common/io.h:28: 错误:类“xgboost::common::PeekableInStream”没有任何名为“strm_”的字段

src/c_api/../common/io.h:28: 错误:类“xgboost::common::PeekableInStream”没有任何名为“buffer_ptr_”的字段

src/c_api/c_api.cc:在全局范围内:

src/c_api/c_api.cc:267: 错误:在行结束前预期不合格的 ID

src/c_api/c_api.cc:267: 错误:在行结束前应为“}”

src/c_api/c_api.cc:267: 错误:在行结束前应为“}”

src/c_api/c_api.cc:267: 错误:行尾前的预期声明

make: * [build/learner.o] 错误 1

制作: * [build/c_api/c_api.o] 错误 1

成功构建单线程xgboost

如果你想要多线程版本

请参阅 doc/build.md 中的其他说明

回溯(最近一次调用最后一次):

文件 ”",第 17 行,在

文件“/tmp/pip_build_root/xgboost/setup.py”,第 29 行,在

LIB_PATH = libpath['find_lib_path']()

文件“/tmp/pip_build_root/xgboost/xgboost/libpath.py”,第 45 行,在 find_lib_path

'List of candidates:\n' + ('\n'.join(dll_path)))

__builtin__.XGBoostLibraryNotFound:在候选路径中找不到 XGBoost 库,您是否安装了编译器并在根路径中运行了 build.sh?

候选人名单:

/tmp/pip_build_root/xgboost/xgboost/libxgboost.so

/tmp/pip_build_root/xgboost/xgboost/../../lib/libxgboost.so

/tmp/pip_build_root/xgboost/xgboost/./lib/libxgboost.so


打扫干净...
命令 python setup.py egg_info 失败,/tmp/pip_build_root/xgboost 中的错误代码为 1
回溯(最近一次调用最后一次):
文件“/usr/local/bin/pip2.7”,第 9 行,在
load_entry_point('pip==1.5.4', 'console_scripts', 'pip2.7')()
文件“/usr/local/lib/python2.7/site-packages/pip-1.5.4-py2.7.egg/pip/__init__.py”, line 185, in main
返回 command.main(cmd_args)
文件“/usr/local/lib/python2.7/site-packages/pip-1.5.4-py2.7.egg/pip/basecommand.py”,第 161 行,在 main
text = 'n'.join(complete_log)
UnicodeDecodeError:“ascii”编解码器无法解码位置 66 中的字节 0xe2:序号不在范围内(128)
[ root@hostname bdinstalldir]#

谢谢
克里希纳

我们是否需要升级gcc,我们可以使用gcc 4 运行的任何旧版本。不是gcc OS 相关的编译器。

谢谢
克里希纳

@kishore432你可以尝试 github install 并手动编辑Makefile的编译器要求

我在缺少make的 CentOS 容器中安装 xgboost 0.6a2。 安装声称成功,但当然无法加载lib。 我认为如果安装问题在安装时而不是在运行时导致错误会有所帮助。

详细 pip 输出的摘录:

  Running setup.py (path:/tmp/pip-build-mv_qff2b/xgboost/setup.py) egg_info for package xgboost
    Running command python setup.py egg_info
    ./xgboost/build-python.sh: line 17: make: command not found
    ./xgboost/build-python.sh: line 18: make: command not found
    -----------------------------
    Building multi-thread xgboost failed
    Start to build single-thread xgboost
    ./xgboost/build-python.sh: line 24: make: command not found
    ./xgboost/build-python.sh: line 25: make: command not found
    Successfully build single-thread xgboost

...

Building wheels for collected packages: xgboost
  Running setup.py bdist_wheel for xgboost: started
  Destination directory: /tmp/tmpgcuwvdt8pip-wheel-
  Running command /usr/local/src/conda3_runtime/4.1.1/bin/python -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-mv_qff2b/xgboost/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" bdist_wheel -d /tmp/tmpgcuwvdt8pip-wheel- --python-tag cp35
  ./xgboost/build-python.sh: line 17: make: command not found
  ./xgboost/build-python.sh: line 18: make: command not found
  -----------------------------
  Building multi-thread xgboost failed
  Start to build single-thread xgboost
  ./xgboost/build-python.sh: line 24: make: command not found
  ./xgboost/build-python.sh: line 25: make: command not found
  Successfully build single-thread xgboost

在 Python 3 环境中安装 pip 时的这些错误消息是由使用 Python 2 语法的打印语句引起的。 不过,它们似乎不会造成任何伤害。 在这种情况下,我很高兴安装问题不会在安装时触发错误。

Installing collected packages: xgboost
  *** Error compiling '/tmp/pip-build-eoltxht1/xgboost/xgboost/rabit/guide/basic.py'...
    File "/tmp/pip-build-eoltxht1/xgboost/xgboost/rabit/guide/basic.py", line 20
      print '@node[%d] before-allreduce: a=%s' % (rank, str(a))
                                             ^
  SyntaxError: invalid syntax

  *** Error compiling '/tmp/pip-build-eoltxht1/xgboost/xgboost/rabit/guide/broadcast.py'...
    File "/tmp/pip-build-eoltxht1/xgboost/xgboost/rabit/guide/broadcast.py", line 18
      print '@node[%d] before-broadcast: s=\"%s\"' % (rank, str(s))
                                                 ^
  SyntaxError: invalid syntax

  *** Error compiling '/tmp/pip-build-eoltxht1/xgboost/xgboost/rabit/test/local_recover.py'...
    File "/tmp/pip-build-eoltxht1/xgboost/xgboost/rabit/test/local_recover.py", line 16
      print '[%d] restart from version %d' % (rank, version)
                                         ^
  SyntaxError: invalid syntax


Successfully installed xgboost-0.6a2

我在这里找到了违规文件: https :
在这里: https :

brew install gcc-5解决了 MacOS Sierra 10.12.6 中的所有问题。

我有 MacOS El Captain,我已经安装了 gcc 49 和 gcc 5,但我无法使用 pip install xgboost 安装 xgboost。 我收到一堆消息,底部带有以下红色错误消息:

命令“python setup.py egg_info”失败,错误代码为 1 /private/var/folders/9x/9vqgp6tn69d5mxkspzw840qr0000gn/T/pip-build-GuPlss/xgboost/

我看到很多人抱怨同样的问题,但我没有找到任何令人满意的回应。 也许我已经错过了。

谢谢
FQ

我无法让 pip install xgboost 正常工作,但我在此处遵循了此说明: https ://www.ibm.com/developerworks/community/blogs/jfp/entry/Installing_XGBoost_on_Mac_OSX?lang=en

我在那里使用了 git-clone,现在我有了 xgboost。

此页面是否有帮助?
0 / 5 - 0 等级

相关问题

vkuznet picture vkuznet  ·  3评论

FabHan picture FabHan  ·  4评论

wenbo5565 picture wenbo5565  ·  3评论

trivialfis picture trivialfis  ·  3评论

yananchen1989 picture yananchen1989  ·  3评论