Xgboost: mingw32-make: command not found

Created on 21 Apr 2016  路  12Comments  路  Source: dmlc/xgboost

I received the following message. Could you help me out? Thanks!

$ make -j4
sh.exe": mingw32-make: command not found

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:

Alexey Grigorev@AlexeyGrigorev MINGW64 /mingw64/bin
$ ls /mingw64/bin/ | grep make

Alexey Grigorev@AlexeyGrigorev MINGW64 /mingw64/bin
$

All 12 comments

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::ThreadedIter(size_t)':
include/dmlc/threadediter.h:82:9: error: class 'dmlc::ThreadedIter' does not have any field named 'producer_thread_'
producer_thread_(NULL),
^~~~
include/dmlc/threadediter.h: In member function 'virtual void dmlc::ThreadedIter::BeforeFirst()':
include/dmlc/threadediter.h:168:27: error: 'mutex' is not a member of 'std'
std::unique_lock lock(mutex_);
^~~
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 lock(mutex_);
^
include/dmlc/threadediter.h:168:39: error: 'mutex_' was not declared in this scope
std::unique_lock lock(mutex_);
^
~
include/dmlc/threadediter.h:168:39: note: suggested alternative: 'putenv'
std::unique_lock lock(mutex_);
^
~
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::Destroy()':
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 lock(mutex_);
^~~
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 lock(mutex_);
^
include/dmlc/threadediter.h:239:40: error: 'mutex_' was not declared in this scope
std::lock_guard lock(mutex_);
^
~
include/dmlc/threadediter.h:239:40: note: suggested alternative: 'putenv'
std::lock_guard lock(mutex_);
^
~
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 lock(mutex_);
^
~~
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 lock(mutex_);
^
include/dmlc/threadediter.h:295:43: error: 'mutex_' was not declared in this scope
std::unique_lock lock(mutex_);
^~
include/dmlc/threadediter.h:295:43: note: suggested alternative: 'putenv'
std::unique_lock lock(mutex_);
^~
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 lock(mutex_);
^~~
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 lock(mutex_);
^
include/dmlc/threadediter.h:343:42: error: 'mutex_' was not declared in this scope
std::lock_guard lock(mutex_);
^
~
include/dmlc/threadediter.h:343:42: note: suggested alternative: 'putenv'
std::lock_guard lock(mutex_);
^
~
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::Init(std::function include/dmlc/threadediter.h:355:3: error: 'producer_thread_' was not declared in this scope
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::Next(DType)':
include/dmlc/threadediter.h:362:25: error: 'mutex' is not a member of 'std'
std::unique_lock lock(mutex_);
^~~
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 lock(mutex_);
^
include/dmlc/threadediter.h:362:37: error: 'mutex_' was not declared in this scope
std::unique_lock lock(mutex_);
^
~
include/dmlc/threadediter.h:362:37: note: suggested alternative: 'putenv'
std::unique_lock lock(mutex_);
^
~
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::Recycle(DType
)':
include/dmlc/threadediter.h:387:26: error: 'mutex' is not a member of 'std'
std::lock_guard lock(mutex_);
^~~
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 lock(mutex_);
^
include/dmlc/threadediter.h:387:38: error: 'mutex_' was not declared in this scope
std::lock_guard lock(mutex_);
^
~
include/dmlc/threadediter.h:387:38: note: suggested alternative: 'putenv'
std::lock_guard lock(mutex_);
^
~
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::Destroy() [with DType = dmlc::io::InputSplitBase::Chunk]':
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 lock(mutex_);
^
~
include/dmlc/threadediter.h: In instantiation of 'void dmlc::ThreadedIter::Recycle(DType) [with DType = dmlc::io::InputSplitBase::Chunk]':
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 lock(mutex_);
^~
include/dmlc/threadediter.h: In instantiation of 'dmlc::ThreadedIter::Init(std::function include/dmlc/threadediter.h:290:36: required from 'struct dmlc::ThreadedIter::Init(std::function include/dmlc/threadediter.h:290:8: required from 'void dmlc::ThreadedIter::Init(std::function src/io/cached_input_split.h:160:6: required from here
include/dmlc/threadediter.h:343:37: warning: unused variable 'lock' [-Wunused-variable]
std::lock_guard lock(mutex_);
^
~
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: *
[Makefile:75: io.o] Error 1
mingw32-make:
Waiting for unfinished jobs....
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::ThreadedIter(size_t)':
include/dmlc/threadediter.h:82:9: error: class 'dmlc::ThreadedIter' does not have any field named 'producer_thread_'
producer_thread_(NULL),
^~~~
include/dmlc/threadediter.h: In member function 'virtual void dmlc::ThreadedIter::BeforeFirst()':
include/dmlc/threadediter.h:168:27: error: 'mutex' is not a member of 'std'
std::unique_lock lock(mutex_);
^~~
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 lock(mutex_);
^
include/dmlc/threadediter.h:168:39: error: 'mutex_' was not declared in this scope
std::unique_lock lock(mutex_);
^
~
include/dmlc/threadediter.h:168:39: note: suggested alternative: 'putenv'
std::unique_lock lock(mutex_);
^
~
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::Destroy()':
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 lock(mutex_);
^~~
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 lock(mutex_);
^
include/dmlc/threadediter.h:239:40: error: 'mutex_' was not declared in this scope
std::lock_guard lock(mutex_);
^
~
include/dmlc/threadediter.h:239:40: note: suggested alternative: 'putenv'
std::lock_guard lock(mutex_);
^
~
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 lock(mutex_);
^
~~
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 lock(mutex_);
^
include/dmlc/threadediter.h:295:43: error: 'mutex_' was not declared in this scope
std::unique_lock lock(mutex_);
^~
include/dmlc/threadediter.h:295:43: note: suggested alternative: 'putenv'
std::unique_lock lock(mutex_);
^~
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 lock(mutex_);
^~~
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 lock(mutex_);
^
include/dmlc/threadediter.h:343:42: error: 'mutex_' was not declared in this scope
std::lock_guard lock(mutex_);
^
~
include/dmlc/threadediter.h:343:42: note: suggested alternative: 'putenv'
std::lock_guard lock(mutex_);
^
~
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::Init(std::function include/dmlc/threadediter.h:355:3: error: 'producer_thread_' was not declared in this scope
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::Next(DType
)':
include/dmlc/threadediter.h:362:25: error: 'mutex' is not a member of 'std'
std::unique_lock lock(mutex_);
^~~
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 lock(mutex_);
^
include/dmlc/threadediter.h:362:37: error: 'mutex_' was not declared in this scope
std::unique_lock lock(mutex_);
^
~
include/dmlc/threadediter.h:362:37: note: suggested alternative: 'putenv'
std::unique_lock lock(mutex_);
^
~
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::Recycle(DType)':
include/dmlc/threadediter.h:387:26: error: 'mutex' is not a member of 'std'
std::lock_guard lock(mutex_);
^~~
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 lock(mutex_);
^
include/dmlc/threadediter.h:387:38: error: 'mutex_' was not declared in this scope
std::lock_guard lock(mutex_);
^
~
include/dmlc/threadediter.h:387:38: note: suggested alternative: 'putenv'
std::lock_guard lock(mutex_);
^
~
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::Init(std::function, std::allocator > >]':
include/dmlc/threadediter.h:290:36: required from 'struct dmlc::ThreadedIter::Init(std::function, std::allocator > >]:: include/dmlc/threadediter.h:290:8: required from 'void dmlc::ThreadedIter::Init(std::function, std::allocator > >]'
src/data/parser.h:76:5: required from 'dmlc::data::ThreadedParser::ThreadedParser(dmlc::data::ParserImpl
) [with IndexType = unsigned int]'
src/data.cc:30:12: required from 'dmlc::Parser* dmlc::data::CreateLibSVMParser(const string&, const std::map, std::__cxx11::basic_string >&, unsigned int, unsigned int) [with IndexType = unsigned int; std::__cxx11::string = std::__cxx11::basic_string]'
src/data.cc:136:1: required from here
include/dmlc/threadediter.h:343:37: warning: unused variable 'lock' [-Wunused-variable]
std::lock_guard lock(mutex_);
^
~
include/dmlc/threadediter.h: In instantiation of 'dmlc::ThreadedIter::Init(std::function, std::allocator > >]':
include/dmlc/threadediter.h:290:36: required from 'struct dmlc::ThreadedIter::Init(std::function, std::allocator > >]:: include/dmlc/threadediter.h:290:8: required from 'void dmlc::ThreadedIter::Init(std::function, std::allocator > >]'
src/data/parser.h:76:5: required from 'dmlc::data::ThreadedParser::ThreadedParser(dmlc::data::ParserImpl) [with IndexType = long long unsigned int]'
src/data.cc:30:12: required from 'dmlc::Parser
dmlc::data::CreateLibSVMParser(const string&, const std::map, std::__cxx11::basic_string >&, unsigned int, unsigned int) [with IndexType = long long unsigned int; std::__cxx11::string = std::__cxx11::basic_string]'
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::Destroy() [with DType = dmlc::data::RowBlockContainer]':
include/dmlc/threadediter.h:89:11: required from 'dmlc::ThreadedIter::~ThreadedIter() [with DType = dmlc::data::RowBlockContainer]'
src/data/disk_row_iter.h:41:42: required from 'dmlc::data::DiskRowIter::DiskRowIter(dmlc::Parser, const char, bool) [with IndexType = unsigned int]'
src/data.cc:83:12: required from 'dmlc::RowBlockIter* dmlc::data::CreateIter_(const char, unsigned int, unsigned int, const char) [with IndexType = unsigned int]'
src/data.cc:103:70: required from here
include/dmlc/threadediter.h:239:35: warning: unused variable 'lock' [-Wunused-variable]
std::lock_guard lock(mutex_);
^~
include/dmlc/threadediter.h: In instantiation of 'dmlc::ThreadedIter::Init(std::function]':
include/dmlc/threadediter.h:290:36: required from 'struct dmlc::ThreadedIter::Init(std::function]:: include/dmlc/threadediter.h:290:8: required from 'void dmlc::ThreadedIter::Init(std::function]'
src/data/disk_row_iter.h:100:3: required from 'bool dmlc::data::DiskRowIter::TryLoadCache() [with IndexType = unsigned int]'
src/data/disk_row_iter.h:43:24: required from 'dmlc::data::DiskRowIter::DiskRowIter(dmlc::Parser, const char, bool) [with IndexType = unsigned int]'
src/data.cc:83:12: required from 'dmlc::RowBlockIter* dmlc::data::CreateIter_(const char, unsigned int, unsigned int, const char) [with IndexType = unsigned int]'
src/data.cc:103:70: required from here
include/dmlc/threadediter.h:343:37: warning: unused variable 'lock' [-Wunused-variable]
std::lock_guard lock(mutex_);
^
~
include/dmlc/threadediter.h: In instantiation of 'void dmlc::ThreadedIter::Destroy() [with DType = dmlc::data::RowBlockContainer]':
include/dmlc/threadediter.h:89:11: required from 'dmlc::ThreadedIter::~ThreadedIter() [with DType = dmlc::data::RowBlockContainer]'
src/data/disk_row_iter.h:41:42: required from 'dmlc::data::DiskRowIter::DiskRowIter(dmlc::Parser, const char, bool) [with IndexType = long long unsigned int]'
src/data.cc:83:12: required from 'dmlc::RowBlockIter* dmlc::data::CreateIter_(const char, unsigned int, unsigned int, const char) [with IndexType = long long unsigned int]'
src/data.cc:112:70: required from here
include/dmlc/threadediter.h:239:35: warning: unused variable 'lock' [-Wunused-variable]
std::lock_guard lock(mutex_);
^~
include/dmlc/threadediter.h: In instantiation of 'dmlc::ThreadedIter::Init(std::function]':
include/dmlc/threadediter.h:290:36: required from 'struct dmlc::ThreadedIter::Init(std::function]:: include/dmlc/threadediter.h:290:8: required from 'void dmlc::ThreadedIter::Init(std::function]'
src/data/disk_row_iter.h:100:3: required from 'bool dmlc::data::DiskRowIter::TryLoadCache() [with IndexType = long long unsigned int]'
src/data/disk_row_iter.h:43:24: required from 'dmlc::data::DiskRowIter::DiskRowIter(dmlc::Parser, const char, bool) [with IndexType = long long unsigned int]'
src/data.cc:83:12: required from 'dmlc::RowBlockIter* dmlc::data::CreateIter_(const char, unsigned int, unsigned int, const char) [with IndexType = long long unsigned int]'
src/data.cc:112:70: required from here
include/dmlc/threadediter.h:343:37: warning: unused variable 'lock' [-Wunused-variable]
std::lock_guard lock(mutex_);
^
~
include/dmlc/threadediter.h: In instantiation of 'void dmlc::ThreadedIter::Destroy() [with DType = std::vector, std::allocator > >]':
include/dmlc/threadediter.h:89:11: required from 'dmlc::ThreadedIter::~ThreadedIter() [with DType = std::vector, std::allocator > >]'
src/data/parser.h:74:31: required from 'dmlc::data::ThreadedParser::ThreadedParser(dmlc::data::ParserImpl) [with IndexType = unsigned int]'
src/data.cc:30:12: required from 'dmlc::Parser
dmlc::data::CreateLibSVMParser(const string&, const std::map, std::__cxx11::basic_string >&, unsigned int, unsigned int) [with IndexType = unsigned int; std::__cxx11::string = std::__cxx11::basic_string]'
src/data.cc:136:1: required from here
include/dmlc/threadediter.h:239:35: warning: unused variable 'lock' [-Wunused-variable]
std::lock_guard lock(mutex_);
^~
include/dmlc/threadediter.h: In instantiation of 'void dmlc::ThreadedIter::Destroy() [with DType = std::vector, std::allocator > >]':
include/dmlc/threadediter.h:89:11: required from 'dmlc::ThreadedIter::~ThreadedIter() [with DType = std::vector, std::allocator > >]'
src/data/parser.h:74:31: required from 'dmlc::data::ThreadedParser::ThreadedParser(dmlc::data::ParserImpl) [with IndexType = long long unsigned int]'
src/data.cc:30:12: required from 'dmlc::Parser
dmlc::data::CreateLibSVMParser(const string&, const std::map, std::__cxx11::basic_string >&, unsigned int, unsigned int) [with IndexType = long long unsigned int; std::__cxx11::string = std::__cxx11::basic_string]'
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::Recycle(DType
) [with DType = std::vector, std::allocator > >]':
src/data/parser.h:104:25: required from 'bool dmlc::data::ThreadedParser::Next() [with IndexType = long long unsigned int]'
src/data.cc:141:1: required from here
include/dmlc/threadediter.h:387:33: warning: unused variable 'lock' [-Wunused-variable]
std::lock_guard lock(mutex_);
^
~
include/dmlc/threadediter.h: In instantiation of 'void dmlc::ThreadedIter::Recycle(DType) [with DType = std::vector, std::allocator > >]':
src/data/parser.h:104:25: required from 'bool dmlc::data::ThreadedParser::Next() [with IndexType = unsigned int]'
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::Recycle(DType
) [with DType = dmlc::data::RowBlockContainer]':
include/dmlc/threadediter.h:149:13: required from 'bool dmlc::ThreadedIter::Next() [with DType = dmlc::data::RowBlockContainer]'
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::Recycle(DType) [with DType = dmlc::data::RowBlockContainer]':
include/dmlc/threadediter.h:149:13: required from 'bool dmlc::ThreadedIter::Next() [with DType = dmlc::data::RowBlockContainer]'
src/data.cc:141:1: required from here
include/dmlc/threadediter.h:387:33: warning: unused variable 'lock' [-Wunused-variable]
mingw32-make: *
[Makefile:75: data.o] Error 1

Thank you so much!

Was this page helpful?
0 / 5 - 0 ratings

Related issues

nnorton24 picture nnorton24  路  3Comments

choushishi picture choushishi  路  3Comments

trivialfis picture trivialfis  路  3Comments

uasthana15 picture uasthana15  路  4Comments

matthewmav picture matthewmav  路  3Comments