GNU/Linux Debian 11 - kernel 5.10.0-18-amd64 - Pulsar v1.1.3 - build from the source fails - error: ‘queue’ was not declared in this scope; did you mean ‘Enqueue’? #17
I was trying to build the Pulsar v1.1.3 wallet from the source on my GNU/Linux Debian 11 computer and i faced that error:
wget https://github.com/PulsarCoin/Pulsar-Coin-Cryptocurrency/archive/refs/tags/v1.1.3.tar.gz
tar -xvf v1.1.3.tar.gz
cd Pulsar-Coin-Cryptocurrency-1.1.3/
./contrib/install_db4.sh `pwd`
export BDB_PREFIX='/home/ceedii/Pulsar-Coin-Cryptocurrency-1.1.3/db4'
./autogen.sh
./configure BDB_LIBS="-L${BDB_PREFIX}/lib -ldb_cxx-4.8" BDB_CFLAGS="-I${BDB_PREFIX}/include" --enable-hardening --without-gui
make -j8
Making all in src
make[1]: Entering directory '/home/ceedii/Pulsar-Coin-Cryptocurrency-1.1.3/src'
make[2]: Entering directory '/home/ceedii/Pulsar-Coin-Cryptocurrency-1.1.3/src'
CXX pulsard-bitcoind.o
CXX libbitcoin_server_a-addrdb.o
CXX libbitcoin_server_a-addrman.o
CXX libbitcoin_server_a-alert.o
CXX libbitcoin_server_a-bloom.o
CXX libbitcoin_server_a-blockencodings.o
CXX libbitcoin_server_a-chain.o
CXX libbitcoin_server_a-checkpoints.o
CXX libbitcoin_server_a-httprpc.o
CXX libbitcoin_server_a-httpserver.o
CXX libbitcoin_server_a-init.o
httpserver.cpp:74:10: error: ‘deque’ in namespace ‘std’ does not name a template type
74 | std::deque<std::unique_ptr<WorkItem>> queue;
| ^~~~~
httpserver.cpp:33:1: note: ‘std::deque’ is defined in header ‘<deque>’; did you forget to ‘#include <deque>’?
32 | #include <support/events.h>
+++ |+#include <deque>
33 |
httpserver.cpp: In member function ‘bool WorkQueue<WorkItem>::Enqueue(WorkItem*)’:
httpserver.cpp:92:13: error: ‘queue’ was not declared in this scope; did you mean ‘Enqueue’?
92 | if (queue.size() >= maxDepth) {
| ^~~~~
| Enqueue
httpserver.cpp:95:9: error: ‘queue’ was not declared in this scope; did you mean ‘Enqueue’?
95 | queue.emplace_back(std::unique_ptr<WorkItem>(item));
| ^~~~~
| Enqueue
httpserver.cpp: In member function ‘void WorkQueue<WorkItem>::Run()’:
httpserver.cpp:106:35: error: ‘queue’ was not declared in this scope; did you mean ‘Enqueue’?
106 | while (running && queue.empty())
| ^~~~~
| Enqueue
httpserver.cpp:110:31: error: ‘queue’ was not declared in this scope; did you mean ‘Enqueue’?
110 | i = std::move(queue.front());
| ^~~~~
| Enqueue
make[2]: *** [Makefile:6165: libbitcoin_server_a-httpserver.o] Error 1
make[2]: *** Waiting for unfinished jobs....
In file included from /usr/include/boost/smart_ptr/detail/sp_thread_sleep.hpp:22,
from /usr/include/boost/smart_ptr/detail/yield_k.hpp:23,
from /usr/include/boost/smart_ptr/detail/spinlock_std_atomic.hpp:18,
from /usr/include/boost/smart_ptr/detail/spinlock.hpp:36,
from /usr/include/boost/smart_ptr/detail/spinlock_pool.hpp:25,
from /usr/include/boost/smart_ptr/shared_ptr.hpp:29,
from /usr/include/boost/shared_ptr.hpp:17,
from /usr/include/boost/signals2/signal.hpp:21,
from ./util.h:31,
from ./addrman.h:14,
from init.cpp:12:
/usr/include/boost/bind.hpp:36:1: note: ‘#pragma message: The practice of declaring the Bind placeholders (_1, _2, ...) in the global namespace is deprecated. Please use <boost/bind/bind.hpp> + using namespace boost::placeholders, or define BOOST_BIND_GLOBAL_PLACEHOLDERS to retain the current behavior.’
36 | BOOST_PRAGMA_MESSAGE(
| ^~~~~~~~~~~~~~~~~~~~
make[2]: Leaving directory '/home/ceedii/Pulsar-Coin-Cryptocurrency-1.1.3/src'
make[1]: *** [Makefile:10098: all-recursive] Error 1
make[1]: Leaving directory '/home/ceedii/Pulsar-Coin-Cryptocurrency-1.1.3/src'
make: *** [Makefile:761: all-recursive] Error 1
I was trying to build the Pulsar v1.1.3 wallet from the source on my
GNU/Linux Debian 11
computer and i faced that error: