Boost C++
If the twisterd
build fails because your system repository has a newer version of libboost that is incompatible with the current twister-core
API, follow these steps to build a custom (legacy) version from source:
note
- latest tested
boost
version is1.83.0
- the version
1.88.0
requirestwister-core
API update!
wget https://archives.boost.io/release/1.83.0/source/boost_1_83_0.tar.gz
- get specified version (replace1_83_0
with your value)- compare the output of
sha256sum boost_1_83_0.tar.gz
which should bec0685b68dd44cc46574cce86c4e17c0f611b15e195be9848dfd0769a0a207628
- compare the output of
tar -xzf boost_1_83_0.tar.gz
- unarchive the sourcescd boost_1_83_0
- navigate the sources directory./bootstrap.sh --prefix=/path/to/boost-build
- replace/path/to/boost-build
with your value- optionally, you may skip the
--prefix=
argument, when installing the boost into default location, but it is not recommended as may overwrite your existing system version installed by package manager!
- optionally, you may skip the
./b2 install
- build and install to the--prefix=
destination (optionally provide-j
argument if you want to specify the number of CPU threads)
When the boost
build is complete, configure the twister-core
using --with-boost=/path/to/boost-build
argument, for example:
cd twister-core
./configure --with-boost=/path/to/boost-build
- then build
twisterd
withmake
important
Make sure that the /path/to/boost-build
directory exists when launching your twisterd
!
Berkeley DB
The current version of twister-core
should be compatible with recent system versions of Berkeley DB (also known as bdb
, libdb
), at least on Fedora 41, which provides version 5.3.28
from its repository.
If you want to build a specific version of libdb
from source, use the following steps:
wget https://download.oracle.com/berkeley-db/db-4.8.30.NC.tar.gz
- get legacy version (or replace4.8.30.NC
with your value)- compare the output of
sha256sum db-4.8.30.NC.tar.gz
which should be12edc0df75bf9abd7f82f821795bcee50f42cb2e5f76a6a281b85732798364ef
- compare the output of
tar -xzf db-4.8.30.NC.tar.gz
- unarchive the sourcescd db-4.8.30.NC
- navigate the sources directorywget https://gist.githubusercontent.com/LnL7/5153b251fd525fe15de69b67e63a6075/raw/7778e9364679093a32dec2908656738e16b6bdcb/clang.patch
- download this patch when building withclang
andC++11
(details)patch -p2 < clang.patch
- apply a patch
cd build_unix
- navigate to this directory if you are building on Linux../dist/configure --prefix=/path/to/libdb-build --enable-cxx
- replace/path/to/libdb-build
with your value- optionally, you may skip the
--prefix=
argument, when installing thelibdb
into default location, but it is not recommended as may overwrite your existing system version installed by package manager! - if you see
WARNING: NO SHARED LATCH IMPLEMENTATION FOUND FOR THIS PLATFORM
- as a temporary solution, appendCFLAGS=-Wno-error=implicit-function-declaration
to theconfigure
command above
- optionally, you may skip the
make
- build (optionally provide-j
argument if you want to specify the number of CPU threads)make install
- install the build to the--prefix=
destination (/path/to/libdb-build
)
When our libdb
version is ready to use, configure the twister-core
using --with-libdb=/path/to/libdb-build
argument, for example:
cd twister-core
./configure --with-libdb=/path/to/libdb-build
- then build
twisterd
withmake
important
Make sure that the /path/to/libdb-build
directory exists when launching your twisterd
!