Xgboost: Should I MAKE dmlc-core first? Or directly MAKE xgboost? Window7 + mingw64

Created on 27 Jun 2016  路  2Comments  路  Source: dmlc/xgboost

Now I have some problems in compiling xgboost in windows7 + mingw64 environment.
I've referred two install tutorial.
The official tutorial tells me to MAKE xgboost directly. Then there are some problems.
I followed these process.

git submodule init
git submodule update
alias make='mingw32-make'
cp make/mingw64.mk config.mk
make -j4

The logfile is as follow.

g++ -m64 -std=c++0x -Wall -O3 -msse2  -Wno-unknown-pragmas -funroll-loops -Iinclude -DDMLC_ENABLE_STD_THREAD=0  -Idmlc-core/include -Irabit/include -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++ -m64 -std=c++0x -Wall -O3 -msse2  -Wno-unknown-pragmas -funroll-loops -Iinclude -DDMLC_ENABLE_STD_THREAD=0  -Idmlc-core/include -Irabit/include -fopenmp -MM -MT build/data/simple_dmatrix.o src/data/simple_dmatrix.cc >build/data/simple_dmatrix.d
g++ -m64 -std=c++0x -Wall -O3 -msse2  -Wno-unknown-pragmas -funroll-loops -Iinclude -DDMLC_ENABLE_STD_THREAD=0  -Idmlc-core/include -Irabit/include -fopenmp -MM -MT build/c_api/c_api.o src/c_api/c_api.cc >build/c_api/c_api.d
g++ -m64 -std=c++0x -Wall -O3 -msse2  -Wno-unknown-pragmas -funroll-loops -Iinclude -DDMLC_ENABLE_STD_THREAD=0  -Idmlc-core/include -Irabit/include -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++ -m64 -c -std=c++0x -Wall -O3 -msse2  -Wno-unknown-pragmas -funroll-loops -Iinclude -DDMLC_ENABLE_STD_THREAD=0  -Idmlc-core/include -Irabit/include -fopenmp -c src/c_api/c_api_error.cc -o build/c_api/c_api_error.o
g++ -m64 -c -std=c++0x -Wall -O3 -msse2  -Wno-unknown-pragmas -funroll-loops -Iinclude -DDMLC_ENABLE_STD_THREAD=0  -Idmlc-core/include -Irabit/include -fopenmp -c src/data/sparse_page_raw_format.cc -o build/data/sparse_page_raw_format.o
g++ -m64 -c -std=c++0x -Wall -O3 -msse2  -Wno-unknown-pragmas -funroll-loops -Iinclude -DDMLC_ENABLE_STD_THREAD=0  -Idmlc-core/include -Irabit/include -fopenmp -c src/c_api/c_api.cc -o build/c_api/c_api.o
g++ -m64 -c -std=c++0x -Wall -O3 -msse2  -Wno-unknown-pragmas -funroll-loops -Iinclude -DDMLC_ENABLE_STD_THREAD=0  -Idmlc-core/include -Irabit/include -fopenmp -c src/data/simple_dmatrix.cc -o build/data/simple_dmatrix.o
Makefile:97: recipe for target 'build/c_api/c_api_error.o' failed
Makefile:97: recipe for target 'build/data/sparse_page_raw_format.o' failed
Makefile:97: recipe for target 'build/data/simple_dmatrix.o' failed
Makefile:97: recipe for target 'build/c_api/c_api.o' failed

The screenshot is as follow.
xgboost_make

Then I referred another Installing XGBoost For Anaconda on Windows
It tells me to MAKE dmlc-core first.
I followed these process.

git clone --recursive https://github.com/dmlc/xgboost
cd xgboost
git submodule init
git submodule update
alias make='mingw32-make'
cd dmlc-core
make -j4

Then it still had some problems.
The logfile is as follow.

g++ -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++ -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++ -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++ -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
Makefile:75: recipe for target 'recordio.o' failed
Makefile:75: recipe for target 'io.o' failed
Makefile:75: recipe for target 'data.o' failed

The screenshot is as follow.
dmlc-core_make
Could someone tell me how to fix these problems/errors?
Since the directory /windows has been deleted. How to install xgboost on windows with mingw64?

Most helpful comment

Hi everyone,
I'm who raised this question.
I referred the third tutorial Install xgboost in windows X64 (in chinese)
I followed these process

git clone --recursive https://github.com/dmlc/xgboost
cd xgboost
git checkout 9a48a40
git submodule init
git submodule update

Then I succeeded.
This code is the key to success.

git checkout 9a48a40

Could someone tell me the function of this code? Why it works?

All 2 comments

Hi everyone,
I'm who raised this question.
I referred the third tutorial Install xgboost in windows X64 (in chinese)
I followed these process

git clone --recursive https://github.com/dmlc/xgboost
cd xgboost
git checkout 9a48a40
git submodule init
git submodule update

Then I succeeded.
This code is the key to success.

git checkout 9a48a40

Could someone tell me the function of this code? Why it works?

The reason is from MinGW and different distributions of MinGW might be inconsistent.

I will update the building instructions after some more testing.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

nnorton24 picture nnorton24  路  3Comments

trivialfis picture trivialfis  路  3Comments

XiaoxiaoWang87 picture XiaoxiaoWang87  路  3Comments

tqchen picture tqchen  路  4Comments

pplonski picture pplonski  路  3Comments