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
boostversion is1.83.0 - the version
1.88.0requirestwister-coreAPI update!
wget https://archives.boost.io/release/1.83.0/source/boost_1_83_0.tar.gz- get specified version (replace1_83_0with your value)- compare the output of
sha256sum boost_1_83_0.tar.gzwhich 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-buildwith 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-jargument 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
twisterdwithmake
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.NCwith your value)- compare the output of
sha256sum db-4.8.30.NC.tar.gzwhich 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 withclangandC++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-buildwith your value- optionally, you may skip the
--prefix=argument, when installing thelibdbinto 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-declarationto theconfigurecommand above
- optionally, you may skip the
make- build (optionally provide-jargument 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
twisterdwithmake
important
Make sure that the /path/to/libdb-build directory exists when launching your twisterd!