Looks like a change from boost 1.89: https://github.com/boostorg/system/issues/132#issuecomment-3146378680
I'll get a pkgrel out soonish to fix this
Git Clone URL: | https://aur.archlinux.org/ceph.git (read-only, click to copy) |
---|---|
Package Base: | ceph |
Description: | Ceph Storage client library for a RADOS backed sqlite3 VFS extension |
Upstream URL: | https://ceph.com/ |
Licenses: | GPL-2.0-or-later, LGPL-2.1-or-later, LGPL-3.0-or-later |
Provides: | libcephsqlite.so |
Submitter: | foxxx0 |
Maintainer: | pbazaah |
Last Packager: | pbazaah |
Votes: | 8 |
Popularity: | 0.035208 |
First Submitted: | 2022-08-08 09:09 (UTC) |
Last Updated: | 2025-10-06 14:15 (UTC) |
Looks like a change from boost 1.89: https://github.com/boostorg/system/issues/132#issuecomment-3146378680
I'll get a pkgrel out soonish to fix this
Hi, with an Arch system up to date as of writing this comment I get this error when building
CMake Error at /usr/lib/cmake/Boost-1.89.0/BoostConfig.cmake:141 (find_package): Could not find a package configuration file provided by "boost_system" (requested version 1.89.0) with any of the following names:
boost_systemConfig.cmake
boost_system-config.cmake```
Add the installation prefix of "boost_system" to CMAKE_PREFIX_PATH or set "boost_system_DIR" to a directory containing one of the above files. If "boost_system" provides a separate development package or SDK, be sure it has been installed. Call Stack (most recent call first): /usr/lib/cmake/Boost-1.89.0/BoostConfig.cmake:262 (boost_find_component) cmake/modules/FindBoost.cmake:598 (find_package) CMakeLists.txt:709 (find_package)
-- Configuring incomplete, errors occurred! ==> ERROR: A failure occurred in build(). Aborting...
As a heads up the release of Ceph v20 is nigh, but I normally hold off on packaging it for a while, to give time for any early bug fixes to make their way in to the release, so I don't expect to release v20 here until next month at the earliest.
I will be releasing a -2 of 19.2.3 which finally has a fix for the mgr dashboard, backported from the mainline upstream. Yay.
Couple things to note however:
ceph mgr module disable restful
python-routes
(and probably other python packages) for the dashboard to work. I'll be adding this as a optional dep to the ceph-mgr package, and I probably will look at splitting up the mgr modules a bit more, so I can specify the exact deps each need, but that's not happening for now.mgr modules cephadm
and diskprediction_local
also remain broken for the moment, but cephadm should be fixed when v20 releases, and diskprediction_local looks deprecated by the upstream anyway.
v19.2.3-1 has been released.
There's no notable changes beyond a few feature backports from the main branch, and a full fix for the data loss bug in RGW -- v19.2.2 fixed it in practice, but it was still possible under some uncommon circumstances.
This also rebuilds ceph for glibc 2.42
They have a PR for the Boost stuff:
I got my first successful build just now. I'm just sidestepping the boost::process
stuff for now, I don't trust myself to make the kind of changes needed for v1->v2. The upstream should notice it eventually and my workaround will get much easier to maintain once https://github.com/boostorg/process/issues/480#issuecomment-2797215531 (hopefully) lands.
boost 1.88 seems to have removed support for boost::process::v1 and boost::process::v2 looks... very different.
So this will probably take me some time to unravel and definitely isn't going to happen today.
It almost built. There was another issue
[633/2125] Building CXX object src/rgw/CMakeFiles/rgw_common.dir/rgw_lua.cc.o
FAILED: src/rgw/CMakeFiles/rgw_common.dir/rgw_lua.cc.o
/usr/bin/c++ -DBOOST_ASIO_DISABLE_THREAD_KEYWORD_EXTENSION -DBOOST_ASIO_HAS_IO_URING -DBOOST_ASIO_NO_TS_EXECUTORS -DHAVE_CONFIG_H -DLMDB_SAFE_NO_CPP_UTILI
TIES -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2 -D_GNU_SOURCE -D_REENTRANT -D_THREAD_SAFE -D__CEPH__ -D__STDC_FORMAT_MACROS -D__linux__ -I/build/ceph/src/
ceph-19.2.2/build/src/include -I/build/ceph/src/ceph-19.2.2/src -I/build/ceph/src/ceph-19.2.2/src/rgw/services -I/build/ceph/src/ceph-19.2.2/src/rgw -I/bu
ild/ceph/src/ceph-19.2.2/src/rgw/driver/rados -I/build/ceph/src/ceph-19.2.2/src/dmclock/src -I/build/ceph/src/ceph-19.2.2/src/dmclock/support/src -isystem
/build/ceph/src/ceph-19.2.2/build/include -isystem /build/ceph/src/ceph-19.2.2/src/xxHash -isystem /build/ceph/src/ceph-19.2.2/src/fmt/include -isystem /
build/ceph/src/ceph-19.2.2/src/cpp_redis/includes -isystem /build/ceph/src/ceph-19.2.2/src/cpp_redis/tacopie/includes -isystem /build/ceph/src/ceph-19.2.2
/src/s3select/rapidjson/include -march=x86-64 -mtune=generic -O2 -pipe -fexceptions -Wp,-D_FORTIFY_SOURCE=3 -Wformat -Werror=format-security
-fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -Wp,-D_GLIBCXX_ASSERTIONS -g -ffile-prefix-map=/
build/ceph/src=/usr/src/debug/ceph -O2 -g -DNDEBUG -std=c++20 -fPIC -U_FORTIFY_SOURCE -fno-builtin-malloc -fno-builtin-calloc -fno-builtin-realloc -fno-
builtin-free -DBOOST_PHOENIX_STL_TUPLE_H_ -Wall -fno-strict-aliasing -fsigned-char -Wtype-limits -Wignored-qualifiers -Wpointer-arith -Werror=format-secur
ity -Winit-self -Wno-unknown-pragmas -Wnon-virtual-dtor -Wno-ignored-qualifiers -ftemplate-depth-1024 -Wpessimizing-move -Wredundant-move -Wstrict-null-se
ntinel -Woverloaded-virtual -fstack-protector-strong -fdiagnostics-color=auto -MD -MT src/rgw/CMakeFiles/rgw_common.dir/rgw_lua.cc.o -MF src/rgw/CMakeFile
s/rgw_common.dir/rgw_lua.cc.o.d -o src/rgw/CMakeFiles/rgw_common.dir/rgw_lua.cc.o -c /build/ceph/src/ceph-19.2.2/src/rgw/rgw_lua.cc
/build/ceph/src/ceph-19.2.2/src/rgw/rgw_lua.cc: In function ‘int rgw::lua::add_package(const DoutPrefixProvider*, rgw::sal::Driver*, optional_yield, const
std::string&, bool)’:
/build/ceph/src/ceph-19.2.2/src/rgw/rgw_lua.cc:103:22: error: ‘search_path’ is not a member of ‘rgw::lua::bp’
103 | const auto p = bp::search_path("luarocks");
| ^~~~~~~~~~~
/build/ceph/src/ceph-19.2.2/src/rgw/rgw_lua.cc:107:7: error: ‘ipstream’ is not a member of ‘rgw::lua::bp’
107 | bp::ipstream is;
| ^~~~~~~~
/build/ceph/src/ceph-19.2.2/src/rgw/rgw_lua.cc:109:7: error: ‘child’ is not a member of ‘rgw::lua::bp’
109 | bp::child c(cmd,
| ^~~~~
/build/ceph/src/ceph-19.2.2/src/rgw/rgw_lua.cc:116:10: error: ‘c’ was not declared in this scope
116 | while (c.running() && std::getline(is, line) && !line.empty()) {
| ^
/build/ceph/src/ceph-19.2.2/src/rgw/rgw_lua.cc:116:38: error: ‘is’ was not declared in this scope; did you mean ‘io’?
116 | while (c.running() && std::getline(is, line) && !line.empty()) {
| ^~
| io
/build/ceph/src/ceph-19.2.2/src/rgw/rgw_lua.cc:119:3: error: ‘c’ was not declared in this scope
119 | c.wait();
| ^
There is more, but this looks like the important part
You are a champion. I will try this now.
ceph-19.2.2-2-rocksdb-cstdint.patch
with:diff --git b/src/rocksdb/db/blob/blob_file_meta.h a/src/rocksdb/db/blob/blob_file_meta.h
index d7c8a12..d688825 100644
--- b/src/rocksdb/db/blob/blob_file_meta.h
+++ a/src/rocksdb/db/blob/blob_file_meta.h
@@ -10,6 +10,7 @@
#include <memory>
#include <string>
#include <unordered_set>
+#include <cstdint>
#include "rocksdb/rocksdb_namespace.h"
diff --git b/src/rocksdb/include/rocksdb/trace_record.h a/src/rocksdb/include/rocksdb/trace_record.h
index c00f5ca..e6c9b7e 100644
--- b/src/rocksdb/include/rocksdb/trace_record.h
+++ a/src/rocksdb/include/rocksdb/trace_record.h
@@ -8,6 +8,7 @@
#include <memory>
#include <string>
#include <vector>
+#include <cstdint>
#include "rocksdb/rocksdb_namespace.h"
#include "rocksdb/slice.h"
source
'skip'
it in sha512sums
(makepkg -g
should be able to print this out for you too)I haven't done this yet, so there may be other issues later in the build.
Pinned Comments
pbazaah commented on 2022-10-05 13:03 (UTC) (edited on 2022-10-05 13:03 (UTC) by pbazaah)
For future commenters:
TLDR:
https://aur.archlinux.org/pkgbase/ceph | From source build (slow)
https://aur.archlinux.org/pkgbase/ceph-bin | Pre-built binaries (fast)
Unlike the original community version, this repo builds ceph from source. Ceph is a large, complicated project so this takes several hours on a good build server.
To get a similar experience to how community/ceph worked (pre-built binaries) use ceph-bin instead.