Closed shitbox120 closed 2 months ago
Which OS are you compiling in? Also please make sure you follow the cross-compliation guide.
https://github.com/NeoxaChain/Neoxa/blob/main/doc/build-cross.md
I am using Ubuntu 20 with DB 4.8 . I have flowed it step by step.
./configure gives me this.
Options used to compile and link:
with wallet = yes
with gui / qt = yes
with qr = yes
with zmq = yes
with test = yes
with bench = yes
with upnp = yes
use asm = yes
sanitizers =
debug enabled = no
stacktraces enabled = yes
crash hooks enabled = no
miner enabled = yes
gprof enabled = no
werror = no
target os = linux
build os =
CC = gcc
CFLAGS = -pthread -g -O2 -g1 -fno-omit-frame-pointer
CPPFLAGS = -I/usr/local/berkeleydb/include -I/usr/local/berkeleydb/include/ -DHAVE_BUILD_INFO -D__STDC_FORMAT_MACROS
CXX = g++ -std=c++14
CXXFLAGS = -g -O2 -g1 -fno-omit-frame-pointer -Wall -Wextra -Wformat -Wvla -Wformat-security -Wno-unused-parameter -Wno-implicit-fallthrough
LDFLAGS = -lpthread -L/usr/local/berkeleydb/lib -Wl,-R,/usr/local/berkeleydb/lib -Wl,--enable-new-dtags
ARFLAGS = cr
UPDATE: I am now able to make it to this final point. Am i missing a depend or do i have the wrong version of c?
httpserver.cpp:77:10: error: ‘deque’ in namespace ‘std’ does not name a template type
77 | std::deque<std::unique_ptr<WorkItem>> queue;
| ^~~~~
httpserver.cpp:43:1: note: ‘std::deque’ is defined in header ‘<deque>’; did you forget to ‘#include <deque>’?
42 | #include <condition_variable>
+++ |+#include <deque>
43 |
httpserver.cpp: In member function ‘bool WorkQueue<WorkItem>::Enqueue(WorkItem*)’:
httpserver.cpp:95:13: error: ‘queue’ was not declared in this scope; did you mean ‘Enqueue’?
95 | if (queue.size() >= maxDepth) {
| ^~~~~
| Enqueue
httpserver.cpp:98:9: error: ‘queue’ was not declared in this scope; did you mean ‘Enqueue’?
98 | queue.emplace_back(std::unique_ptr<WorkItem>(item));
| ^~~~~
| Enqueue
httpserver.cpp: In member function ‘void WorkQueue<WorkItem>::Run()’:
httpserver.cpp:109:35: error: ‘queue’ was not declared in this scope; did you mean ‘Enqueue’?
109 | while (running && queue.empty())
| ^~~~~
| Enqueue
httpserver.cpp:113:31: error: ‘queue’ was not declared in this scope; did you mean ‘Enqueue’?
113 | i = std::move(queue.front());
| ^~~~~
| Enqueue
make[2]: *** [Makefile:8713: libneoxa_server_a-httpserver.o] Error 1
UPDATE: I am now able to make it to this final point. Am i missing a depend or do i have the wrong version of c?
httpserver.cpp:77:10: error: ‘deque’ in namespace ‘std’ does not name a template type 77 | std::deque<std::unique_ptr<WorkItem>> queue; | ^~~~~ httpserver.cpp:43:1: note: ‘std::deque’ is defined in header ‘<deque>’; did you forget to ‘#include <deque>’? 42 | #include <condition_variable> +++ |+#include <deque> 43 | httpserver.cpp: In member function ‘bool WorkQueue<WorkItem>::Enqueue(WorkItem*)’: httpserver.cpp:95:13: error: ‘queue’ was not declared in this scope; did you mean ‘Enqueue’? 95 | if (queue.size() >= maxDepth) { | ^~~~~ | Enqueue httpserver.cpp:98:9: error: ‘queue’ was not declared in this scope; did you mean ‘Enqueue’? 98 | queue.emplace_back(std::unique_ptr<WorkItem>(item)); | ^~~~~ | Enqueue httpserver.cpp: In member function ‘void WorkQueue<WorkItem>::Run()’: httpserver.cpp:109:35: error: ‘queue’ was not declared in this scope; did you mean ‘Enqueue’? 109 | while (running && queue.empty()) | ^~~~~ | Enqueue httpserver.cpp:113:31: error: ‘queue’ was not declared in this scope; did you mean ‘Enqueue’? 113 | i = std::move(queue.front()); | ^~~~~ | Enqueue make[2]: *** [Makefile:8713: libneoxa_server_a-httpserver.o] Error 1
I have the same problem when compiling on arm or x64 linux... I tried to compile with c++17 but i still have the problem
@AndyNeoxa @shitbox120 I think I fixed the problem after spending by whole evening on it. The httpserver.cpp is missing this line #include <deque>
on the top of the file.
I complied the wallet for aarch64 and it works(it started and I am syncing the blockchain)
Also on the makefile I made some changes for using c++17 and not c++14 but I think the second change is not required.
Look in the code_modifications_neoxa.txt
`Look in the code_modifications_neoxa.txt
`Look in the code_modifications_neoxa.txt
I have been breaking my head for 2 days and do not know what library I am missing. This is the error I am seeing.
` validation.cpp: In constructor ‘ConnectTrace::ConnectTrace(CTxMemPool&)’: validation.cpp:3103:94: error: ‘_1’ was not declared in this scope 3103 | pool.NotifyEntryRemoved.connect(boost::bind(&ConnectTrace::NotifyEntryRemoved, this, _1, 2)); | ^~ validation.cpp:3103:94: note: suggested alternatives: In file included from /usr/include/boost/mpl/aux/include_preprocessed.hpp:37, from /usr/include/boost/mpl/placeholders.hpp:43, from /usr/include/boost/iterator/iterator_categories.hpp:16, from /usr/include/boost/iterator/iterator_facade.hpp:13, from /usr/include/boost/filesystem/path.hpp:22, from /usr/include/boost/filesystem.hpp:16, from ./fs.h:11, from ./util.h:20, from primitives/block.h:13, from core_memusage.h:9, from coins.h:11, from validation.h:16, from validation.cpp:8:
`