Hi, all
I use the master branch code on GitHub to compile, compile command:
git clone https://github.com/OISF/suricata.git
cd /root/suricata/
cargo install -f cbindgen --root /usr/
git clone https://github.com/OISF/libhtp
./autogen.sh && \
./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var && \
make && \
make install-full && \
ldconfig
compile output:
cd /root/suricata/rust && \
CARGO_HOME="/root/.cargo" \
CARGO_TARGET_DIR="/root/suricata/rust/target" \
/usr/bin/cargo build --release \
--features "ja3 ja4 "
Updating `rsproxy-sparse` index
Updating git repository `https://github.com/jasonish/suricata-lua-sys`
From https://github.com/jasonish/suricata-lua-sys
* [new ref] cb449d352da17e5ef120f0b6b031dbe63ae64f06 -> refs/commit/cb449d352da17e5ef120f0b6b031dbe63ae64f06
Downloading crates ...
Downloaded num_enum_derive v0.5.11 (registry `rsproxy-sparse`)
Downloaded ppv-lite86 v0.2.17 (registry `rsproxy-sparse`)
Downloaded num-bigint v0.2.6 (registry `rsproxy-sparse`)
Downloaded thiserror-impl v1.0.58 (registry `rsproxy-sparse`)
Downloaded sha1 v0.10.6 (registry `rsproxy-sparse`)
Downloaded toml v0.5.11 (registry `rsproxy-sparse`)
Downloaded block-buffer v0.10.4 (registry `rsproxy-sparse`)
Downloaded powerfmt v0.2.0 (registry `rsproxy-sparse`)
Downloaded rand v0.8.5 (registry `rsproxy-sparse`)
Downloaded rand_core v0.6.4 (registry `rsproxy-sparse`)
Downloaded rand_chacha v0.3.1 (registry `rsproxy-sparse`)
Downloaded time-macros v0.2.18 (registry `rsproxy-sparse`)
Downloaded num_enum v0.5.11 (registry `rsproxy-sparse`)
Downloaded opaque-debug v0.3.1 (registry `rsproxy-sparse`)
Downloaded proc-macro2 v0.4.30 (registry `rsproxy-sparse`)
Downloaded thiserror v1.0.58 (registry `rsproxy-sparse`)
Downloaded synstructure v0.12.6 (registry `rsproxy-sparse`)
Downloaded adler v1.0.2 (registry `rsproxy-sparse`)
Downloaded num-conv v0.1.0 (registry `rsproxy-sparse`)
Downloaded regex-syntax v0.6.29 (registry `rsproxy-sparse`)
Downloaded sha2 v0.10.8 (registry `rsproxy-sparse`)
Downloaded base64 v0.13.1 (registry `rsproxy-sparse`)
Downloaded rusticata-macros v4.1.0 (registry `rsproxy-sparse`)
Downloaded typenum v1.17.0 (registry `rsproxy-sparse`)
Downloaded uuid v0.8.2 (registry `rsproxy-sparse`)
Downloaded syn v1.0.109 (registry `rsproxy-sparse`)
Downloaded unicode-xid v0.2.4 (registry `rsproxy-sparse`)
Downloaded phf_codegen v0.10.0 (registry `rsproxy-sparse`)
Downloaded asn1-rs-derive v0.5.0 (registry `rsproxy-sparse`)
Downloaded time v0.3.36 (registry `rsproxy-sparse`)
Downloaded x509-parser v0.16.0 (registry `rsproxy-sparse`)
Downloaded widestring v0.4.3 (registry `rsproxy-sparse`)
Downloaded syn v0.15.44 (registry `rsproxy-sparse`)
Downloaded version_check v0.9.4 (registry `rsproxy-sparse`)
Downloaded cpufeatures v0.2.12 (registry `rsproxy-sparse`)
Downloaded byteorder v1.4.3 (registry `rsproxy-sparse`)
Downloaded flate2 v1.0.28 (registry `rsproxy-sparse`)
Downloaded nom-derive-impl v0.10.1 (registry `rsproxy-sparse`)
Downloaded minimal-lexical v0.2.1 (registry `rsproxy-sparse`)
Downloaded time-core v0.1.2 (registry `rsproxy-sparse`)
Downloaded num-bigint v0.4.4 (registry `rsproxy-sparse`)
Downloaded deranged v0.3.11 (registry `rsproxy-sparse`)
Downloaded bitflags v1.2.1 (registry `rsproxy-sparse`)
Downloaded generic-array v0.14.7 (registry `rsproxy-sparse`)
Downloaded num-iter v0.1.44 (registry `rsproxy-sparse`)
Downloaded crypto-common v0.1.6 (registry `rsproxy-sparse`)
Downloaded data-encoding v2.5.0 (registry `rsproxy-sparse`)
Downloaded crc32fast v1.4.0 (registry `rsproxy-sparse`)
Downloaded alloc-no-stdlib v2.0.4 (registry `rsproxy-sparse`)
Downloaded sawp-modbus v0.12.1 (registry `rsproxy-sparse`)
Downloaded num-rational v0.2.4 (registry `rsproxy-sparse`)
Downloaded fs_extra v1.3.0 (registry `rsproxy-sparse`)
Downloaded hmac v0.12.1 (registry `rsproxy-sparse`)
Downloaded phf_generator v0.10.0 (registry `rsproxy-sparse`)
Downloaded num-traits v0.1.43 (registry `rsproxy-sparse`)
Downloaded asn1-rs-impl v0.2.0 (registry `rsproxy-sparse`)
Downloaded md-5 v0.10.6 (registry `rsproxy-sparse`)
Downloaded lazy_static v1.4.0 (registry `rsproxy-sparse`)
Downloaded sawp v0.12.1 (registry `rsproxy-sparse`)
Downloaded phf_shared v0.10.0 (registry `rsproxy-sparse`)
Downloaded brotli-decompressor v2.5.1 (registry `rsproxy-sparse`)
Downloaded rustversion v1.0.15 (registry `rsproxy-sparse`)
Downloaded build_const v0.2.2 (registry `rsproxy-sparse`)
Downloaded oid-registry v0.7.0 (registry `rsproxy-sparse`)
Downloaded universal-hash v0.4.1 (registry `rsproxy-sparse`)
Downloaded ntp-parser v0.6.0 (registry `rsproxy-sparse`)
Downloaded aho-corasick v0.7.20 (registry `rsproxy-sparse`)
Downloaded siphasher v0.3.11 (registry `rsproxy-sparse`)
Downloaded sawp-flags-derive v0.12.1 (registry `rsproxy-sparse`)
Downloaded phf v0.10.1 (registry `rsproxy-sparse`)
Downloaded alloc-stdlib v0.2.2 (registry `rsproxy-sparse`)
Downloaded nom v7.1.3 (registry `rsproxy-sparse`)
Downloaded bendy v0.3.3 (registry `rsproxy-sparse`)
Downloaded failure_derive v0.1.8 (registry `rsproxy-sparse`)
Downloaded digest v0.10.7 (registry `rsproxy-sparse`)
Downloaded cipher v0.3.0 (registry `rsproxy-sparse`)
Downloaded snmp-parser v0.10.0 (registry `rsproxy-sparse`)
Downloaded miniz_oxide v0.7.2 (registry `rsproxy-sparse`)
Downloaded regex v1.5.6 (registry `rsproxy-sparse`)
Downloaded syn v2.0.59 (registry `rsproxy-sparse`)
Downloaded kerberos-parser v0.8.0 (registry `rsproxy-sparse`)
Downloaded num-integer v0.1.46 (registry `rsproxy-sparse`)
Downloaded num v0.2.1 (registry `rsproxy-sparse`)
Downloaded nom-derive v0.10.1 (registry `rsproxy-sparse`)
Downloaded polyval v0.5.3 (registry `rsproxy-sparse`)
Downloaded sawp-flags v0.12.1 (registry `rsproxy-sparse`)
Downloaded quote v0.6.13 (registry `rsproxy-sparse`)
Downloaded ctr v0.8.0 (registry `rsproxy-sparse`)
Downloaded brotli v3.4.0 (registry `rsproxy-sparse`)
Downloaded aes-gcm v0.9.4 (registry `rsproxy-sparse`)
Downloaded proc-macro2 v1.0.80 (registry `rsproxy-sparse`)
Downloaded aead v0.4.3 (registry `rsproxy-sparse`)
Downloaded tls-parser v0.11.0 (registry `rsproxy-sparse`)
Downloaded subtle v2.4.1 (registry `rsproxy-sparse`)
Downloaded ipsec-parser v0.7.0 (registry `rsproxy-sparse`)
Downloaded lzma-rs v0.2.0 (registry `rsproxy-sparse`)
Downloaded num-complex v0.2.4 (registry `rsproxy-sparse`)
Downloaded ldap-parser v0.4.0 (registry `rsproxy-sparse`)
Downloaded num-traits v0.2.18 (registry `rsproxy-sparse`)
Downloaded getrandom v0.2.14 (registry `rsproxy-sparse`)
Downloaded asn1-rs v0.6.1 (registry `rsproxy-sparse`)
Downloaded memchr v2.4.1 (registry `rsproxy-sparse`)
Downloaded failure v0.1.8 (registry `rsproxy-sparse`)
Downloaded aes v0.7.5 (registry `rsproxy-sparse`)
Downloaded hkdf v0.12.4 (registry `rsproxy-sparse`)
Downloaded autocfg v1.2.0 (registry `rsproxy-sparse`)
Downloaded num-derive v0.2.5 (registry `rsproxy-sparse`)
Downloaded synstructure v0.13.1 (registry `rsproxy-sparse`)
Downloaded libc v0.2.153 (registry `rsproxy-sparse`)
Downloaded ghash v0.4.4 (registry `rsproxy-sparse`)
Downloaded displaydoc v0.2.4 (registry `rsproxy-sparse`)
Downloaded serde v1.0.197 (registry `rsproxy-sparse`)
Downloaded unicode-xid v0.1.0 (registry `rsproxy-sparse`)
Downloaded proc-macro-crate v1.1.0 (registry `rsproxy-sparse`)
Downloaded enum_primitive v0.1.1 (registry `rsproxy-sparse`)
Downloaded der-parser v9.0.0 (registry `rsproxy-sparse`)
Downloaded crc v1.8.1 (registry `rsproxy-sparse`)
Compiling proc-macro2 v1.0.80
Compiling unicode-ident v1.0.12
Compiling autocfg v1.2.0
Compiling version_check v0.9.4
Compiling typenum v1.17.0
Compiling memchr v2.4.1
Compiling thiserror v1.0.58
Compiling syn v1.0.109
Compiling minimal-lexical v0.2.1
Compiling generic-array v0.14.7
Compiling libc v0.2.153
Compiling subtle v2.4.1
Compiling num-traits v0.2.18
Compiling serde v1.0.197
Compiling cfg-if v1.0.0
Compiling time-core v0.1.2
Compiling powerfmt v0.2.0
Compiling num-conv v0.1.0
Compiling time-macros v0.2.18
Compiling nom v7.1.3
Compiling quote v1.0.36
Compiling syn v2.0.59
Compiling num-integer v0.1.46
Compiling getrandom v0.2.14
Compiling deranged v0.3.11
Compiling itoa v1.0.11
Compiling rand_core v0.6.4
Compiling rusticata-macros v4.1.0
Compiling ppv-lite86 v0.2.17
Compiling block-buffer v0.10.4
Compiling crypto-common v0.1.6
Compiling siphasher v0.3.11
Compiling cpufeatures v0.2.12
Compiling digest v0.10.7
Compiling rand_chacha v0.3.1
Compiling phf_shared v0.10.0
Compiling num-bigint v0.4.4
Compiling time v0.3.36
Compiling rand v0.8.5
Compiling rustversion v1.0.15
Compiling proc-macro2 v0.4.30
Compiling num-bigint v0.2.6
Compiling failure_derive v0.1.8
Compiling phf_generator v0.10.0
Compiling build_const v0.2.2
Compiling unicode-xid v0.1.0
Compiling opaque-debug v0.3.1
Compiling unicode-xid v0.2.4
Compiling crc v1.8.1
Compiling phf_codegen v0.10.0
Compiling synstructure v0.13.1
Compiling toml v0.5.11
Compiling synstructure v0.12.6
Compiling cipher v0.3.0
Compiling universal-hash v0.4.1
Compiling num-complex v0.2.4
Compiling num-rational v0.2.4
Compiling fs_extra v1.3.0
Compiling syn v0.15.44
Compiling oid-registry v0.7.0
Compiling crc32fast v1.4.0
Compiling alloc-no-stdlib v2.0.4
Compiling alloc-stdlib v0.2.2
Compiling suricata-lua-sys v0.1.0-alpha.1 (https://github.com/jasonish/suricata-lua-sys#cb449d35)
Compiling polyval v0.5.3
Compiling quote v0.6.13
Compiling tls-parser v0.11.0
Compiling thiserror-impl v1.0.58
Compiling asn1-rs-impl v0.2.0
Compiling asn1-rs-derive v0.5.0
Compiling displaydoc v0.2.4
Compiling nom-derive-impl v0.10.1
Compiling num-traits v0.1.43
Compiling adler v1.0.2
Compiling num-derive v0.2.5
Compiling bitflags v1.2.1
Compiling proc-macro-crate v1.1.0
Compiling asn1-rs v0.6.1
Compiling failure v0.1.8
Compiling nom-derive v0.10.1
Compiling sawp-flags-derive v0.12.1
Compiling num_enum_derive v0.5.11
Compiling miniz_oxide v0.7.2
Compiling der-parser v9.0.0
Compiling sawp-flags v0.12.1
Compiling num_enum v0.5.11
Compiling enum_primitive v0.1.1
Compiling ghash v0.4.4
Compiling phf v0.10.1
Compiling brotli-decompressor v2.5.1
Compiling ctr v0.8.0
Compiling aes v0.7.5
Compiling sawp v0.12.1
Compiling hmac v0.12.1
Compiling num-iter v0.1.44
Compiling aead v0.4.3
Compiling aho-corasick v0.7.20
Compiling data-encoding v2.5.0
Compiling regex-syntax v0.6.29
Compiling lazy_static v1.4.0
Compiling byteorder v1.4.3
Compiling lzma-rs v0.2.0
Compiling x509-parser v0.16.0
Compiling sawp-modbus v0.12.1
Compiling aes-gcm v0.9.4
Compiling num v0.2.1
Compiling brotli v3.4.0
Compiling regex v1.5.6
Compiling hkdf v0.12.4
Compiling flate2 v1.0.28
Compiling kerberos-parser v0.8.0
Compiling ldap-parser v0.4.0
Compiling snmp-parser v0.10.0
Compiling ntp-parser v0.6.0
Compiling suricata-derive v8.0.0-dev (/root/suricata/rust/derive)
Compiling bendy v0.3.3
Compiling md-5 v0.10.6
Compiling sha2 v0.10.8
Compiling sha1 v0.10.6
Compiling ipsec-parser v0.7.0
Compiling base64 v0.13.1
Compiling uuid v0.8.2
Compiling widestring v0.4.3
Compiling suricata v8.0.0-dev (/root/suricata/rust)
Finished release [optimized + debuginfo] target(s) in 2m 51s
if test -e ../rust/target/release/suricata.lib; then \
cp -a ../rust/target/release/suricata.lib \
../rust/target/release/libsuricata_rust.a; \
fi
if test -e ../rust/target/release/libsuricata.a; then \
cp -a ../rust/target/release/libsuricata.a \
../rust/target/release/libsuricata_rust.a; \
fi
make gen/rust-bindings.h
make[2]: Entering directory '/root/suricata/rust'
cd /root/suricata/rust && \
cbindgen --config /root/suricata/rust/cbindgen.toml \
--quiet --verify --output /root/suricata/rust/gen/rust-bindings.h || true
ERROR: Bindings changed: /root/suricata/rust/gen/rust-bindings.h
make[2]: Leaving directory '/root/suricata/rust'
mkdir -p /root/suricata/rust/gen
cp -a ../rust/target/release/build/suricata-lua-sys-*/out/lua/*.h \
/root/suricata/rust/gen/
make[1]: Leaving directory '/root/suricata/rust'
Making all in src
make[1]: Entering directory '/root/suricata/src'
make all-am
make[2]: Entering directory '/root/suricata/src'
CC main.o
CC alert-debuglog.o
In file included from rust.h:24,
from output-file.h:29,
from output.h:40,
from alert-debuglog.c:47:
./../rust/gen/rust-bindings.h:4859:27: error: field 'probe_ts' has incomplete type
4859 | struct Option_ProbeFn probe_ts;
| ^~~~~~~~
./../rust/gen/rust-bindings.h:4863:27: error: field 'probe_tc' has incomplete type
4863 | struct Option_ProbeFn probe_tc;
| ^~~~~~~~
./../rust/gen/rust-bindings.h:4875:5: error: unknown type name 'StateAllocFn'
4875 | StateAllocFn state_new;
| ^~~~~~~~~~~~
./../rust/gen/rust-bindings.h:4879:5: error: unknown type name 'StateFreeFn'
4879 | StateFreeFn state_free;
| ^~~~~~~~~~~
./../rust/gen/rust-bindings.h:4883:5: error: unknown type name 'ParseFn'
4883 | ParseFn parse_ts;
| ^~~~~~~
./../rust/gen/rust-bindings.h:4887:5: error: unknown type name 'ParseFn'
4887 | ParseFn parse_tc;
| ^~~~~~~
./../rust/gen/rust-bindings.h:4891:5: error: unknown type name 'StateGetTxCntFn'
4891 | StateGetTxCntFn get_tx_count;
| ^~~~~~~~~~~~~~~
./../rust/gen/rust-bindings.h:4895:5: error: unknown type name 'StateGetTxFn'
4895 | StateGetTxFn get_tx;
| ^~~~~~~~~~~~
./../rust/gen/rust-bindings.h:4899:5: error: unknown type name 'StateTxFreeFn'
4899 | StateTxFreeFn tx_free;
| ^~~~~~~~~~~~~
./../rust/gen/rust-bindings.h:4908:5: error: unknown type name 'StateGetProgressFn'
4908 | StateGetProgressFn tx_get_progress;
| ^~~~~~~~~~~~~~~~~~
./../rust/gen/rust-bindings.h:4912:34: error: field 'get_eventinfo' has incomplete type
4912 | struct Option_GetEventInfoFn get_eventinfo;
| ^~~~~~~~~~~~~
./../rust/gen/rust-bindings.h:4916:38: error: field 'get_eventinfo_byid' has incomplete type
4916 | struct Option_GetEventInfoByIdFn get_eventinfo_byid;
| ^~~~~~~~~~~~~~~~~~
./../rust/gen/rust-bindings.h:4920:37: error: field 'localstorage_new' has incomplete type
4920 | struct Option_LocalStorageNewFn localstorage_new;
| ^~~~~~~~~~~~~~~~
./../rust/gen/rust-bindings.h:4924:38: error: field 'localstorage_free' has incomplete type
4924 | struct Option_LocalStorageFreeFn localstorage_free;
| ^~~~~~~~~~~~~~~~~
./../rust/gen/rust-bindings.h:4928:32: error: field 'get_tx_files' has incomplete type
4928 | struct Option_GetTxFilesFn get_tx_files;
| ^~~~~~~~~~~~
./../rust/gen/rust-bindings.h:4932:35: error: field 'get_tx_iterator' has incomplete type
4932 | struct Option_GetTxIteratorFn get_tx_iterator;
| ^~~~~~~~~~~~~~~
./../rust/gen/rust-bindings.h:4933:5: error: unknown type name 'GetStateDataFn'
4933 | GetStateDataFn get_state_data;
| ^~~~~~~~~~~~~~
./../rust/gen/rust-bindings.h:4934:5: error: unknown type name 'GetTxDataFn'
4934 | GetTxDataFn get_tx_data;
| ^~~~~~~~~~~
./../rust/gen/rust-bindings.h:4935:35: error: field 'apply_tx_config' has incomplete type
4935 | struct Option_ApplyTxConfigFn apply_tx_config;
| ^~~~~~~~~~~~~~~
./../rust/gen/rust-bindings.h:4937:36: error: field 'get_frame_id_by_name' has incomplete type
4937 | struct Option_GetFrameIdByName get_frame_id_by_name;
| ^~~~~~~~~~~~~~~~~~~~
./../rust/gen/rust-bindings.h:4938:36: error: field 'get_frame_name_by_id' has incomplete type
4938 | struct Option_GetFrameNameById get_frame_name_by_id;
| ^~~~~~~~~~~~~~~~~~~~
./../rust/gen/rust-bindings.h:5112:17: error: conflicting types for 'StringToAppProto'; have 'AppProto(const uint8_t *)' {aka 'short unsigned int(const unsigned char *)'}
5112 | extern AppProto StringToAppProto(const uint8_t *proto_name);
| ^~~~~~~~~~~~~~~~
In file included from flow.h:37,
from detect.h:28,
from alert-debuglog.c:27:
app-layer-protos.h:174:10: note: previous declaration of 'StringToAppProto' with type 'AppProto(const char *)' {aka 'short unsigned int(const char *)'}
174 | AppProto StringToAppProto(const char *proto_name);
| ^~~~~~~~~~~~~~~~
In file included from rust.h:24,
from output-file.h:29,
from output.h:40,
from alert-debuglog.c:47:
./../rust/gen/rust-bindings.h:5114:25: error: conflicting types for 'SCGetContext'; have 'SuricataContext *(void)' {aka 'struct SuricataContext_ *(void)'}
5114 | extern SuricataContext *SCGetContext(void);
| ^~~~~~~~~~~~
In file included from rust.h:23,
from output-file.h:29,
from output.h:40,
from alert-debuglog.c:47:
rust-context.h:72:24: note: previous declaration of 'SCGetContext' with type 'const SuricataContext *(void)' {aka 'const struct SuricataContext_ *(void)'}
72 | const SuricataContext *SCGetContext(void);
| ^~~~~~~~~~~~
In file included from rust.h:24,
from output-file.h:29,
from output.h:40,
from alert-debuglog.c:47:
./../rust/gen/rust-bindings.h:5120:13: error: conflicting types for 'FlowGetLastTimeAsParts'; have 'void(const Flow *, uint64_t *, uint64_t *)' {aka 'void(const struct Flow_ *, long unsigned int *, long unsigned int *)'}
5120 | extern void FlowGetLastTimeAsParts(const Flow *flow,
| ^~~~~~~~~~~~~~~~~~~~~~
In file included from detect.h:28,
from alert-debuglog.c:27:
flow.h:593:6: note: previous declaration of 'FlowGetLastTimeAsParts' with type 'void(Flow *, uint64_t *, uint64_t *)' {aka 'void(struct Flow_ *, long unsigned int *, long unsigned int *)'}
593 | void FlowGetLastTimeAsParts(Flow *flow, uint64_t *secs, uint64_t *usecs);
| ^~~~~~~~~~~~~~~~~~~~~~
In file included from rust.h:24,
from output-file.h:29,
from output.h:40,
from alert-debuglog.c:47:
./../rust/gen/rust-bindings.h:5124:17: error: conflicting types for 'FlowGetFlags'; have 'uint32_t(const Flow *)' {aka 'unsigned int(const struct Flow_ *)'}
5124 | extern uint32_t FlowGetFlags(const Flow *flow);
| ^~~~~~~~~~~~
In file included from detect.h:28,
from alert-debuglog.c:27:
flow.h:594:10: note: previous declaration of 'FlowGetFlags' with type 'uint32_t(Flow *)' {aka 'unsigned int(struct Flow_ *)'}
594 | uint32_t FlowGetFlags(Flow *flow);
| ^~~~~~~~~~~~
In file included from rust.h:24,
from output-file.h:29,
from output.h:40,
from alert-debuglog.c:47:
./../rust/gen/rust-bindings.h:5126:17: error: conflicting types for 'FlowGetSourcePort'; have 'uint16_t(const Flow *)' {aka 'short unsigned int(const struct Flow_ *)'}
5126 | extern uint16_t FlowGetSourcePort(const Flow *flow);
| ^~~~~~~~~~~~~~~~~
In file included from detect.h:28,
from alert-debuglog.c:27:
flow.h:595:10: note: previous declaration of 'FlowGetSourcePort' with type 'uint16_t(Flow *)' {aka 'short unsigned int(struct Flow_ *)'}
595 | uint16_t FlowGetSourcePort(Flow *flow);
| ^~~~~~~~~~~~~~~~~
In file included from rust.h:24,
from output-file.h:29,
from output.h:40,
from alert-debuglog.c:47:
./../rust/gen/rust-bindings.h:5128:17: error: conflicting types for 'FlowGetDestinationPort'; have 'uint16_t(const Flow *)' {aka 'short unsigned int(const struct Flow_ *)'}
5128 | extern uint16_t FlowGetDestinationPort(const Flow *flow);
| ^~~~~~~~~~~~~~~~~~~~~~
In file included from detect.h:28,
from alert-debuglog.c:27:
flow.h:596:10: note: previous declaration of 'FlowGetDestinationPort' with type 'uint16_t(Flow *)' {aka 'short unsigned int(struct Flow_ *)'}
596 | uint16_t FlowGetDestinationPort(Flow *flow);
| ^~~~~~~~~~~~~~~~~~~~~~
In file included from rust.h:24,
from output-file.h:29,
from output.h:40,
from alert-debuglog.c:47:
./../rust/gen/rust-bindings.h:5150:15: error: conflicting types for 'ConfGet'; have 'int8_t(const char *, const char **)' {aka 'signed char(const char *, const char **)'}
5150 | extern int8_t ConfGet(const char *key, const char **res);
| ^~~~~~~
In file included from util-file.h:28,
from detect.h:41,
from alert-debuglog.c:27:
conf.h:61:5: note: previous declaration of 'ConfGet' with type 'int(const char *, const char **)'
61 | int ConfGet(const char *name, const char **vptr);
| ^~~~~~~
In file included from rust.h:24,
from output-file.h:29,
from output.h:40,
from alert-debuglog.c:47:
./../rust/gen/rust-bindings.h:5152:15: error: conflicting types for 'ConfGetChildValue'; have 'int8_t(const void *, const char *, const char **)' {aka 'signed char(const void *, const char *, const char **)'}
5152 | extern int8_t ConfGetChildValue(const void *conf,
| ^~~~~~~~~~~~~~~~~
In file included from util-file.h:28,
from detect.h:41,
from alert-debuglog.c:27:
conf.h:89:5: note: previous declaration of 'ConfGetChildValue' with type 'int(const ConfNode *, const char *, const char **)' {aka 'int(const struct ConfNode_ *, const char *, const char **)'}
89 | int ConfGetChildValue(const ConfNode *base, const char *name, const char **vptr);
| ^~~~~~~~~~~~~~~~~
In file included from rust.h:24,
from output-file.h:29,
from output.h:40,
from alert-debuglog.c:47:
./../rust/gen/rust-bindings.h:5156:15: error: conflicting types for 'ConfGetChildValueBool'; have 'int8_t(const void *, const char *, int *)' {aka 'signed char(const void *, const char *, int *)'}
5156 | extern int8_t ConfGetChildValueBool(const void *conf,
| ^~~~~~~~~~~~~~~~~~~~~
In file included from util-file.h:28,
from detect.h:41,
from alert-debuglog.c:27:
conf.h:91:5: note: previous declaration of 'ConfGetChildValueBool' with type 'int(const ConfNode *, const char *, int *)' {aka 'int(const struct ConfNode_ *, const char *, int *)'}
91 | int ConfGetChildValueBool(const ConfNode *base, const char *name, int *val);
| ^~~~~~~~~~~~~~~~~~~~~
In file included from rust.h:24,
from output-file.h:29,
from output.h:40,
from alert-debuglog.c:47:
./../rust/gen/rust-bindings.h:5160:20: error: conflicting types for 'ConfGetNode'; have 'const void *(const char *)'
5160 | extern const void *ConfGetNode(const char *key);
| ^~~~~~~~~~~
In file included from util-file.h:28,
from detect.h:41,
from alert-debuglog.c:27:
conf.h:73:11: note: previous declaration of 'ConfGetNode' with type 'ConfNode *(const char *)' {aka 'struct ConfNode_ *(const char *)'}
73 | ConfNode *ConfGetNode(const char *key);
| ^~~~~~~~~~~
In file included from rust.h:24,
from output-file.h:29,
from output.h:40,
from alert-debuglog.c:47:
./../rust/gen/rust-bindings.h:5253:43: error: unknown type name 'ProbeFn'
5253 | ProbeFn pparser1,
| ^~~~~~~
./../rust/gen/rust-bindings.h:5254:43: error: unknown type name 'ProbeFn'
5254 | ProbeFn pparser2);
| ^~~~~~~
./../rust/gen/rust-bindings.h:5262:52: error: unknown type name 'ProbeFn'
5262 | ProbeFn pparser_ts,
| ^~~~~~~
./../rust/gen/rust-bindings.h:5263:52: error: unknown type name 'ProbeFn'
5263 | ProbeFn pparser_tc);
| ^~~~~~~
./../rust/gen/rust-bindings.h:5285:54: error: unknown type name 'ProbeFn'
5285 | ProbeFn ppfn,
| ^~~~~~~
make[2]: Leaving directory '/root/suricata/src'
make[2]: *** [Makefile:3380: alert-debuglog.o] Error 1
make[1]: *** [Makefile:2602: all] Error 2
make[1]: Leaving directory '/root/suricata/src'
make: *** [Makefile:500: all-recursive] Error 1