Originally posted by @fanquake in https://github.com/bitcoin/bitcoin/issues/30975#issuecomment-2610191420
Basic usage of building libmultiprocess yourself, on the current Ubuntu LTS release (24.04), for use with Core, doesn't currently work:
<libmultiprocess compiled & installed following instructions>
cmake -B build -DWITH_MULTIPROCESS=ON
-- The CXX compiler identification is GNU 13.3.0
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found SQLite3: /usr/include (found suitable version "3.45.1", minimum required is "3.7.17")
-- Looking for __atomic_load_8 in atomic
-- Looking for __atomic_load_8 in atomic - not found
CMake Error at /usr/lib/aarch64-linux-gnu/cmake/CapnProto/CapnProtoConfig.cmake:108 (message):
libatomic not found
Call Stack (most recent call first):
/usr/share/cmake-3.28/Modules/CMakeFindDependencyMacro.cmake:76 (find_package)
/usr/local/lib/cmake/Libmultiprocess/LibmultiprocessConfig.cmake:38 (find_dependency)
CMakeLists.txt:146 (find_package)
-- Configuring incomplete, errors occurred!
Having to work around this was also mentioned here: https://github.com/bitcoin/bitcoin/pull/10102#issuecomment-2515554249. We can likely work around this ourselves, but something this basic should be fixed before requiring developers to use this library. Along with reporting & upstreaming fixes to what are now new (hard) dependencies for us.