I received the following message. Could you help me out? Thanks!
$ make -j4
sh.exe": mingw32-make: command not found
you should be able to run mingw32-make.exe from cmd: make sure you have "mingw64\bin" in your PATH.
Download Mingw-w64 from https://sourceforge.net/projects/mingw-w64/?source=typ_redirect and choose the x86-64 architecture instead of i868. You can double-check by looking at the target installation directory: this should be program files instead of program files(x86). Don't forget the step of @Far0n , you need to put the installation folder\in to your windows path.
@adverley: I still got the same message "mingw32-make.exe: command not found". I downloaded Mingw-w64 and put the directory "C:\Program Files\mingw-w64\x86_64-5.3.0-posix-seh-rt_v4-rev0" and "C:\Program Files\mingw-w64\bin" in my windows path. But it still does not work.
got it! The directory should be "C:\Program Files\mingw-w64\x86_64-5.3.0-posix-seh-rt_v4-rev0\mingw64\bin" . Thank yoy @adverley @Far0n !
Now I got message when I try "make -j4".
`In file included from dmlc-core/include/dmlc/registry.h:14:0,
from include/xgboost/./gbm.h:11,
from include/xgboost/learner.h:16,
from src/cli_main.cc:12:
dmlc-core/include/dmlc/./parameter.h:254:43: warning: 'xgboost::make__CLIParamPa
ramManager' defined but not used [-Wunused-variable]
static ::dmlc::parameter::ParamManager &make ## PType ## ParamManager__ = \
^
src/cli_main.cc:151:1: note: in expansion of macro 'DMLC_REGISTER_PARAMETER'
DMLC_REGISTER_PARAMETER(CLIParam);
^`
I assume the above command "make -j4" is not successful since I got the following message when I try next command in instruction "python setup.py install":
$ python setup.py install
Traceback (most recent call last):
File "setup.py", line 19, in <module>
LIB_PATH = libpath['find_lib_path']()
File "xgboost/libpath.py", line 44, 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?
I'm not quite the hero with those tools but did you try with these instructions?
Also, did you do git clone --recursive
?
Yes, I following steps:
git clone --recursive https://github.com/dmlc/xgboost
cd xgboost
git submodule init
git submodule update
cp make/mingw64.mk config.mk
make -j4
@adverley: missed your "thess" instructions. It works now. Thanks a lot!!
https://www.ibm.com/developerworks/community/blogs/jfp/entry/Installing_XGBoost_For_Anaconda_on_Windows?lang=en
my pleasure
It seems that the instructions for building it on Windows are no longer valid: the latest Git for Windows doesn't have mingw32-make.exe
on PATH. I checked /mingw64/bin
as suggested by @Far0n, but no luck:
Alexey Grigorev@AlexeyGrigorev MINGW64 /mingw64/bin
$ ls /mingw64/bin/ | grep make
Alexey Grigorev@AlexeyGrigorev MINGW64 /mingw64/bin
$
Hi, everyone,
I followed steps on: https://www.ibm.com/developerworks/community/blogs/jfp/entry/Installing_XGBoost_For_Anaconda_on_Windows?lang=en
I run into the issue that after enter make -j4, the errors pops up.
Here I attached the error message:
Users /cygdrive/c/xgboost/dmlc-core
$ make -j4
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_split.o src/io/recordio_split.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 input_split_base.o src/io/input_split_base.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 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 local_filesys.o src/io/local_filesys.cc
In file included from src/io/cached_input_split.h:16:0,
from src/io.cc:13:
include/dmlc/threadediter.h:210:8: error: 'thread' in namespace 'std' does not name a type
std::thread producer_thread_;
^~
include/dmlc/threadediter.h:216:8: error: 'mutex' in namespace 'std' does not name a type
std::mutex mutex_;
^~~
include/dmlc/threadediter.h:222:8: error: 'condition_variable' in namespace 'std' does not name a type
std::condition_variable producer_cond_;
^~~~
include/dmlc/threadediter.h:224:8: error: 'condition_variable' in namespace 'std' does not name a type
std::condition_variable consumer_cond_;
^~~~~~
include/dmlc/threadediter.h: In constructor 'dmlc::ThreadedIter
include/dmlc/threadediter.h:82:9: error: class 'dmlc::ThreadedIter
producer_thread_(NULL),
^~~~
include/dmlc/threadediter.h: In member function 'virtual void dmlc::ThreadedIter
include/dmlc/threadediter.h:168:27: error: 'mutex' is not a member of 'std'
std::unique_lock
^~~
include/dmlc/threadediter.h:168:27: error: 'mutex' is not a member of 'std'
include/dmlc/threadediter.h:168:32: error: template argument 1 is invalid
std::unique_lock
^
include/dmlc/threadediter.h:168:39: error: 'mutex_' was not declared in this scope
std::unique_lock
^~
include/dmlc/threadediter.h:168:39: note: suggested alternative: 'putenv'
std::unique_lock
^~
putenv
include/dmlc/threadediter.h:178:7: error: 'producer_cond_' was not declared in this scope
producer_cond_.notify_one();
^~~~
include/dmlc/threadediter.h:178:7: note: suggested alternative: 'producer_owned_'
producer_cond_.notify_one();
^~~~
producer_owned_
include/dmlc/threadediter.h:182:5: error: 'consumer_cond_' was not declared in this scope
consumer_cond_.wait(lock, this {
^~~~
include/dmlc/threadediter.h:187:10: error: request for member 'unlock' in 'lock', which is of non-class type 'int'
lock.unlock();
^~
include/dmlc/threadediter.h:189:17: error: 'producer_cond_' was not declared in this scope
if (notify) producer_cond_.notify_one();
^~~~
include/dmlc/threadediter.h:189:17: note: suggested alternative: 'producer_owned_'
if (notify) producer_cond_.notify_one();
^~~~
producer_owned_
include/dmlc/threadediter.h: In member function 'void dmlc::ThreadedIter
include/dmlc/threadediter.h:236:7: error: 'producer_thread_' was not declared in this scope
if (producer_thread_ != NULL) {
^~~~
include/dmlc/threadediter.h:236:7: note: suggested alternative: 'producer_owned_'
if (producer_thread_ != NULL) {
^~~~
producer_owned_
include/dmlc/threadediter.h:239:28: error: 'mutex' is not a member of 'std'
std::lock_guard
^~~
include/dmlc/threadediter.h:239:28: error: 'mutex' is not a member of 'std'
include/dmlc/threadediter.h:239:33: error: template argument 1 is invalid
std::lock_guard
^
include/dmlc/threadediter.h:239:40: error: 'mutex_' was not declared in this scope
std::lock_guard
^~
include/dmlc/threadediter.h:239:40: note: suggested alternative: 'putenv'
std::lock_guard
^~
putenv
include/dmlc/threadediter.h:243:9: error: 'producer_cond_' was not declared in this scope
producer_cond_.notify_one();
^~~~
include/dmlc/threadediter.h:243:9: note: suggested alternative: 'producer_owned_'
producer_cond_.notify_one();
^~~~~~
producer_owned_
include/dmlc/threadediter.h: In lambda function:
include/dmlc/threadediter.h:295:31: error: 'mutex' is not a member of 'std'
std::unique_lock
^
include/dmlc/threadediter.h:295:31: error: 'mutex' is not a member of 'std'
include/dmlc/threadediter.h:295:36: error: template argument 1 is invalid
std::unique_lock
^
include/dmlc/threadediter.h:295:43: error: 'mutex_' was not declared in this scope
std::unique_lock
^~
include/dmlc/threadediter.h:295:43: note: suggested alternative: 'putenv'
std::unique_lock
^~
putenv
include/dmlc/threadediter.h:297:9: error: 'producer_cond_' was not declared in this scope
producer_cond_.wait(lock, this {
^~~~
include/dmlc/threadediter.h:297:9: note: suggested alternative: 'producer_owned_'
producer_cond_.wait(lock, this {
^~~~
producer_owned_
include/dmlc/threadediter.h:325:16: error: request for member 'unlock' in 'lock', which is of non-class type 'int'
lock.unlock();
^~
include/dmlc/threadediter.h:326:11: error: 'consumer_cond_' was not declared in this scope
consumer_cond_.notify_all();
^~~~
include/dmlc/threadediter.h:333:11: error: 'consumer_cond_' was not declared in this scope
consumer_cond_.notify_all();
^~~~
include/dmlc/threadediter.h:343:30: error: 'mutex' is not a member of 'std'
std::lock_guard
^~~
include/dmlc/threadediter.h:343:30: error: 'mutex' is not a member of 'std'
include/dmlc/threadediter.h:343:35: error: template argument 1 is invalid
std::lock_guard
^
include/dmlc/threadediter.h:343:42: error: 'mutex_' was not declared in this scope
std::lock_guard
^~
include/dmlc/threadediter.h:343:42: note: suggested alternative: 'putenv'
std::lock_guard
^~
putenv
include/dmlc/threadediter.h:352:19: error: 'consumer_cond_' was not declared in this scope
if (notify) consumer_cond_.notify_all();
^~~~
include/dmlc/threadediter.h: In member function 'void dmlc::ThreadedIter
producer_thread_ = new std::thread(producer_fun);
^~~~
include/dmlc/threadediter.h:355:3: note: suggested alternative: 'producer_owned_'
producer_thread_ = new std::thread(producer_fun);
^~~~
producer_owned_
include/dmlc/threadediter.h:355:26: error: expected type-specifier
producer_thread_ = new std::thread(producer_fun);
^~~
include/dmlc/threadediter.h:355:26: error: expected ';'
include/dmlc/threadediter.h: In member function 'bool dmlc::ThreadedIter
include/dmlc/threadediter.h:362:25: error: 'mutex' is not a member of 'std'
std::unique_lock
^~~
include/dmlc/threadediter.h:362:25: error: 'mutex' is not a member of 'std'
include/dmlc/threadediter.h:362:30: error: template argument 1 is invalid
std::unique_lock
^
include/dmlc/threadediter.h:362:37: error: 'mutex_' was not declared in this scope
std::unique_lock
^~
include/dmlc/threadediter.h:362:37: note: suggested alternative: 'putenv'
std::unique_lock
^~
putenv
include/dmlc/threadediter.h:366:3: error: 'consumer_cond_' was not declared in this scope
consumer_cond_.wait(lock, this {
^~~~
include/dmlc/threadediter.h:374:10: error: request for member 'unlock' in 'lock', which is of non-class type 'int'
lock.unlock();
^~
include/dmlc/threadediter.h:375:17: error: 'producer_cond_' was not declared in this scope
if (notify) producer_cond_.notify_one();
^~~~
include/dmlc/threadediter.h:375:17: note: suggested alternative: 'producer_owned_'
if (notify) producer_cond_.notify_one();
^~~~
producer_owned_
include/dmlc/threadediter.h: In member function 'void dmlc::ThreadedIter
include/dmlc/threadediter.h:387:26: error: 'mutex' is not a member of 'std'
std::lock_guard
^~~
include/dmlc/threadediter.h:387:26: error: 'mutex' is not a member of 'std'
include/dmlc/threadediter.h:387:31: error: template argument 1 is invalid
std::lock_guard
^
include/dmlc/threadediter.h:387:38: error: 'mutex_' was not declared in this scope
std::lock_guard
^~
include/dmlc/threadediter.h:387:38: note: suggested alternative: 'putenv'
std::lock_guard
^~
putenv
include/dmlc/threadediter.h:392:15: error: 'producer_cond_' was not declared in this scope
if (notify) producer_cond_.notify_one();
^~~~
include/dmlc/threadediter.h:392:15: note: suggested alternative: 'producer_owned_'
if (notify) producer_cond_.notify_one();
^~~~~
producer_owned_
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
include/dmlc/threadediter.h: In instantiation of 'void dmlc::ThreadedIter
src/io/cached_input_split.h:58:26: required from here
include/dmlc/threadediter.h:239:35: warning: unused variable 'lock' [-Wunused-variable]
std::lock_guard
^
include/dmlc/threadediter.h: In instantiation of 'void dmlc::ThreadedIter
src/io/cached_input_split.h:68:43: required from here
include/dmlc/threadediter.h:387:33: warning: unused variable 'lock' [-Wunused-variable]
std::lock_guard
^~~
include/dmlc/threadediter.h: In instantiation of 'dmlc::ThreadedIter
include/dmlc/threadediter.h:343:37: warning: unused variable 'lock' [-Wunused-variable]
std::lock_guard
^
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
mingw32-make: *
mingw32-make:
In file included from src/data/parser.h:12:0,
from src/data.cc:10:
include/dmlc/threadediter.h:210:8: error: 'thread' in namespace 'std' does not name a type
std::thread producer_thread_;
^~
include/dmlc/threadediter.h:216:8: error: 'mutex' in namespace 'std' does not name a type
std::mutex mutex_;
^~~
include/dmlc/threadediter.h:222:8: error: 'condition_variable' in namespace 'std' does not name a type
std::condition_variable producer_cond_;
^~~~
include/dmlc/threadediter.h:224:8: error: 'condition_variable' in namespace 'std' does not name a type
std::condition_variable consumer_cond_;
^~~~~~
include/dmlc/threadediter.h: In constructor 'dmlc::ThreadedIter
include/dmlc/threadediter.h:82:9: error: class 'dmlc::ThreadedIter
producer_thread_(NULL),
^~~~
include/dmlc/threadediter.h: In member function 'virtual void dmlc::ThreadedIter
include/dmlc/threadediter.h:168:27: error: 'mutex' is not a member of 'std'
std::unique_lock
^~~
include/dmlc/threadediter.h:168:27: error: 'mutex' is not a member of 'std'
include/dmlc/threadediter.h:168:32: error: template argument 1 is invalid
std::unique_lock
^
include/dmlc/threadediter.h:168:39: error: 'mutex_' was not declared in this scope
std::unique_lock
^~
include/dmlc/threadediter.h:168:39: note: suggested alternative: 'putenv'
std::unique_lock
^~
putenv
include/dmlc/threadediter.h:178:7: error: 'producer_cond_' was not declared in this scope
producer_cond_.notify_one();
^~~~
include/dmlc/threadediter.h:178:7: note: suggested alternative: 'producer_owned_'
producer_cond_.notify_one();
^~~~
producer_owned_
include/dmlc/threadediter.h:182:5: error: 'consumer_cond_' was not declared in this scope
consumer_cond_.wait(lock, this {
^~~~
include/dmlc/threadediter.h:187:10: error: request for member 'unlock' in 'lock', which is of non-class type 'int'
lock.unlock();
^~
include/dmlc/threadediter.h:189:17: error: 'producer_cond_' was not declared in this scope
if (notify) producer_cond_.notify_one();
^~~~
include/dmlc/threadediter.h:189:17: note: suggested alternative: 'producer_owned_'
if (notify) producer_cond_.notify_one();
^~~~
producer_owned_
include/dmlc/threadediter.h: In member function 'void dmlc::ThreadedIter
include/dmlc/threadediter.h:236:7: error: 'producer_thread_' was not declared in this scope
if (producer_thread_ != NULL) {
^~~~
include/dmlc/threadediter.h:236:7: note: suggested alternative: 'producer_owned_'
if (producer_thread_ != NULL) {
^~~~
producer_owned_
include/dmlc/threadediter.h:239:28: error: 'mutex' is not a member of 'std'
std::lock_guard
^~~
include/dmlc/threadediter.h:239:28: error: 'mutex' is not a member of 'std'
include/dmlc/threadediter.h:239:33: error: template argument 1 is invalid
std::lock_guard
^
include/dmlc/threadediter.h:239:40: error: 'mutex_' was not declared in this scope
std::lock_guard
^~
include/dmlc/threadediter.h:239:40: note: suggested alternative: 'putenv'
std::lock_guard
^~
putenv
include/dmlc/threadediter.h:243:9: error: 'producer_cond_' was not declared in this scope
producer_cond_.notify_one();
^~~~
include/dmlc/threadediter.h:243:9: note: suggested alternative: 'producer_owned_'
producer_cond_.notify_one();
^~~~~~
producer_owned_
include/dmlc/threadediter.h: In lambda function:
include/dmlc/threadediter.h:295:31: error: 'mutex' is not a member of 'std'
std::unique_lock
^
include/dmlc/threadediter.h:295:31: error: 'mutex' is not a member of 'std'
include/dmlc/threadediter.h:295:36: error: template argument 1 is invalid
std::unique_lock
^
include/dmlc/threadediter.h:295:43: error: 'mutex_' was not declared in this scope
std::unique_lock
^~
include/dmlc/threadediter.h:295:43: note: suggested alternative: 'putenv'
std::unique_lock
^~
putenv
include/dmlc/threadediter.h:297:9: error: 'producer_cond_' was not declared in this scope
producer_cond_.wait(lock, this {
^~~~
include/dmlc/threadediter.h:297:9: note: suggested alternative: 'producer_owned_'
producer_cond_.wait(lock, this {
^~~~
producer_owned_
include/dmlc/threadediter.h:325:16: error: request for member 'unlock' in 'lock', which is of non-class type 'int'
lock.unlock();
^~
include/dmlc/threadediter.h:326:11: error: 'consumer_cond_' was not declared in this scope
consumer_cond_.notify_all();
^~~~
include/dmlc/threadediter.h:333:11: error: 'consumer_cond_' was not declared in this scope
consumer_cond_.notify_all();
^~~~
include/dmlc/threadediter.h:343:30: error: 'mutex' is not a member of 'std'
std::lock_guard
^~~
include/dmlc/threadediter.h:343:30: error: 'mutex' is not a member of 'std'
include/dmlc/threadediter.h:343:35: error: template argument 1 is invalid
std::lock_guard
^
include/dmlc/threadediter.h:343:42: error: 'mutex_' was not declared in this scope
std::lock_guard
^~
include/dmlc/threadediter.h:343:42: note: suggested alternative: 'putenv'
std::lock_guard
^~
putenv
include/dmlc/threadediter.h:352:19: error: 'consumer_cond_' was not declared in this scope
if (notify) consumer_cond_.notify_all();
^~~~
include/dmlc/threadediter.h: In member function 'void dmlc::ThreadedIter
producer_thread_ = new std::thread(producer_fun);
^~~~
include/dmlc/threadediter.h:355:3: note: suggested alternative: 'producer_owned_'
producer_thread_ = new std::thread(producer_fun);
^~~~
producer_owned_
include/dmlc/threadediter.h:355:26: error: expected type-specifier
producer_thread_ = new std::thread(producer_fun);
^~~
include/dmlc/threadediter.h:355:26: error: expected ';'
include/dmlc/threadediter.h: In member function 'bool dmlc::ThreadedIter
include/dmlc/threadediter.h:362:25: error: 'mutex' is not a member of 'std'
std::unique_lock
^~~
include/dmlc/threadediter.h:362:25: error: 'mutex' is not a member of 'std'
include/dmlc/threadediter.h:362:30: error: template argument 1 is invalid
std::unique_lock
^
include/dmlc/threadediter.h:362:37: error: 'mutex_' was not declared in this scope
std::unique_lock
^~
include/dmlc/threadediter.h:362:37: note: suggested alternative: 'putenv'
std::unique_lock
^~
putenv
include/dmlc/threadediter.h:366:3: error: 'consumer_cond_' was not declared in this scope
consumer_cond_.wait(lock, this {
^~~~
include/dmlc/threadediter.h:374:10: error: request for member 'unlock' in 'lock', which is of non-class type 'int'
lock.unlock();
^~
include/dmlc/threadediter.h:375:17: error: 'producer_cond_' was not declared in this scope
if (notify) producer_cond_.notify_one();
^~~~
include/dmlc/threadediter.h:375:17: note: suggested alternative: 'producer_owned_'
if (notify) producer_cond_.notify_one();
^~~~
producer_owned_
include/dmlc/threadediter.h: In member function 'void dmlc::ThreadedIter
include/dmlc/threadediter.h:387:26: error: 'mutex' is not a member of 'std'
std::lock_guard
^~~
include/dmlc/threadediter.h:387:26: error: 'mutex' is not a member of 'std'
include/dmlc/threadediter.h:387:31: error: template argument 1 is invalid
std::lock_guard
^
include/dmlc/threadediter.h:387:38: error: 'mutex_' was not declared in this scope
std::lock_guard
^~
include/dmlc/threadediter.h:387:38: note: suggested alternative: 'putenv'
std::lock_guard
^~
putenv
include/dmlc/threadediter.h:392:15: error: 'producer_cond_' was not declared in this scope
if (notify) producer_cond_.notify_one();
^~~~
include/dmlc/threadediter.h:392:15: note: suggested alternative: 'producer_owned_'
if (notify) producer_cond_.notify_one();
^~~~
producer_owned_
include/dmlc/threadediter.h: In instantiation of 'dmlc::ThreadedIter
include/dmlc/threadediter.h:290:36: required from 'struct dmlc::ThreadedIter
src/data/parser.h:76:5: required from 'dmlc::data::ThreadedParser
src/data.cc:30:12: required from 'dmlc::Parser
src/data.cc:136:1: required from here
include/dmlc/threadediter.h:343:37: warning: unused variable 'lock' [-Wunused-variable]
std::lock_guard
^~
include/dmlc/threadediter.h: In instantiation of 'dmlc::ThreadedIter
include/dmlc/threadediter.h:290:36: required from 'struct dmlc::ThreadedIter
src/data/parser.h:76:5: required from 'dmlc::data::ThreadedParser
src/data.cc:30:12: required from 'dmlc::Parser
src/data.cc:137:1: required from here
include/dmlc/threadediter.h:343:37: warning: unused variable 'lock' [-Wunused-variable]
include/dmlc/threadediter.h: In instantiation of 'void dmlc::ThreadedIter
include/dmlc/threadediter.h:89:11: required from 'dmlc::ThreadedIter
src/data/disk_row_iter.h:41:42: required from 'dmlc::data::DiskRowIter
src/data.cc:83:12: required from 'dmlc::RowBlockIter
src/data.cc:103:70: required from here
include/dmlc/threadediter.h:239:35: warning: unused variable 'lock' [-Wunused-variable]
std::lock_guard
^~~
include/dmlc/threadediter.h: In instantiation of 'dmlc::ThreadedIter
include/dmlc/threadediter.h:290:36: required from 'struct dmlc::ThreadedIter
src/data/disk_row_iter.h:100:3: required from 'bool dmlc::data::DiskRowIter
src/data/disk_row_iter.h:43:24: required from 'dmlc::data::DiskRowIter
src/data.cc:83:12: required from 'dmlc::RowBlockIter
src/data.cc:103:70: required from here
include/dmlc/threadediter.h:343:37: warning: unused variable 'lock' [-Wunused-variable]
std::lock_guard
^
include/dmlc/threadediter.h: In instantiation of 'void dmlc::ThreadedIter
include/dmlc/threadediter.h:89:11: required from 'dmlc::ThreadedIter
src/data/disk_row_iter.h:41:42: required from 'dmlc::data::DiskRowIter
src/data.cc:83:12: required from 'dmlc::RowBlockIter
src/data.cc:112:70: required from here
include/dmlc/threadediter.h:239:35: warning: unused variable 'lock' [-Wunused-variable]
std::lock_guard
^~~
include/dmlc/threadediter.h: In instantiation of 'dmlc::ThreadedIter
include/dmlc/threadediter.h:290:36: required from 'struct dmlc::ThreadedIter
src/data/disk_row_iter.h:100:3: required from 'bool dmlc::data::DiskRowIter
src/data/disk_row_iter.h:43:24: required from 'dmlc::data::DiskRowIter
src/data.cc:83:12: required from 'dmlc::RowBlockIter
src/data.cc:112:70: required from here
include/dmlc/threadediter.h:343:37: warning: unused variable 'lock' [-Wunused-variable]
std::lock_guard
^
include/dmlc/threadediter.h: In instantiation of 'void dmlc::ThreadedIter
include/dmlc/threadediter.h:89:11: required from 'dmlc::ThreadedIter
src/data/parser.h:74:31: required from 'dmlc::data::ThreadedParser
src/data.cc:30:12: required from 'dmlc::Parser
src/data.cc:136:1: required from here
include/dmlc/threadediter.h:239:35: warning: unused variable 'lock' [-Wunused-variable]
std::lock_guard
^~~
include/dmlc/threadediter.h: In instantiation of 'void dmlc::ThreadedIter
include/dmlc/threadediter.h:89:11: required from 'dmlc::ThreadedIter
src/data/parser.h:74:31: required from 'dmlc::data::ThreadedParser
src/data.cc:30:12: required from 'dmlc::Parser
src/data.cc:137:1: required from here
include/dmlc/threadediter.h:239:35: warning: unused variable 'lock' [-Wunused-variable]
include/dmlc/threadediter.h: In instantiation of 'void dmlc::ThreadedIter
src/data/parser.h:104:25: required from 'bool dmlc::data::ThreadedParser
src/data.cc:141:1: required from here
include/dmlc/threadediter.h:387:33: warning: unused variable 'lock' [-Wunused-variable]
std::lock_guard
^
include/dmlc/threadediter.h: In instantiation of 'void dmlc::ThreadedIter
src/data/parser.h:104:25: required from 'bool dmlc::data::ThreadedParser
src/data.cc:141:1: required from here
include/dmlc/threadediter.h:387:33: warning: unused variable 'lock' [-Wunused-variable]
include/dmlc/threadediter.h: In instantiation of 'void dmlc::ThreadedIter
include/dmlc/threadediter.h:149:13: required from 'bool dmlc::ThreadedIter
src/data.cc:141:1: required from here
include/dmlc/threadediter.h:387:33: warning: unused variable 'lock' [-Wunused-variable]
include/dmlc/threadediter.h: In instantiation of 'void dmlc::ThreadedIter
include/dmlc/threadediter.h:149:13: required from 'bool dmlc::ThreadedIter
src/data.cc:141:1: required from here
include/dmlc/threadediter.h:387:33: warning: unused variable 'lock' [-Wunused-variable]
mingw32-make: *
Thank you so much!
Most helpful comment
It seems that the instructions for building it on Windows are no longer valid: the latest Git for Windows doesn't have
mingw32-make.exe
on PATH. I checked/mingw64/bin
as suggested by @Far0n, but no luck: