bitcoin: Compilation error for windows target
I used git clean -dfx, rebuilt depends, still getting it:
CXX libbitcoin_server_a-pow.o
CXX libbitcoin_server_a-rest.o
CXX rpc/libbitcoin_server_a-blockchain.o
gcc gen_context.o -o gen_context
./gen_context
CC src/libsecp256k1_la-secp256k1.lo
httpserver.cpp:69:10: error: ‘mutex’ in namespace ‘std’ does not name a type
std::mutex cs;
^
httpserver.cpp:70:10: error: ‘condition_variable’ in namespace ‘std’ does not name a type
std::condition_variable cond;
^
httpserver.cpp: In constructor ‘WorkQueue<WorkItem>::ThreadCounter::ThreadCounter(WorkQueue<WorkItem>&)’:
httpserver.cpp:83:29: error: ‘mutex’ is not a member of ‘std’
std::lock_guard<std::mutex> lock(wq.cs);
^
httpserver.cpp:83:29: note: suggested alternatives:
In file included from /home/nicolasdorier/bitcoin/depends/x86_64-w64-mingw32/share/../include/boost/thread/mutex.hpp:14:0,
from /home/nicolasdorier/bitcoin/depends/x86_64-w64-mingw32/share/../include/boost/thread/win32/condition_variable.hpp:17,
from /home/nicolasdorier/bitcoin/depends/x86_64-w64-mingw32/share/../include/boost/thread/condition_variable.hpp:14,
from sync.h:11,
from httpserver.cpp:12:
/home/nicolasdorier/bitcoin/depends/x86_64-w64-mingw32/share/../include/boost/thread/win32/mutex.hpp:25:11: note: ‘boost::mutex’
class mutex:
^
In file included from /home/nicolasdorier/bitcoin/depends/x86_64-w64-mingw32/share/../include/boost/signals2/mutex.hpp:32:0,
from /home/nicolasdorier/bitcoin/depends/x86_64-w64-mingw32/share/../include/boost/signals2/signal.hpp:31,
from util.h:29,
from httpserver.cpp:9:
/home/nicolasdorier/bitcoin/depends/x86_64-w64-mingw32/share/../include/boost/signals2/detail/lwm_win32_cs.hpp:68:7: note: ‘boost::signals2::mutex’
class mutex
^
httpserver.cpp:83:29: error: ‘mutex’ is not a member of ‘std’
std::lock_guard<std::mutex> lock(wq.cs);
^
httpserver.cpp:83:29: note: suggested alternatives:
In file included from /home/nicolasdorier/bitcoin/depends/x86_64-w64-mingw32/share/../include/boost/thread/mutex.hpp:14:0,
from /home/nicolasdorier/bitcoin/depends/x86_64-w64-mingw32/share/../include/boost/thread/win32/condition_variable.hpp:17,
from /home/nicolasdorier/bitcoin/depends/x86_64-w64-mingw32/share/../include/boost/thread/condition_variable.hpp:14,
from sync.h:11,
from httpserver.cpp:12:
/home/nicolasdorier/bitcoin/depends/x86_64-w64-mingw32/share/../include/boost/thread/win32/mutex.hpp:25:11: note: ‘boost::mutex’
class mutex:
^
In file included from /home/nicolasdorier/bitcoin/depends/x86_64-w64-mingw32/share/../include/boost/signals2/mutex.hpp:32:0,
from /home/nicolasdorier/bitcoin/depends/x86_64-w64-mingw32/share/../include/boost/signals2/signal.hpp:31,
from util.h:29,
from httpserver.cpp:9:
/home/nicolasdorier/bitcoin/depends/x86_64-w64-mingw32/share/../include/boost/signals2/detail/lwm_win32_cs.hpp:68:7: note: ‘boost::signals2::mutex’
class mutex
^
httpserver.cpp:83:39: error: template argument 1 is invalid
std::lock_guard<std::mutex> lock(wq.cs);
^
httpserver.cpp:83:45: error: invalid type in declaration before ‘(’ token
std::lock_guard<std::mutex> lock(wq.cs);
^
httpserver.cpp: In destructor ‘WorkQueue<WorkItem>::ThreadCounter::~ThreadCounter()’:
httpserver.cpp:88:29: error: ‘mutex’ is not a member of ‘std’
std::lock_guard<std::mutex> lock(wq.cs);
^
httpserver.cpp:88:29: note: suggested alternatives:
In file included from /home/nicolasdorier/bitcoin/depends/x86_64-w64-mingw32/share/../include/boost/thread/mutex.hpp:14:0,
from /home/nicolasdorier/bitcoin/depends/x86_64-w64-mingw32/share/../include/boost/thread/win32/condition_variable.hpp:17,
from /home/nicolasdorier/bitcoin/depends/x86_64-w64-mingw32/share/../include/boost/thread/condition_variable.hpp:14,
from sync.h:11,
from httpserver.cpp:12:
/home/nicolasdorier/bitcoin/depends/x86_64-w64-mingw32/share/../include/boost/thread/win32/mutex.hpp:25:11: note: ‘boost::mutex’
class mutex:
^
In file included from /home/nicolasdorier/bitcoin/depends/x86_64-w64-mingw32/share/../include/boost/signals2/mutex.hpp:32:0,
from /home/nicolasdorier/bitcoin/depends/x86_64-w64-mingw32/share/../include/boost/signals2/signal.hpp:31,
from util.h:29,
from httpserver.cpp:9:
/home/nicolasdorier/bitcoin/depends/x86_64-w64-mingw32/share/../include/boost/signals2/detail/lwm_win32_cs.hpp:68:7: note: ‘boost::signals2::mutex’
class mutex
^
httpserver.cpp:88:29: error: ‘mutex’ is not a member of ‘std’
std::lock_guard<std::mutex> lock(wq.cs);
^
httpserver.cpp:88:29: note: suggested alternatives:
In file included from /home/nicolasdorier/bitcoin/depends/x86_64-w64-mingw32/share/../include/boost/thread/mutex.hpp:14:0,
from /home/nicolasdorier/bitcoin/depends/x86_64-w64-mingw32/share/../include/boost/thread/win32/condition_variable.hpp:17,
from /home/nicolasdorier/bitcoin/depends/x86_64-w64-mingw32/share/../include/boost/thread/condition_variable.hpp:14,
from sync.h:11,
from httpserver.cpp:12:
/home/nicolasdorier/bitcoin/depends/x86_64-w64-mingw32/share/../include/boost/thread/win32/mutex.hpp:25:11: note: ‘boost::mutex’
class mutex:
^
In file included from /home/nicolasdorier/bitcoin/depends/x86_64-w64-mingw32/share/../include/boost/signals2/mutex.hpp:32:0,
from /home/nicolasdorier/bitcoin/depends/x86_64-w64-mingw32/share/../include/boost/signals2/signal.hpp:31,
from util.h:29,
from httpserver.cpp:9:
/home/nicolasdorier/bitcoin/depends/x86_64-w64-mingw32/share/../include/boost/signals2/detail/lwm_win32_cs.hpp:68:7: note: ‘boost::signals2::mutex’
class mutex
^
httpserver.cpp:88:39: error: template argument 1 is invalid
std::lock_guard<std::mutex> lock(wq.cs);
^
httpserver.cpp:88:45: error: invalid type in declaration before ‘(’ token
std::lock_guard<std::mutex> lock(wq.cs);
^
httpserver.cpp: In member function ‘bool WorkQueue<WorkItem>::Enqueue(WorkItem*)’:
httpserver.cpp:109:26: error: ‘mutex’ is not a member of ‘std’
std::unique_lock<std::mutex> lock(cs);
^
httpserver.cpp:109:26: note: suggested alternatives:
In file included from /home/nicolasdorier/bitcoin/depends/x86_64-w64-mingw32/share/../include/boost/thread/mutex.hpp:14:0,
from /home/nicolasdorier/bitcoin/depends/x86_64-w64-mingw32/share/../include/boost/thread/win32/condition_variable.hpp:17,
from /home/nicolasdorier/bitcoin/depends/x86_64-w64-mingw32/share/../include/boost/thread/condition_variable.hpp:14,
from sync.h:11,
from httpserver.cpp:12:
/home/nicolasdorier/bitcoin/depends/x86_64-w64-mingw32/share/../include/boost/thread/win32/mutex.hpp:25:11: note: ‘boost::mutex’
class mutex:
^
In file included from /home/nicolasdorier/bitcoin/depends/x86_64-w64-mingw32/share/../include/boost/signals2/mutex.hpp:32:0,
from /home/nicolasdorier/bitcoin/depends/x86_64-w64-mingw32/share/../include/boost/signals2/signal.hpp:31,
from util.h:29,
from httpserver.cpp:9:
/home/nicolasdorier/bitcoin/depends/x86_64-w64-mingw32/share/../include/boost/signals2/detail/lwm_win32_cs.hpp:68:7: note: ‘boost::signals2::mutex’
class mutex
^
httpserver.cpp:109:26: error: ‘mutex’ is not a member of ‘std’
std::unique_lock<std::mutex> lock(cs);
^
httpserver.cpp:109:26: note: suggested alternatives:
In file included from /home/nicolasdorier/bitcoin/depends/x86_64-w64-mingw32/share/../include/boost/thread/mutex.hpp:14:0,
from /home/nicolasdorier/bitcoin/depends/x86_64-w64-mingw32/share/../include/boost/thread/win32/condition_variable.hpp:17,
from /home/nicolasdorier/bitcoin/depends/x86_64-w64-mingw32/share/../include/boost/thread/condition_variable.hpp:14,
from sync.h:11,
from httpserver.cpp:12:
/home/nicolasdorier/bitcoin/depends/x86_64-w64-mingw32/share/../include/boost/thread/win32/mutex.hpp:25:11: note: ‘boost::mutex’
class mutex:
^
In file included from /home/nicolasdorier/bitcoin/depends/x86_64-w64-mingw32/share/../include/boost/signals2/mutex.hpp:32:0,
from /home/nicolasdorier/bitcoin/depends/x86_64-w64-mingw32/share/../include/boost/signals2/signal.hpp:31,
from util.h:29,
from httpserver.cpp:9:
/home/nicolasdorier/bitcoin/depends/x86_64-w64-mingw32/share/../include/boost/signals2/detail/lwm_win32_cs.hpp:68:7: note: ‘boost::signals2::mutex’
class mutex
^
httpserver.cpp:109:36: error: template argument 1 is invalid
std::unique_lock<std::mutex> lock(cs);
^
httpserver.cpp:109:42: error: invalid type in declaration before ‘(’ token
std::unique_lock<std::mutex> lock(cs);
^
httpserver.cpp:109:43: error: ‘cs’ was not declared in this scope
std::unique_lock<std::mutex> lock(cs);
^
httpserver.cpp:114:9: error: ‘cond’ was not declared in this scope
cond.notify_one();
^
httpserver.cpp: In member function ‘void WorkQueue<WorkItem>::Run()’:
httpserver.cpp:124:34: error: ‘mutex’ is not a member of ‘std’
std::unique_lock<std::mutex> lock(cs);
^
httpserver.cpp:124:34: note: suggested alternatives:
In file included from /home/nicolasdorier/bitcoin/depends/x86_64-w64-mingw32/share/../include/boost/thread/mutex.hpp:14:0,
from /home/nicolasdorier/bitcoin/depends/x86_64-w64-mingw32/share/../include/boost/thread/win32/condition_variable.hpp:17,
from /home/nicolasdorier/bitcoin/depends/x86_64-w64-mingw32/share/../include/boost/thread/condition_variable.hpp:14,
from sync.h:11,
from httpserver.cpp:12:
/home/nicolasdorier/bitcoin/depends/x86_64-w64-mingw32/share/../include/boost/thread/win32/mutex.hpp:25:11: note: ‘boost::mutex’
class mutex:
^
In file included from /home/nicolasdorier/bitcoin/depends/x86_64-w64-mingw32/share/../include/boost/signals2/mutex.hpp:32:0,
from /home/nicolasdorier/bitcoin/depends/x86_64-w64-mingw32/share/../include/boost/signals2/signal.hpp:31,
from util.h:29,
from httpserver.cpp:9:
/home/nicolasdorier/bitcoin/depends/x86_64-w64-mingw32/share/../include/boost/signals2/detail/lwm_win32_cs.hpp:68:7: note: ‘boost::signals2::mutex’
class mutex
^
httpserver.cpp:124:34: error: ‘mutex’ is not a member of ‘std’
std::unique_lock<std::mutex> lock(cs);
^
httpserver.cpp:124:34: note: suggested alternatives:
In file included from /home/nicolasdorier/bitcoin/depends/x86_64-w64-mingw32/share/../include/boost/thread/mutex.hpp:14:0,
from /home/nicolasdorier/bitcoin/depends/x86_64-w64-mingw32/share/../include/boost/thread/win32/condition_variable.hpp:17,
from /home/nicolasdorier/bitcoin/depends/x86_64-w64-mingw32/share/../include/boost/thread/condition_variable.hpp:14,
from sync.h:11,
from httpserver.cpp:12:
/home/nicolasdorier/bitcoin/depends/x86_64-w64-mingw32/share/../include/boost/thread/win32/mutex.hpp:25:11: note: ‘boost::mutex’
class mutex:
^
In file included from /home/nicolasdorier/bitcoin/depends/x86_64-w64-mingw32/share/../include/boost/signals2/mutex.hpp:32:0,
from /home/nicolasdorier/bitcoin/depends/x86_64-w64-mingw32/share/../include/boost/signals2/signal.hpp:31,
from util.h:29,
from httpserver.cpp:9:
/home/nicolasdorier/bitcoin/depends/x86_64-w64-mingw32/share/../include/boost/signals2/detail/lwm_win32_cs.hpp:68:7: note: ‘boost::signals2::mutex’
class mutex
^
httpserver.cpp:124:44: error: template argument 1 is invalid
std::unique_lock<std::mutex> lock(cs);
^
httpserver.cpp:124:50: error: invalid type in declaration before ‘(’ token
std::unique_lock<std::mutex> lock(cs);
^
httpserver.cpp:124:51: error: ‘cs’ was not declared in this scope
std::unique_lock<std::mutex> lock(cs);
^
httpserver.cpp:126:21: error: ‘cond’ was not declared in this scope
cond.wait(lock);
^
httpserver.cpp: In member function ‘void WorkQueue<WorkItem>::Interrupt()’:
httpserver.cpp:138:26: error: ‘mutex’ is not a member of ‘std’
std::unique_lock<std::mutex> lock(cs);
^
httpserver.cpp:138:26: note: suggested alternatives:
In file included from /home/nicolasdorier/bitcoin/depends/x86_64-w64-mingw32/share/../include/boost/thread/mutex.hpp:14:0,
from /home/nicolasdorier/bitcoin/depends/x86_64-w64-mingw32/share/../include/boost/thread/win32/condition_variable.hpp:17,
from /home/nicolasdorier/bitcoin/depends/x86_64-w64-mingw32/share/../include/boost/thread/condition_variable.hpp:14,
from sync.h:11,
from httpserver.cpp:12:
/home/nicolasdorier/bitcoin/depends/x86_64-w64-mingw32/share/../include/boost/thread/win32/mutex.hpp:25:11: note: ‘boost::mutex’
class mutex:
^
In file included from /home/nicolasdorier/bitcoin/depends/x86_64-w64-mingw32/share/../include/boost/signals2/mutex.hpp:32:0,
from /home/nicolasdorier/bitcoin/depends/x86_64-w64-mingw32/share/../include/boost/signals2/signal.hpp:31,
from util.h:29,
from httpserver.cpp:9:
/home/nicolasdorier/bitcoin/depends/x86_64-w64-mingw32/share/../include/boost/signals2/detail/lwm_win32_cs.hpp:68:7: note: ‘boost::signals2::mutex’
class mutex
^
httpserver.cpp:138:26: error: ‘mutex’ is not a member of ‘std’
std::unique_lock<std::mutex> lock(cs);
^
httpserver.cpp:138:26: note: suggested alternatives:
In file included from /home/nicolasdorier/bitcoin/depends/x86_64-w64-mingw32/share/../include/boost/thread/mutex.hpp:14:0,
from /home/nicolasdorier/bitcoin/depends/x86_64-w64-mingw32/share/../include/boost/thread/win32/condition_variable.hpp:17,
from /home/nicolasdorier/bitcoin/depends/x86_64-w64-mingw32/share/../include/boost/thread/condition_variable.hpp:14,
from sync.h:11,
from httpserver.cpp:12:
/home/nicolasdorier/bitcoin/depends/x86_64-w64-mingw32/share/../include/boost/thread/win32/mutex.hpp:25:11: note: ‘boost::mutex’
class mutex:
^
In file included from /home/nicolasdorier/bitcoin/depends/x86_64-w64-mingw32/share/../include/boost/signals2/mutex.hpp:32:0,
from /home/nicolasdorier/bitcoin/depends/x86_64-w64-mingw32/share/../include/boost/signals2/signal.hpp:31,
from util.h:29,
from httpserver.cpp:9:
/home/nicolasdorier/bitcoin/depends/x86_64-w64-mingw32/share/../include/boost/signals2/detail/lwm_win32_cs.hpp:68:7: note: ‘boost::signals2::mutex’
class mutex
^
httpserver.cpp:138:36: error: template argument 1 is invalid
std::unique_lock<std::mutex> lock(cs);
^
httpserver.cpp:138:42: error: invalid type in declaration before ‘(’ token
std::unique_lock<std::mutex> lock(cs);
^
httpserver.cpp:138:43: error: ‘cs’ was not declared in this scope
std::unique_lock<std::mutex> lock(cs);
^
httpserver.cpp:140:9: error: ‘cond’ was not declared in this scope
cond.notify_all();
^
httpserver.cpp: In member function ‘void WorkQueue<WorkItem>::WaitExit()’:
httpserver.cpp:145:26: error: ‘mutex’ is not a member of ‘std’
std::unique_lock<std::mutex> lock(cs);
^
httpserver.cpp:145:26: note: suggested alternatives:
In file included from /home/nicolasdorier/bitcoin/depends/x86_64-w64-mingw32/share/../include/boost/thread/mutex.hpp:14:0,
from /home/nicolasdorier/bitcoin/depends/x86_64-w64-mingw32/share/../include/boost/thread/win32/condition_variable.hpp:17,
from /home/nicolasdorier/bitcoin/depends/x86_64-w64-mingw32/share/../include/boost/thread/condition_variable.hpp:14,
from sync.h:11,
from httpserver.cpp:12:
/home/nicolasdorier/bitcoin/depends/x86_64-w64-mingw32/share/../include/boost/thread/win32/mutex.hpp:25:11: note: ‘boost::mutex’
class mutex:
^
In file included from /home/nicolasdorier/bitcoin/depends/x86_64-w64-mingw32/share/../include/boost/signals2/mutex.hpp:32:0,
from /home/nicolasdorier/bitcoin/depends/x86_64-w64-mingw32/share/../include/boost/signals2/signal.hpp:31,
from util.h:29,
from httpserver.cpp:9:
/home/nicolasdorier/bitcoin/depends/x86_64-w64-mingw32/share/../include/boost/signals2/detail/lwm_win32_cs.hpp:68:7: note: ‘boost::signals2::mutex’
class mutex
^
httpserver.cpp:145:26: error: ‘mutex’ is not a member of ‘std’
std::unique_lock<std::mutex> lock(cs);
^
httpserver.cpp:145:26: note: suggested alternatives:
In file included from /home/nicolasdorier/bitcoin/depends/x86_64-w64-mingw32/share/../include/boost/thread/mutex.hpp:14:0,
from /home/nicolasdorier/bitcoin/depends/x86_64-w64-mingw32/share/../include/boost/thread/win32/condition_variable.hpp:17,
from /home/nicolasdorier/bitcoin/depends/x86_64-w64-mingw32/share/../include/boost/thread/condition_variable.hpp:14,
from sync.h:11,
from httpserver.cpp:12:
/home/nicolasdorier/bitcoin/depends/x86_64-w64-mingw32/share/../include/boost/thread/win32/mutex.hpp:25:11: note: ‘boost::mutex’
class mutex:
^
In file included from /home/nicolasdorier/bitcoin/depends/x86_64-w64-mingw32/share/../include/boost/signals2/mutex.hpp:32:0,
from /home/nicolasdorier/bitcoin/depends/x86_64-w64-mingw32/share/../include/boost/signals2/signal.hpp:31,
from util.h:29,
from httpserver.cpp:9:
/home/nicolasdorier/bitcoin/depends/x86_64-w64-mingw32/share/../include/boost/signals2/detail/lwm_win32_cs.hpp:68:7: note: ‘boost::signals2::mutex’
class mutex
^
httpserver.cpp:145:36: error: template argument 1 is invalid
std::unique_lock<std::mutex> lock(cs);
^
httpserver.cpp:145:42: error: invalid type in declaration before ‘(’ token
std::unique_lock<std::mutex> lock(cs);
^
httpserver.cpp:145:43: error: ‘cs’ was not declared in this scope
std::unique_lock<std::mutex> lock(cs);
^
httpserver.cpp:147:13: error: ‘cond’ was not declared in this scope
cond.wait(lock);
^
httpserver.cpp: In member function ‘size_t WorkQueue<WorkItem>::Depth()’:
httpserver.cpp:153:26: error: ‘mutex’ is not a member of ‘std’
std::unique_lock<std::mutex> lock(cs);
^
httpserver.cpp:153:26: note: suggested alternatives:
In file included from /home/nicolasdorier/bitcoin/depends/x86_64-w64-mingw32/share/../include/boost/thread/mutex.hpp:14:0,
from /home/nicolasdorier/bitcoin/depends/x86_64-w64-mingw32/share/../include/boost/thread/win32/condition_variable.hpp:17,
from /home/nicolasdorier/bitcoin/depends/x86_64-w64-mingw32/share/../include/boost/thread/condition_variable.hpp:14,
from sync.h:11,
from httpserver.cpp:12:
/home/nicolasdorier/bitcoin/depends/x86_64-w64-mingw32/share/../include/boost/thread/win32/mutex.hpp:25:11: note: ‘boost::mutex’
class mutex:
^
In file included from /home/nicolasdorier/bitcoin/depends/x86_64-w64-mingw32/share/../include/boost/signals2/mutex.hpp:32:0,
from /home/nicolasdorier/bitcoin/depends/x86_64-w64-mingw32/share/../include/boost/signals2/signal.hpp:31,
from util.h:29,
from httpserver.cpp:9:
/home/nicolasdorier/bitcoin/depends/x86_64-w64-mingw32/share/../include/boost/signals2/detail/lwm_win32_cs.hpp:68:7: note: ‘boost::signals2::mutex’
class mutex
^
httpserver.cpp:153:26: error: ‘mutex’ is not a member of ‘std’
std::unique_lock<std::mutex> lock(cs);
^
httpserver.cpp:153:26: note: suggested alternatives:
In file included from /home/nicolasdorier/bitcoin/depends/x86_64-w64-mingw32/share/../include/boost/thread/mutex.hpp:14:0,
from /home/nicolasdorier/bitcoin/depends/x86_64-w64-mingw32/share/../include/boost/thread/win32/condition_variable.hpp:17,
from /home/nicolasdorier/bitcoin/depends/x86_64-w64-mingw32/share/../include/boost/thread/condition_variable.hpp:14,
from sync.h:11,
from httpserver.cpp:12:
/home/nicolasdorier/bitcoin/depends/x86_64-w64-mingw32/share/../include/boost/thread/win32/mutex.hpp:25:11: note: ‘boost::mutex’
class mutex:
^
In file included from /home/nicolasdorier/bitcoin/depends/x86_64-w64-mingw32/share/../include/boost/signals2/mutex.hpp:32:0,
from /home/nicolasdorier/bitcoin/depends/x86_64-w64-mingw32/share/../include/boost/signals2/signal.hpp:31,
from util.h:29,
from httpserver.cpp:9:
/home/nicolasdorier/bitcoin/depends/x86_64-w64-mingw32/share/../include/boost/signals2/detail/lwm_win32_cs.hpp:68:7: note: ‘boost::signals2::mutex’
class mutex
^
httpserver.cpp:153:36: error: template argument 1 is invalid
std::unique_lock<std::mutex> lock(cs);
^
httpserver.cpp:153:42: error: invalid type in declaration before ‘(’ token
std::unique_lock<std::mutex> lock(cs);
^
httpserver.cpp:153:43: error: ‘cs’ was not declared in this scope
std::unique_lock<std::mutex> lock(cs);
^
httpserver.cpp: At global scope:
httpserver.cpp:439:6: error: ‘thread’ in namespace ‘std’ does not name a type
std::thread threadHTTP;
^
httpserver.cpp:440:19: error: aggregate ‘std::future<bool> threadResult’ has incomplete type and cannot be defined
std::future<bool> threadResult;
^
httpserver.cpp: In function ‘bool StartHTTPServer()’:
httpserver.cpp:447:67: error: variable ‘std::packaged_task<bool(event_base*, evhttp*)> task’ has initializer but incomplete type
std::packaged_task<bool(event_base*, evhttp*)> task(ThreadHTTP);
^
httpserver.cpp:449:5: error: ‘threadHTTP’ was not declared in this scope
threadHTTP = std::thread(std::move(task), eventBase, eventHTTP);
^
httpserver.cpp:449:18: error: ‘thread’ is not a member of ‘std’
threadHTTP = std::thread(std::move(task), eventBase, eventHTTP);
^
httpserver.cpp:452:9: error: ‘thread’ is not a member of ‘std’
std::thread rpc_worker(HTTPWorkQueueRun, workQueue);
^
httpserver.cpp:453:9: error: ‘rpc_worker’ was not declared in this scope
rpc_worker.detach();
^
httpserver.cpp: In function ‘void StopHTTPServer()’:
httpserver.cpp:493:9: error: ‘threadHTTP’ was not declared in this scope
threadHTTP.join();
^
httpserver.cpp: In instantiation of ‘WorkQueue<WorkItem>::ThreadCounter::ThreadCounter(WorkQueue<WorkItem>&) [with WorkItem = HTTPClosure]’:
httpserver.cpp:120:34: required from ‘void WorkQueue<WorkItem>::Run() [with WorkItem = HTTPClosure]’
httpserver.cpp:356:16: required from here
httpserver.cpp:83:51: error: ‘class WorkQueue<HTTPClosure>’ has no member named ‘cs’
std::lock_guard<std::mutex> lock(wq.cs);
^
httpserver.cpp: In instantiation of ‘WorkQueue<WorkItem>::ThreadCounter::~ThreadCounter() [with WorkItem = HTTPClosure]’:
httpserver.cpp:120:34: required from ‘void WorkQueue<WorkItem>::Run() [with WorkItem = HTTPClosure]’
httpserver.cpp:356:16: required from here
httpserver.cpp:88:51: error: ‘class WorkQueue<HTTPClosure>’ has no member named ‘cs’
std::lock_guard<std::mutex> lock(wq.cs);
^
httpserver.cpp:90:13: error: ‘class WorkQueue<HTTPClosure>’ has no member named ‘cond’
wq.cond.notify_all();
^
Makefile:5033: recipe for target 'libbitcoin_server_a-httpserver.o' failed
make[2]: *** [libbitcoin_server_a-httpserver.o] Error 1
make[2]: *** Waiting for unfinished jobs....
CCLD libsecp256k1.la
libtool: link: warning: undefined symbols not allowed in x86_64-w64-mingw32 shared libraries
/usr/bin/x86_64-w64-mingw32-ar: `u' modifier ignored since `D' is the default (see `U')
make[3]: Leaving directory '/home/nicolasdorier/bitcoin/src/secp256k1'
make[2]: Leaving directory '/home/nicolasdorier/bitcoin/src'
Makefile:8349: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/home/nicolasdorier/bitcoin/src'
Makefile:677: recipe for target 'all-recursive' failed
make: *** [all-recursive] Error 1
About this issue
- Original URL
- State: closed
- Created 8 years ago
- Comments: 19 (11 by maintainers)
Solved the issue.
Bitcoin uses g++, not gcc
$ sudo update-alternatives --config x86_64-w64-mingw32-g++
then select “2” for switching to posix and that’s it. Cleaning the environment or rebuilding dependencies were not necesseary.
Which version are you on ? On Ubuntu 16.04 you just need to install the toolchain: