在Mac OSX EI Capitan下安装xgboost的吐血经历

时间:2022-09-09 08:53:51

官网上mac的安装并不复杂,但是实际操作下来有够吐血的,试了n多方法折腾到凌晨一点。。。。。。

在此详细记录一下以帮助其他踩坑的同学。

 

前情回顾:

为啥要安装gcc?为了xgboost能够多线程。。。好吧其实我本意并不在此,主要是最简单的单线程我都安装失败了!!就两步简单的操作为什么会失败呢我也不想的啊。。。。。。但是没有关于失败处理的博客,博客都是关于多线程的。那只好一试了。

 

1.安装gcc

很多博客都会写这样一个命令

brew install gcc --without-multilib 

  好死不死看了下brew这样安装gcc的版本是最新的7,而且显示没有 --without-multilib的选项。而看网上大家貌似都是gcc6的版本,所以后来删掉重下

brew install gcc6 --without-multilib 

  这个命令就指定了版本,但是还是显示没有 --without-multilib的选项。好了先不管这个。。

2.替换系统默认的gcc

你以为gcc这样就安装好了吗。NO!!!!!!这就是大坑所在!!!!

如果你输入 gcc -v 发现不是你刚刚安装的版本就请参照博客 http://blog.csdn.net/u010167269/article/details/51951582 进行操作。

3.下载xgboost源码

好了这个就很轻松了

git clone --recursive https://github.com/dmlc/xgboost

4.编译xgboost

第二个大坑。失败了无数次。。。满屏的std,绝望使我质壁分离。如果直接执行

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

  在Mac OSX EI Capitan下安装xgboost的吐血经历

what the fu**??在下看不懂啊啊啊啊啊

翻阅无数博客,最终的解决方法是这样的

首先,修改Makefile文件的几个地方

在Mac OSX EI Capitan下安装xgboost的吐血经历

接着,修改./config.mk

在Mac OSX EI Capitan下安装xgboost的吐血经历

这里要注意第三行也一定要修改!!!!!我看到的博客都是说只修改前两行就好,然并卵。在凌晨一点我毫无希望地修改了第三行,然后通过了。。。。

好了改到这样,终于可以成功地 make -j4了

5.在python里使用

cd python-package; sudo python setup.py install