tested for suricata 6.0.0-dev and updated for suricata 8.0.0-dev
debian/ubuntu
apt purge libhtp2 suricata suricata-update apt autoremove --purge
apt install build-essential automake autoconf libtool git clone https://github.com/OISF/libhtp cd libhtp/ ./autogen.sh ./configure --sysconfdir=/etc --localstatedir=/var echo $MAKEFLAGS make make install ldconfig cd ../
slackware and out-of-bound Rust
# python3 python-pip python-setuptools slackpkg install jansson slackpkg install gnutls libidn2 sbopkg -i libprelude sbopkg -i luajit # slackpkg install rust curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh source $HOME/.cargo/env
debian/ubuntu
apt install libpcre3 libpcre3-dbg libpcre3-dev libpcre2-dev \
build-essential autoconf automake libtool libpcap-dev libnet1-dev \
libyaml-0-2 libyaml-dev zlib1g zlib1g-dev libmagic-dev libcap-ng-dev \
libjansson-dev pkg-config
apt install libnetfilter-queue-dev
apt install python3-pip python3-setuptools python3-distutils
apt install liblz4-dev
apt install libnss3-dev
apt install libnspr4-dev
apt install rustc cargo cbindgen
apt install libluajit-5.1-dev
apt install libprelude-dev
apt install librust-bindgen-dev
shared
ls -lhF /etc/ssl/cacert.pem # no exist wget https://curl.se/ca/cacert.pem -O - > /etc/ssl/cacert.pem mkdir -p $HOME/.cargo/ vi $HOME/.cargo/config.toml [http] cainfo = "/etc/ssl/cacert.pem" cargo install --force cbindgen # python3 pip pip install --upgrade suricata-update
git clone https://github.com/OISF/suricata.git cd suricata/ ./autogen.sh
and proceed
export PATH=$PATH:$HOME/.cargo/bin
#export PATH=/root/.cargo/bin:$PATH
./configure \
--enable-nfqueue \
--enable-non-bundled-htp \
--sysconfdir=/etc \
--localstatedir=/var \
--enable-luajit \
--enable-prelude
# --prefix=/usr
echo $MAKEFLAGS
#nice make clean
time nice make
# 16 cores 1m53.513s
# 4 cores 3m23.685s
nice make install
nice make install-conf
which suricata /usr/local/bin/suricata -V #This is Suricata version 6.0.0-dev (edcb784f1 2020-04-07) This is Suricata version 8.0.0-dev (d63ad75d9 2025-01-23)
while building suricata
fatal error: rust-bindings.h: No such file or directory
==> but the cargo path BEFORE the casual PATH, and eventually make clean
from source https://www.claudiokuenzler.com/blog/511/suricata-network-intrusion-detection-nids-debian-wheezy
rustup https://rustup.rs/
Prelude support is broken in current 6.0.0 release https://redmine.openinfosecfoundation.org/issues/4065