[ 6%] Built target sqlite3-static
[ 18%] Built target bpf-static
[ 25%] Built target clang_frontend
[ 31%] Built target bcc-loader-static
[ 34%] Built target api-static
[ 40%] Built target usdt-static
[ 53%] Built target b_frontend
[ 75%] Built target bcc-static
[ 78%] Built target common-static
[ 81%] Building CXX object src/configuration/CMakeFiles/configuration-static.dir/procmon_configuration.cpp.o
In file included from /home/wjc/work/stuffs/ProcMon-for-Linux/src/configuration/procmon_configuration.h:16,
from /home/wjc/work/stuffs/ProcMon-for-Linux/src/configuration/procmon_configuration.cpp:4:
/home/wjc/work/stuffs/ProcMon-for-Linux/src/configuration/../storage/mock_storage_engine.h: In member function ‘virtual bool MockStorageEngine::Initialize(const std::vector<Event>&)’:
/home/wjc/work/stuffs/ProcMon-for-Linux/src/configuration/../storage/mock_storage_engine.h:25:67: warning: no return statement in function returning non-void [-Wreturn-type]
25 | bool Initialize(const std::vector<Event>& syscalls) override {};
| ^
/home/wjc/work/stuffs/ProcMon-for-Linux/src/configuration/../storage/mock_storage_engine.h: In member function ‘virtual std::vector<ITelemetry> MockStorageEngine::QueryByPidInTimespan(pid_t, double, double, const std::vector<Event>&)’:
/home/wjc/work/stuffs/ProcMon-for-Linux/src/configuration/../storage/mock_storage_engine.h:30:119: warning: no return statement in function returning non-void [-Wreturn-type]
30 | pid_t pid, double start_time = 0.0, double end_time = 0.0, const std::vector<Event>& syscalls = {}) override {};
| ^
In file included from /home/wjc/work/stuffs/ProcMon-for-Linux/src/configuration/procmon_configuration.h:16,
from /home/wjc/work/stuffs/ProcMon-for-Linux/src/configuration/procmon_configuration.cpp:4:
/home/wjc/work/stuffs/ProcMon-for-Linux/src/configuration/../storage/mock_storage_engine.h: In member function ‘virtual std::vector<ITelemetry> MockStorageEngine::QueryByPids(std::vector<int>, const std::vector<Event>&)’:
/home/wjc/work/stuffs/ProcMon-for-Linux/src/configuration/../storage/mock_storage_engine.h:32:128: warning: no return statement in function returning non-void [-Wreturn-type]
32 | virtual std::vector<MockTelemetry> QueryByPids(std::vector<pid_t> pids, const std::vector<Event>& syscalls = {}) override {};
| ^
/home/wjc/work/stuffs/ProcMon-for-Linux/src/configuration/../storage/mock_storage_engine.h: In member function ‘virtual std::vector<ITelemetry> MockStorageEngine::QueryByPidsInTimespan(std::vector<int>, double, double, const std::vector<Event>&)’:
/home/wjc/work/stuffs/ProcMon-for-Linux/src/configuration/../storage/mock_storage_engine.h:35:133: warning: no return statement in function returning non-void [-Wreturn-type]
35 | std::vector<pid_t> pids, double start_time = 0.0, double end_time = 0.0, const std::vector<Event>& syscalls = {}) override {};
| ^
/home/wjc/work/stuffs/ProcMon-for-Linux/src/configuration/../storage/mock_storage_engine.h: In member function ‘virtual std::vector<ITelemetry> MockStorageEngine::QueryByEventsinPage(std::vector<int>, uint, uint, ScreenConfiguration::sort, bool, const std::vector<Event>&)’:
/home/wjc/work/stuffs/ProcMon-for-Linux/src/configuration/../storage/mock_storage_engine.h:38:167: warning: no return statement in function returning non-void [-Wreturn-type]
38 | std::vector<pid_t> pids, uint pageNumber, uint eventsPerPage, ScreenConfiguration::sort orderBy, bool asc, const std::vector<Event>& syscalls = {}) override {};
| ^
/home/wjc/work/stuffs/ProcMon-for-Linux/src/configuration/../storage/mock_storage_engine.h: In member function ‘virtual std::vector<ITelemetry> MockStorageEngine::QueryByResultCodeInTimespan(int, double, double, const std::vector<Event>&)’:
/home/wjc/work/stuffs/ProcMon-for-Linux/src/configuration/../storage/mock_storage_engine.h:41:124: warning: no return statement in function returning non-void [-Wreturn-type]
41 | int resultCode, double start_time = 0.0, double end_time = 0.0, const std::vector<Event> &syscalls = {}) override {};
| ^
/home/wjc/work/stuffs/ProcMon-for-Linux/src/configuration/../storage/mock_storage_engine.h: In member function ‘virtual std::vector<ITelemetry> MockStorageEngine::QueryByFilteredEventsinPage(std::string, std::vector<int>, uint, uint, ScreenConfiguration::sort, bool, const std::vector<Event>&)’:
/home/wjc/work/stuffs/ProcMon-for-Linux/src/configuration/../storage/mock_storage_engine.h:44:187: warning: no return statement in function returning non-void [-Wreturn-type]
44 | std::string filter, std::vector<pid_t> pids, uint pageNumber, uint eventsPerPage, ScreenConfiguration::sort orderBy, bool asc, const std::vector<Event>& syscalls = {}) override {};
| ^
In file included from /home/wjc/work/stuffs/ProcMon-for-Linux/src/configuration/../storage/../display/screen_configuration.h:9,
from /home/wjc/work/stuffs/ProcMon-for-Linux/src/configuration/../storage/storage_engine.h:12,
from /home/wjc/work/stuffs/ProcMon-for-Linux/src/configuration/../storage/mock_storage_engine.h:12,
from /home/wjc/work/stuffs/ProcMon-for-Linux/src/configuration/procmon_configuration.h:16,
from /home/wjc/work/stuffs/ProcMon-for-Linux/src/configuration/procmon_configuration.cpp:4:
/usr/include/bcc/bcc_exception.h: At global scope:
/usr/include/bcc/bcc_exception.h:28:5: error: expected identifier before ‘(’ token
28 | OK = 0,
| ^~
/usr/include/bcc/bcc_exception.h:28:5: error: expected ‘}’ before ‘(’ token
In file included from /usr/include/bcc/BPFTable.h:29,
from /usr/include/bcc/BPF.h:25,
from /home/wjc/work/stuffs/ProcMon-for-Linux/src/configuration/../tracer/ebpf/ebpf_tracer_engine.h:6,
from /home/wjc/work/stuffs/ProcMon-for-Linux/src/configuration/procmon_configuration.h:21,
from /home/wjc/work/stuffs/ProcMon-for-Linux/src/configuration/procmon_configuration.cpp:4:
/usr/include/bcc/bcc_exception.h:26:19: note: to match this ‘{’
26 | enum class Code {
| ^
In file included from /home/wjc/work/stuffs/ProcMon-for-Linux/src/configuration/../storage/../display/screen_configuration.h:9,
from /home/wjc/work/stuffs/ProcMon-for-Linux/src/configuration/../storage/storage_engine.h:12,
from /home/wjc/work/stuffs/ProcMon-for-Linux/src/configuration/../storage/mock_storage_engine.h:12,
from /home/wjc/work/stuffs/ProcMon-for-Linux/src/configuration/procmon_configuration.h:16,
from /home/wjc/work/stuffs/ProcMon-for-Linux/src/configuration/procmon_configuration.cpp:4:
/usr/include/bcc/bcc_exception.h:28:5: error: expected unqualified-id before numeric constant
28 | OK = 0,
| ^~
/usr/include/bcc/bcc_exception.h:28:5: error: expected ‘)’ before numeric constant
/usr/include/bcc/bcc_exception.h:38:22: error: expected unqualified-id before numeric constant
38 | static StatusTuple OK() {
| ^~
/usr/include/bcc/bcc_exception.h:38:22: error: expected ‘)’ before numeric constant
In file included from /usr/include/bcc/BPFTable.h:29,
from /usr/include/bcc/BPF.h:25,
from /home/wjc/work/stuffs/ProcMon-for-Linux/src/configuration/../tracer/ebpf/ebpf_tracer_engine.h:6,
from /home/wjc/work/stuffs/ProcMon-for-Linux/src/configuration/procmon_configuration.h:21,
from /home/wjc/work/stuffs/ProcMon-for-Linux/src/configuration/procmon_configuration.cpp:4:
/usr/include/bcc/bcc_exception.h: In function ‘int ebpf::StatusTuple(int)’:
/usr/include/bcc/bcc_exception.h:42:26: error: only constructors take member initializers
42 | StatusTuple(int ret) : ret_(ret) {}
| ^~~~
/usr/include/bcc/bcc_exception.h: In function ‘int ebpf::StatusTuple(int, const char*)’:
/usr/include/bcc/bcc_exception.h:44:43: error: only constructors take member initializers
44 | StatusTuple(int ret, const char *msg) : ret_(ret), msg_(msg) {}
| ^~~~
/usr/include/bcc/bcc_exception.h: In function ‘int ebpf::StatusTuple(int, const string&)’:
/usr/include/bcc/bcc_exception.h:46:50: error: only constructors take member initializers
46 | StatusTuple(int ret, const std::string &msg) : ret_(ret), msg_(msg) {}
| ^~~~
/usr/include/bcc/bcc_exception.h: In function ‘int ebpf::StatusTuple(int, const char*, Args ...)’:
/usr/include/bcc/bcc_exception.h:49:57: error: only constructors take member initializers
49 | StatusTuple(int ret, const char *fmt, Args... args) : ret_(ret) {
| ^~~~
/usr/include/bcc/bcc_exception.h:52:5: error: ‘msg_’ was not declared in this scope
52 | msg_ = std::string(buf);
| ^~~~
/usr/include/bcc/bcc_exception.h: At global scope:
/usr/include/bcc/bcc_exception.h:55:14: error: expected constructor, destructor, or type conversion before ‘(’ token
55 | StatusTuple(Code code, const std::string &msg) : use_enum_code_(true), code_(code), msg_(msg) {}
| ^
/usr/include/bcc/bcc_exception.h: In function ‘void ebpf::append_msg(const string&)’:
/usr/include/bcc/bcc_exception.h:58:5: error: ‘msg_’ was not declared in this scope; did you mean ‘msg’?
58 | msg_ += msg;
| ^~~~
| msg
/usr/include/bcc/bcc_exception.h: At global scope:
/usr/include/bcc/bcc_exception.h:61:13: error: non-member function ‘bool ebpf::ok()’ cannot have cv-qualifier
61 | bool ok() const {
| ^~~~~
/usr/include/bcc/bcc_exception.h: In function ‘bool ebpf::ok()’:
/usr/include/bcc/bcc_exception.h:62:9: error: ‘use_enum_code_’ was not declared in this scope
62 | if (use_enum_code_) {
| ^~~~~~~~~~~~~~
/usr/include/bcc/bcc_exception.h:63:14: error: ‘code_’ was not declared in this scope; did you mean ‘mode_t’?
63 | return code_ == Code::OK;
| ^~~~~
| mode_t
/usr/include/bcc/bcc_exception.h:63:23: error: ‘Code’ has not been declared
63 | return code_ == Code::OK;
| ^~~~
In file included from /home/wjc/work/stuffs/ProcMon-for-Linux/src/configuration/../storage/../display/screen_configuration.h:9,
from /home/wjc/work/stuffs/ProcMon-for-Linux/src/configuration/../storage/storage_engine.h:12,
from /home/wjc/work/stuffs/ProcMon-for-Linux/src/configuration/../storage/mock_storage_engine.h:12,
from /home/wjc/work/stuffs/ProcMon-for-Linux/src/configuration/procmon_configuration.h:16,
from /home/wjc/work/stuffs/ProcMon-for-Linux/src/configuration/procmon_configuration.cpp:4:
/usr/include/bcc/bcc_exception.h:63:29: error: expected unqualified-id before ‘(’ token
63 | return code_ == Code::OK;
| ^~
In file included from /usr/include/bcc/BPFTable.h:29,
from /usr/include/bcc/BPF.h:25,
from /home/wjc/work/stuffs/ProcMon-for-Linux/src/configuration/../tracer/ebpf/ebpf_tracer_engine.h:6,
from /home/wjc/work/stuffs/ProcMon-for-Linux/src/configuration/procmon_configuration.h:21,
from /home/wjc/work/stuffs/ProcMon-for-Linux/src/configuration/procmon_configuration.cpp:4:
/usr/include/bcc/bcc_exception.h:65:12: error: ‘ret_’ was not declared in this scope
65 | return ret_ == 0;
| ^~~~
/usr/include/bcc/bcc_exception.h: At global scope:
/usr/include/bcc/bcc_exception.h:68:14: error: non-member function ‘int ebpf::code()’ cannot have cv-qualifier
68 | int code() const {
| ^~~~~
/usr/include/bcc/bcc_exception.h: In function ‘int ebpf::code()’:
/usr/include/bcc/bcc_exception.h:69:9: error: ‘use_enum_code_’ was not declared in this scope
69 | if (use_enum_code_) {
| ^~~~~~~~~~~~~~
/usr/include/bcc/bcc_exception.h:70:31: error: ‘code_’ was not declared in this scope; did you mean ‘code’?
70 | return static_cast<int>(code_);
| ^~~~~
| code
/usr/include/bcc/bcc_exception.h:72:12: error: ‘ret_’ was not declared in this scope
72 | return ret_;
| ^~~~
/usr/include/bcc/bcc_exception.h: At global scope:
/usr/include/bcc/bcc_exception.h:75:28: error: non-member function ‘const string& ebpf::msg()’ cannot have cv-qualifier
75 | const std::string& msg() const { return msg_; }
| ^~~~~
/usr/include/bcc/bcc_exception.h: In function ‘const string& ebpf::msg()’:
/usr/include/bcc/bcc_exception.h:75:43: error: ‘msg_’ was not declared in this scope; did you mean ‘msg’?
75 | const std::string& msg() const { return msg_; }
| ^~~~
| msg
/usr/include/bcc/bcc_exception.h: At global scope:
/usr/include/bcc/bcc_exception.h:77:1: error: expected unqualified-id before ‘private’
77 | private:
| ^~~~~~~
/usr/include/bcc/bcc_exception.h:81:3: error: ‘Code’ does not name a type; did you mean ‘code’?
81 | Code code_;
| ^~~~
| code
/usr/include/bcc/bcc_exception.h:104:1: error: ‘StatusTuple’ does not name a type
104 | DECLARE_ERROR(Unknown, UNKNOWN)
| ^~~~~~~~~~~~~
/usr/include/bcc/bcc_exception.h:104:1: error: ‘StatusTuple’ does not name a type
104 | DECLARE_ERROR(Unknown, UNKNOWN)
| ^~~~~~~~~~~~~
/usr/include/bcc/bcc_exception.h: In function ‘bool error::IsUnknown(const int&)’:
/usr/include/bcc/bcc_exception.h:104:1: error: request for member ‘code’ in ‘status’, which is of non-class type ‘const int’
104 | DECLARE_ERROR(Unknown, UNKNOWN)
| ^~~~~~~~~~~~~
/usr/include/bcc/bcc_exception.h:104:1: error: ‘UNKNOWN’ is not a member of ‘ebpf::StatusTuple::Code’
104 | DECLARE_ERROR(Unknown, UNKNOWN)
| ^~~~~~~~~~~~~
/usr/include/bcc/bcc_exception.h: At global scope:
/usr/include/bcc/bcc_exception.h:105:1: error: ‘StatusTuple’ does not name a type
105 | DECLARE_ERROR(InvalidArgument, INVALID_ARGUMENT)
| ^~~~~~~~~~~~~
/usr/include/bcc/bcc_exception.h:105:1: error: ‘StatusTuple’ does not name a type
105 | DECLARE_ERROR(InvalidArgument, INVALID_ARGUMENT)
| ^~~~~~~~~~~~~
/usr/include/bcc/bcc_exception.h: In function ‘bool error::IsInvalidArgument(const int&)’:
/usr/include/bcc/bcc_exception.h:105:1: error: request for member ‘code’ in ‘status’, which is of non-class type ‘const int’
105 | DECLARE_ERROR(InvalidArgument, INVALID_ARGUMENT)
| ^~~~~~~~~~~~~
/usr/include/bcc/bcc_exception.h:105:1: error: ‘INVALID_ARGUMENT’ is not a member of ‘ebpf::StatusTuple::Code’
105 | DECLARE_ERROR(InvalidArgument, INVALID_ARGUMENT)
| ^~~~~~~~~~~~~
/usr/include/bcc/bcc_exception.h: At global scope:
/usr/include/bcc/bcc_exception.h:106:1: error: ‘StatusTuple’ does not name a type
106 | DECLARE_ERROR(PermissionDenied, PERMISSION_DENIED)
| ^~~~~~~~~~~~~
/usr/include/bcc/bcc_exception.h:106:1: error: ‘StatusTuple’ does not name a type
106 | DECLARE_ERROR(PermissionDenied, PERMISSION_DENIED)
| ^~~~~~~~~~~~~
/usr/include/bcc/bcc_exception.h: In function ‘bool error::IsPermissionDenied(const int&)’:
/usr/include/bcc/bcc_exception.h:106:1: error: request for member ‘code’ in ‘status’, which is of non-class type ‘const int’
106 | DECLARE_ERROR(PermissionDenied, PERMISSION_DENIED)
| ^~~~~~~~~~~~~
/usr/include/bcc/bcc_exception.h:106:1: error: ‘PERMISSION_DENIED’ is not a member of ‘ebpf::StatusTuple::Code’
106 | DECLARE_ERROR(PermissionDenied, PERMISSION_DENIED)
| ^~~~~~~~~~~~~
/usr/include/bcc/bcc_exception.h: At global scope:
/usr/include/bcc/bcc_exception.h:107:1: error: ‘StatusTuple’ does not name a type
107 | DECLARE_ERROR(System, SYSTEM)
| ^~~~~~~~~~~~~
/usr/include/bcc/bcc_exception.h:107:1: error: ‘StatusTuple’ does not name a type
107 | DECLARE_ERROR(System, SYSTEM)
| ^~~~~~~~~~~~~
/usr/include/bcc/bcc_exception.h: In function ‘bool error::IsSystem(const int&)’:
/usr/include/bcc/bcc_exception.h:107:1: error: request for member ‘code’ in ‘status’, which is of non-class type ‘const int’
107 | DECLARE_ERROR(System, SYSTEM)
| ^~~~~~~~~~~~~
/usr/include/bcc/bcc_exception.h:107:1: error: ‘SYSTEM’ is not a member of ‘ebpf::StatusTuple::Code’
107 | DECLARE_ERROR(System, SYSTEM)
| ^~~~~~~~~~~~~
/usr/include/bcc/bcc_exception.h: At global scope:
/usr/include/bcc/bcc_exception.h:111:1: error: expected declaration before ‘}’ token
111 | } // namespace ebpf
| ^
In file included from /usr/include/bcc/table_storage.h:26,
from /usr/include/bcc/bpf_module.h:26,
from /usr/include/bcc/BPFTable.h:31,
from /usr/include/bcc/BPF.h:25,
from /home/wjc/work/stuffs/ProcMon-for-Linux/src/configuration/../tracer/ebpf/ebpf_tracer_engine.h:6,
from /home/wjc/work/stuffs/ProcMon-for-Linux/src/configuration/procmon_configuration.h:21,
from /home/wjc/work/stuffs/ProcMon-for-Linux/src/configuration/procmon_configuration.cpp:4:
/usr/include/bcc/table_desc.h:35:56: error: template argument 1 is invalid
35 | typedef std::function<StatusTuple(const char *, void *)> sscanf_fn;
| ^
/usr/include/bcc/table_desc.h:36:64: error: template argument 1 is invalid
36 | typedef std::function<StatusTuple(char *, size_t, const void *)> snprintf_fn;
| ^
In file included from /usr/include/bcc/BPFTable.h:31,
from /usr/include/bcc/BPF.h:25,
from /home/wjc/work/stuffs/ProcMon-for-Linux/src/configuration/../tracer/ebpf/ebpf_tracer_engine.h:6,
from /home/wjc/work/stuffs/ProcMon-for-Linux/src/configuration/procmon_configuration.h:21,
from /home/wjc/work/stuffs/ProcMon-for-Linux/src/configuration/procmon_configuration.cpp:4:
/usr/include/bcc/bpf_module.h:86:3: error: ‘StatusTuple’ does not name a type
86 | StatusTuple sscanf(std::string fn_name, const char *str, void *val);
| ^~~~~~~~~~~
/usr/include/bcc/bpf_module.h:87:3: error: ‘StatusTuple’ does not name a type
87 | StatusTuple snprintf(std::string fn_name, char *str, size_t sz,
| ^~~~~~~~~~~
In file included from /usr/include/bcc/BPF.h:25,
from /home/wjc/work/stuffs/ProcMon-for-Linux/src/configuration/../tracer/ebpf/ebpf_tracer_engine.h:6,
from /home/wjc/work/stuffs/ProcMon-for-Linux/src/configuration/procmon_configuration.h:21,
from /home/wjc/work/stuffs/ProcMon-for-Linux/src/configuration/procmon_configuration.cpp:4:
/usr/include/bcc/BPFTable.h:44:3: error: ‘StatusTuple’ does not name a type
44 | StatusTuple string_to_key(const std::string& key_str, KeyType* key) {
| ^~~~~~~~~~~
/usr/include/bcc/BPFTable.h:48:3: error: ‘StatusTuple’ does not name a type
48 | StatusTuple string_to_leaf(const std::string& value_str, ValueType* value) {
| ^~~~~~~~~~~
/usr/include/bcc/BPFTable.h:52:3: error: ‘StatusTuple’ does not name a type
52 | StatusTuple key_to_string(const KeyType* key, std::string& key_str) {
| ^~~~~~~~~~~
/usr/include/bcc/BPFTable.h:60:3: error: ‘StatusTuple’ does not name a type
60 | StatusTuple leaf_to_string(const ValueType* value, std::string& value_str) {
| ^~~~~~~~~~~
/usr/include/bcc/BPFTable.h:100:3: error: ‘StatusTuple’ does not name a type
100 | StatusTuple get_value(const std::string& key_str, std::string& value);
| ^~~~~~~~~~~
/usr/include/bcc/BPFTable.h:101:3: error: ‘StatusTuple’ does not name a type
101 | StatusTuple get_value(const std::string& key_str,
| ^~~~~~~~~~~
/usr/include/bcc/BPFTable.h:104:3: error: ‘StatusTuple’ does not name a type
104 | StatusTuple update_value(const std::string& key_str,
| ^~~~~~~~~~~
/usr/include/bcc/BPFTable.h:106:3: error: ‘StatusTuple’ does not name a type
106 | StatusTuple update_value(const std::string& key_str,
| ^~~~~~~~~~~
/usr/include/bcc/BPFTable.h:109:3: error: ‘StatusTuple’ does not name a type
109 | StatusTuple remove_value(const std::string& key_str);
| ^~~~~~~~~~~
/usr/include/bcc/BPFTable.h:111:3: error: ‘StatusTuple’ does not name a type
111 | StatusTuple clear_table_non_atomic();
| ^~~~~~~~~~~
/usr/include/bcc/BPFTable.h:112:3: error: ‘StatusTuple’ does not name a type
112 | StatusTuple get_table_offline(std::vector<std::pair<std::string, std::string>> &res);
| ^~~~~~~~~~~
/usr/include/bcc/BPFTable.h:137:11: error: ‘StatusTuple’ does not name a type
137 | virtual StatusTuple get_value(const int& index, ValueType& value) {
| ^~~~~~~~~~~
/usr/include/bcc/BPFTable.h:143:11: error: ‘StatusTuple’ does not name a type
143 | virtual StatusTuple update_value(const int& index, const ValueType& value) {
| ^~~~~~~~~~~
/usr/include/bcc/BPFTable.h:182:3: error: ‘StatusTuple’ does not name a type
182 | StatusTuple get_value(const int& index, std::vector<ValueType>& value) {
| ^~~~~~~~~~~
/usr/include/bcc/BPFTable.h:187:3: error: ‘StatusTuple’ does not name a type
187 | StatusTuple update_value(const int& index,
| ^~~~~~~~~~~
/usr/include/bcc/BPFTable.h:211:11: error: ‘StatusTuple’ does not name a type
211 | virtual StatusTuple get_value(const KeyType& key, ValueType& value) {
| ^~~~~~~~~~~
/usr/include/bcc/BPFTable.h:217:11: error: ‘StatusTuple’ does not name a type
217 | virtual StatusTuple update_value(const KeyType& key, const ValueType& value) {
| ^~~~~~~~~~~
/usr/include/bcc/BPFTable.h:224:11: error: ‘StatusTuple’ does not name a type
224 | virtual StatusTuple remove_value(const KeyType& key) {
| ^~~~~~~~~~~
/usr/include/bcc/BPFTable.h:258:3: error: ‘StatusTuple’ does not name a type
258 | StatusTuple clear_table_non_atomic() {
| ^~~~~~~~~~~
/usr/include/bcc/BPFTable.h: In member function ‘std::vector<std::pair<_T1, _T2> > ebpf::BPFHashTable<KeyType, ValueType>::get_table_offline()’:
/usr/include/bcc/BPFTable.h:241:16: error: expected ‘;’ before ‘r’
241 | StatusTuple r(0);
| ^~
| ;
/usr/include/bcc/BPFTable.h:241:21: error: statement cannot resolve address of overloaded function
241 | StatusTuple r(0);
| ^
/usr/include/bcc/BPFTable.h:247:7: error: ‘r’ was not declared in this scope
247 | r = get_value(cur, value);
| ^
/usr/include/bcc/BPFTable.h: At global scope:
/usr/include/bcc/BPFTable.h:284:3: error: ‘StatusTuple’ does not name a type
284 | StatusTuple get_value(const KeyType& key, std::vector<ValueType>& value) {
| ^~~~~~~~~~~
/usr/include/bcc/BPFTable.h:289:3: error: ‘StatusTuple’ does not name a type
289 | StatusTuple update_value(const KeyType& key,
| ^~~~~~~~~~~
/usr/include/bcc/BPFTable.h:348:3: error: ‘StatusTuple’ does not name a type
348 | StatusTuple open_all_cpu(perf_reader_raw_cb cb, perf_reader_lost_cb lost_cb,
| ^~~~~~~~~~~
/usr/include/bcc/BPFTable.h:350:3: error: ‘StatusTuple’ does not name a type
350 | StatusTuple close_all_cpu();
| ^~~~~~~~~~~
/usr/include/bcc/BPFTable.h:354:3: error: ‘StatusTuple’ does not name a type
354 | StatusTuple open_on_cpu(perf_reader_raw_cb cb, perf_reader_lost_cb lost_cb,
| ^~~~~~~~~~~
/usr/include/bcc/BPFTable.h:356:3: error: ‘StatusTuple’ does not name a type
356 | StatusTuple close_on_cpu(int cpu);
| ^~~~~~~~~~~
/usr/include/bcc/BPFTable.h:369:3: error: ‘StatusTuple’ does not name a type
369 | StatusTuple open_all_cpu(uint32_t type, uint64_t config);
| ^~~~~~~~~~~
/usr/include/bcc/BPFTable.h:370:3: error: ‘StatusTuple’ does not name a type
370 | StatusTuple close_all_cpu();
| ^~~~~~~~~~~
/usr/include/bcc/BPFTable.h:373:3: error: ‘StatusTuple’ does not name a type
373 | StatusTuple open_on_cpu(int cpu, uint32_t type, uint64_t config);
| ^~~~~~~~~~~
/usr/include/bcc/BPFTable.h:374:3: error: ‘StatusTuple’ does not name a type
374 | StatusTuple close_on_cpu(int cpu);
| ^~~~~~~~~~~
/usr/include/bcc/BPFTable.h:383:3: error: ‘StatusTuple’ does not name a type
383 | StatusTuple update_value(const int& index, const int& prog_fd);
| ^~~~~~~~~~~
/usr/include/bcc/BPFTable.h:384:3: error: ‘StatusTuple’ does not name a type
384 | StatusTuple remove_value(const int& index);
| ^~~~~~~~~~~
/usr/include/bcc/BPFTable.h:391:3: error: ‘StatusTuple’ does not name a type
391 | StatusTuple update_value(const int& index, const int& cgroup2_fd);
| ^~~~~~~~~~~
/usr/include/bcc/BPFTable.h:392:3: error: ‘StatusTuple’ does not name a type
392 | StatusTuple update_value(const int& index, const std::string& cgroup2_path);
| ^~~~~~~~~~~
/usr/include/bcc/BPFTable.h:393:3: error: ‘StatusTuple’ does not name a type
393 | StatusTuple remove_value(const int& index);
| ^~~~~~~~~~~
/usr/include/bcc/BPFTable.h:400:3: error: ‘StatusTuple’ does not name a type
400 | StatusTuple update_value(const int& index, const int& value);
| ^~~~~~~~~~~
/usr/include/bcc/BPFTable.h:401:3: error: ‘StatusTuple’ does not name a type
401 | StatusTuple get_value(const int& index, int& value);
| ^~~~~~~~~~~
/usr/include/bcc/BPFTable.h:402:3: error: ‘StatusTuple’ does not name a type
402 | StatusTuple remove_value(const int& index);
| ^~~~~~~~~~~
/usr/include/bcc/BPFTable.h:409:3: error: ‘StatusTuple’ does not name a type
409 | StatusTuple update_value(const int& index, const int& value);
| ^~~~~~~~~~~
/usr/include/bcc/BPFTable.h:410:3: error: ‘StatusTuple’ does not name a type
410 | StatusTuple get_value(const int& index, int& value);
| ^~~~~~~~~~~
/usr/include/bcc/BPFTable.h:411:3: error: ‘StatusTuple’ does not name a type
411 | StatusTuple remove_value(const int& index);
| ^~~~~~~~~~~
/usr/include/bcc/BPFTable.h:418:3: error: ‘StatusTuple’ does not name a type
418 | StatusTuple update_value(const int& index, const int& inner_map_fd);
| ^~~~~~~~~~~
/usr/include/bcc/BPFTable.h:419:3: error: ‘StatusTuple’ does not name a type
419 | StatusTuple remove_value(const int& index);
| ^~~~~~~~~~~
/usr/include/bcc/BPFTable.h:426:3: error: ‘StatusTuple’ does not name a type
426 | StatusTuple update_value(const int& index, const int& value);
| ^~~~~~~~~~~
/usr/include/bcc/BPFTable.h:427:3: error: ‘StatusTuple’ does not name a type
427 | StatusTuple remove_value(const int& index);
| ^~~~~~~~~~~
/usr/include/bcc/BPFTable.h:434:3: error: ‘StatusTuple’ does not name a type
434 | StatusTuple update_value(const int& key, const int& value);
| ^~~~~~~~~~~
/usr/include/bcc/BPFTable.h:435:3: error: ‘StatusTuple’ does not name a type
435 | StatusTuple remove_value(const int& key);
| ^~~~~~~~~~~
/usr/include/bcc/BPFTable.h:447:11: error: ‘StatusTuple’ does not name a type
447 | virtual StatusTuple get_value(const int& sock_fd, ValueType& value) {
| ^~~~~~~~~~~
/usr/include/bcc/BPFTable.h:453:11: error: ‘StatusTuple’ does not name a type
453 | virtual StatusTuple update_value(const int& sock_fd, const ValueType& value) {
| ^~~~~~~~~~~
/usr/include/bcc/BPFTable.h:460:11: error: ‘StatusTuple’ does not name a type
460 | virtual StatusTuple remove_value(const int& sock_fd) {
| ^~~~~~~~~~~
/usr/include/bcc/BPFTable.h:476:11: error: ‘StatusTuple’ does not name a type
476 | virtual StatusTuple get_value(struct bpf_cgroup_storage_key& key,
| ^~~~~~~~~~~
/usr/include/bcc/BPFTable.h:484:11: error: ‘StatusTuple’ does not name a type
484 | virtual StatusTuple update_value(struct bpf_cgroup_storage_key& key, const ValueType& value) {
| ^~~~~~~~~~~
/usr/include/bcc/BPFTable.h:505:11: error: ‘StatusTuple’ does not name a type
505 | virtual StatusTuple get_value(struct bpf_cgroup_storage_key& key,
| ^~~~~~~~~~~
/usr/include/bcc/BPFTable.h:514:11: error: ‘StatusTuple’ does not name a type
514 | virtual StatusTuple update_value(struct bpf_cgroup_storage_key& key,
| ^~~~~~~~~~~
In file included from /home/wjc/work/stuffs/ProcMon-for-Linux/src/configuration/../tracer/ebpf/ebpf_tracer_engine.h:6,
from /home/wjc/work/stuffs/ProcMon-for-Linux/src/configuration/procmon_configuration.h:21,
from /home/wjc/work/stuffs/ProcMon-for-Linux/src/configuration/procmon_configuration.cpp:4:
/usr/include/bcc/BPF.h:57:3: error: ‘StatusTuple’ does not name a type
57 | StatusTuple init(const std::string& bpf_program,
| ^~~~~~~~~~~
/usr/include/bcc/BPF.h:58:63: error: expected unqualified-id before ‘,’ token
58 | const std::vector<std::string>& cflags = {},
| ^
/usr/include/bcc/BPF.h:59:54: error: expected unqualified-id before ‘)’ token
59 | const std::vector<USDT>& usdt = {});
| ^
/usr/include/bcc/BPF.h:61:3: error: ‘StatusTuple’ does not name a type
61 | StatusTuple init_usdt(const USDT& usdt);
| ^~~~~~~~~~~
/usr/include/bcc/BPF.h:64:3: error: ‘StatusTuple’ does not name a type
64 | StatusTuple detach_all();
| ^~~~~~~~~~~
/usr/include/bcc/BPF.h:66:3: error: ‘StatusTuple’ does not name a type
66 | StatusTuple attach_kprobe(const std::string& kernel_func,
| ^~~~~~~~~~~
/usr/include/bcc/BPF.h:71:3: error: ‘StatusTuple’ does not name a type
71 | StatusTuple detach_kprobe(
| ^~~~~~~~~~~
/usr/include/bcc/BPF.h:75:3: error: ‘StatusTuple’ does not name a type
75 | StatusTuple attach_uprobe(const std::string& binary_path,
| ^~~~~~~~~~~
/usr/include/bcc/BPF.h:82:3: error: ‘StatusTuple’ does not name a type
82 | StatusTuple detach_uprobe(const std::string& binary_path,
| ^~~~~~~~~~~
/usr/include/bcc/BPF.h:87:3: error: ‘StatusTuple’ does not name a type
87 | StatusTuple attach_usdt(const USDT& usdt, pid_t pid = -1);
| ^~~~~~~~~~~
/usr/include/bcc/BPF.h:88:3: error: ‘StatusTuple’ does not name a type
88 | StatusTuple attach_usdt_all();
| ^~~~~~~~~~~
/usr/include/bcc/BPF.h:89:3: error: ‘StatusTuple’ does not name a type
89 | StatusTuple detach_usdt(const USDT& usdt, pid_t pid = -1);
| ^~~~~~~~~~~
/usr/include/bcc/BPF.h:90:3: error: ‘StatusTuple’ does not name a type
90 | StatusTuple detach_usdt_all();
| ^~~~~~~~~~~
/usr/include/bcc/BPF.h:92:3: error: ‘StatusTuple’ does not name a type
92 | StatusTuple attach_tracepoint(const std::string& tracepoint,
| ^~~~~~~~~~~
/usr/include/bcc/BPF.h:94:3: error: ‘StatusTuple’ does not name a type
94 | StatusTuple detach_tracepoint(const std::string& tracepoint);
| ^~~~~~~~~~~
/usr/include/bcc/BPF.h:96:3: error: ‘StatusTuple’ does not name a type
96 | StatusTuple attach_raw_tracepoint(const std::string& tracepoint,
| ^~~~~~~~~~~
/usr/include/bcc/BPF.h:98:3: error: ‘StatusTuple’ does not name a type
98 | StatusTuple detach_raw_tracepoint(const std::string& tracepoint);
| ^~~~~~~~~~~
/usr/include/bcc/BPF.h:100:3: error: ‘StatusTuple’ does not name a type
100 | StatusTuple attach_perf_event(uint32_t ev_type, uint32_t ev_config,
| ^~~~~~~~~~~
/usr/include/bcc/BPF.h:105:3: error: ‘StatusTuple’ does not name a type
105 | StatusTuple attach_perf_event_raw(void* perf_event_attr,
| ^~~~~~~~~~~
/usr/include/bcc/BPF.h:110:3: error: ‘StatusTuple’ does not name a type
110 | StatusTuple detach_perf_event(uint32_t ev_type, uint32_t ev_config);
| ^~~~~~~~~~~
/usr/include/bcc/BPF.h:111:3: error: ‘StatusTuple’ does not name a type
111 | StatusTuple detach_perf_event_raw(void* perf_event_attr);
| ^~~~~~~~~~~
/usr/include/bcc/BPF.h:210:3: error: ‘StatusTuple’ does not name a type
210 | StatusTuple open_perf_event(const std::string& name, uint32_t type,
| ^~~~~~~~~~~
/usr/include/bcc/BPF.h:213:3: error: ‘StatusTuple’ does not name a type
213 | StatusTuple close_perf_event(const std::string& name);
| ^~~~~~~~~~~
/usr/include/bcc/BPF.h:218:3: error: ‘StatusTuple’ does not name a type
218 | StatusTuple open_perf_buffer(const std::string& name, perf_reader_raw_cb cb,
| ^~~~~~~~~~~
/usr/include/bcc/BPF.h:223:3: error: ‘StatusTuple’ does not name a type
223 | StatusTuple close_perf_buffer(const std::string& name);
| ^~~~~~~~~~~
/usr/include/bcc/BPF.h:235:3: error: ‘StatusTuple’ does not name a type
235 | StatusTuple load_func(const std::string& func_name, enum bpf_prog_type type,
| ^~~~~~~~~~~
/usr/include/bcc/BPF.h:237:3: error: ‘StatusTuple’ does not name a type
237 | StatusTuple unload_func(const std::string& func_name);
| ^~~~~~~~~~~
/usr/include/bcc/BPF.h:239:3: error: ‘StatusTuple’ does not name a type
239 | StatusTuple attach_func(int prog_fd, int attachable_fd,
| ^~~~~~~~~~~
/usr/include/bcc/BPF.h:242:3: error: ‘StatusTuple’ does not name a type
242 | StatusTuple detach_func(int prog_fd, int attachable_fd,
| ^~~~~~~~~~~
/usr/include/bcc/BPF.h:253:3: error: ‘StatusTuple’ does not name a type
253 | StatusTuple attach_usdt_without_validation(const USDT& usdt, pid_t pid);
| ^~~~~~~~~~~
/usr/include/bcc/BPF.h:254:3: error: ‘StatusTuple’ does not name a type
254 | StatusTuple detach_usdt_without_validation(const USDT& usdt, pid_t pid);
| ^~~~~~~~~~~
/usr/include/bcc/BPF.h:256:3: error: ‘StatusTuple’ does not name a type
256 | StatusTuple detach_kprobe_event(const std::string& event, open_probe_t& attr);
| ^~~~~~~~~~~
/usr/include/bcc/BPF.h:257:3: error: ‘StatusTuple’ does not name a type
257 | StatusTuple detach_uprobe_event(const std::string& event, open_probe_t& attr);
| ^~~~~~~~~~~
/usr/include/bcc/BPF.h:258:3: error: ‘StatusTuple’ does not name a type
258 | StatusTuple detach_tracepoint_event(const std::string& tracepoint,
| ^~~~~~~~~~~
/usr/include/bcc/BPF.h:260:3: error: ‘StatusTuple’ does not name a type
260 | StatusTuple detach_raw_tracepoint_event(const std::string& tracepoint,
| ^~~~~~~~~~~
/usr/include/bcc/BPF.h:262:3: error: ‘StatusTuple’ does not name a type
262 | StatusTuple detach_perf_event_all_cpu(open_probe_t& attr);
| ^~~~~~~~~~~
/usr/include/bcc/BPF.h:292:3: error: ‘StatusTuple’ does not name a type
292 | StatusTuple check_binary_symbol(const std::string& binary_path,
| ^~~~~~~~~~~
/usr/include/bcc/BPF.h:339:3: error: ‘StatusTuple’ does not name a type
339 | StatusTuple init();
| ^~~~~~~~~~~
make[2]: *** [src/configuration/CMakeFiles/configuration-static.dir/build.make:83: src/configuration/CMakeFiles/configuration-static.dir/procmon_configuration.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:2561: src/configuration/CMakeFiles/configuration-static.dir/all] Error 2
make: *** [Makefile:183: all] Error 2