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.
Git Clone URL: | https://aur.archlinux.org/ceph.git (read-only, click to copy) |
---|---|
Package Base: | ceph |
Description: | Ceph Storage utilities and tooling for librbd |
Upstream URL: | https://ceph.com/ |
Licenses: | GPL-2.0-or-later, LGPL-2.1-or-later, LGPL-3.0-or-later |
Submitter: | foxxx0 |
Maintainer: | pbazaah |
Last Packager: | pbazaah |
Votes: | 7 |
Popularity: | 0.030748 |
First Submitted: | 2022-08-08 09:09 (UTC) |
Last Updated: | 2025-04-22 18:52 (UTC) |
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.
Could I get a link to the patch, or a tad more guidance on where to move the include to?
It might build later in the process, but I did spot those issues about isal_ext not having a download step, but obviously the build never completes so perhaps it will take care of it later.
I can confirm that the latest gcc seems to have changed the rules around #include
s (again) and causes rocksdb to fail because there no #include <cstdint>
coming before blob_file_meta.h tries to use uint64.
ISA builds just fine however:
❯ just cexec ninja -j4 -C build ec_isa
ninja: Entering directory `build'
[14/14] Linking CXX shared library lib/libec_isa.so
The former is trivially fixable for yourself right now if you need it built. I'll look into putting out a patch for this later.
Also it looks like we're still missing something for isa
[33/2125] No download step for 'isal_ext'
Took me a second. Found the issue was much earlier
FAILED: CMakeFiles/rocksdb.dir/db/blob/blob_file_meta.cc.o
/usr/bin/c++ -DHAVE_PCLMUL -DHAVE_SSE42 -DLZ4 -DOS_LINUX -DROCKSDB_FALLOCATE_PRESENT -DROCKSDB_IOURING_PRESENT -DROCKSDB_LIB_IO_POSIX -DROCKSDB_MALLOC_USA
BLE_SIZE -DROCKSDB_NO_DYNAMIC_EXTENSION -DROCKSDB_PLATFORM_POSIX -DROCKSDB_PORTABLE -DROCKSDB_PTHREAD_ADAPTIVE_MUTEX -DROCKSDB_RANGESYNC_PRESENT -DROCKSDB
_SCHED_GETCPU_PRESENT -DSNAPPY -DZLIB -I/build/ceph/src/ceph-19.2.2/src/rocksdb -I/build/ceph/src/ceph-19.2.2/src/rocksdb/include -isystem /build/ceph/src
/ceph-19.2.2/src/rocksdb/third-party/gtest-1.8.1/fused-src -isystem /build/ceph/src/ceph-19.2.2/src/liburing/src/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-fr
ame-pointer -mno-omit-leaf-frame-pointer -Wp,-D_GLIBCXX_ASSERTIONS -g -ffile-prefix-map=/build/ceph/src=/usr/src/debug/ceph -Wno-deprecated-copy -Wno-pess
imizing-move -W -Wextra -Wall -pthread -Wsign-compare -Wshadow -Wno-unused-parameter -Wno-unused-variable -Woverloaded-virtual -Wnon-virtual-dtor -Wno-mis
sing-field-initializers -Wno-strict-aliasing -Wno-invalid-offsetof -fno-omit-frame-pointer -momit-leaf-frame-pointer -fno-builtin-memcmp -O2 -g -DNDEBUG -
std=gnu++17 -fPIC -MD -MT CMakeFiles/rocksdb.dir/db/blob/blob_file_meta.cc.o -MF CMakeFiles/rocksdb.dir/db/blob/blob_file_meta.cc.o.d -o CMakeFiles/rocksd
b.dir/db/blob/blob_file_meta.cc.o -c /build/ceph/src/ceph-19.2.2/src/rocksdb/db/blob/blob_file_meta.cc
In file included from /build/ceph/src/ceph-19.2.2/src/rocksdb/db/blob/blob_file_meta.cc:6:
/build/ceph/src/ceph-19.2.2/src/rocksdb/db/blob/blob_file_meta.h:28:7: error: ‘uint64_t’ has not been declared
28 | uint64_t blob_file_number, uint64_t total_blob_count,
Getting a build failure in PGMap.cc I think. I can't find the build error, just a few warns.
But I do get
ninja: build stopped: subcommand failed.
v19.2.2-1 has been released.
This patch version has a fix for a data-loss bug in the RGW / S3 component, so I recommend you upgrade ASAP if this is a thing you use.
See: https://ceph.io/en/news/blog/2025/v19-2-2-squid-released (https://tracker.ceph.com/issues/70746)
Release notes: https://github.com/bazaah/aur-ceph/releases/tag/v19.2.2-1
and special thanks to https://gitlab.archlinux.org/carsme for fixing the snappy problem so quickly :)
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.