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.
Search Criteria
Package Details: ceph-node-proxy 19.2.2-1
Package Actions
Git Clone URL: | https://aur.archlinux.org/ceph.git (read-only, click to copy) |
---|---|
Package Base: | ceph |
Description: | Ceph Storage daemon for cephadm deployments to collect RedFishAPI hardware metrics |
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.030133 |
First Submitted: | 2022-08-08 09:09 (UTC) |
Last Updated: | 2025-04-22 18:52 (UTC) |
Dependencies (81)
- python (python37AUR, python311AUR, python310AUR)
- bash (bash-devel-gitAUR, bash-gitAUR) (make)
- boost (boost-gitAUR) (make)
- boost-libs (make)
- cmake (cmake-gitAUR, cmake3AUR) (make)
- coreutils (coreutils-gitAUR, coreutils-selinuxAUR, coreutils-uutilsAUR, coreutils-uutils-symlinkAUR) (make)
- cryptsetup (cryptsetup-gitAUR) (make)
- curl (curl-gitAUR, curl-c-aresAUR) (make)
- cython (cython-gitAUR) (make)
- expat (expat-gitAUR) (make)
- fmt (fmt-gitAUR) (make)
- fuse3 (fuse3-gitAUR) (make)
- gawk (gawk-gitAUR) (make)
- gcc-libs (gcc-libs-gitAUR, gccrs-libs-gitAUR, gcc-libs-snapshotAUR) (make)
- git (git-gitAUR, git-glAUR) (make)
- glibc (glibc-gitAUR, glibc-linux4AUR, glibc-eacAUR) (make)
- gperf (gperf-gitAUR) (make)
- gperftools (gperftools-gitAUR) (make)
- jq (jq-gitAUR, jaq-binAUR) (make)
- junit (make)
- Show 61 more dependencies...
Required by (1)
- ceph-osd (optional)
Sources (34)
- ceph-13.2.2-dont-install-sysvinit-script.patch
- ceph-17.2.4-pybind-unmock-cythonize.patch
- ceph-17.2.4-test-bluefs-split.patch
- ceph-17.2.4-tox-flake8-git-ls-files.patch
- ceph-17.2.5-fix-iterator-depreciations.patch
- ceph-17.2.5-logrotate-ignore-dups.patch
- ceph-17.2.6-cython-fixes.patch
- ceph-17.2.6-mgr-dashboard-cherrypy-18.patch
- ceph-17.2.6-mgr-dashboard-pylint-217.patch
- ceph-18.2.0-fix-ecode-shec-test.patch
- ceph-18.2.0-fmt10-fixes.patch
- ceph-18.2.2-disable-mypy-flake8-tests.patch
- ceph-18.2.2-mgr-alias-ceph-bcrypt.patch
- ceph-18.2.2-py312-fixes.patch
- ceph-18.2.2-std-atomic-depreciations.patch
- ceph-18.2.2-test-mempool-shard-select-disable.patch
- ceph-18.2.4-avoid-cpython-pysys-api.patch
- ceph-18.2.4-boost-1.86-fixes.patch
- ceph-18.2.4-fmt-formatter-const.patch
- ceph-18.2.4-py313-fixes.patch
- ceph-19.2.0-backport-ceph-exporter.patch
- ceph-19.2.0-backport-mds-link-boost-urls.patch
- ceph-19.2.0-fix-cohort-lru-include.patch
- ceph-19.2.1-backport-fix-importlib-metadata-compat.patch
- ceph-19.2.1-boost-1.87-fixes.patch
- ceph-19.2.1-fix-ipv6-support-in-is-addr-in-subnet.patch
- ceph-19.2.1-quiet-stringop-truncation.patch
- ceph-disable-empty-readable.sh-test.patch
- ceph.sudoers
- ceph.sysusers
- https://download.ceph.com/tarballs/ceph-19.2.2.tar.gz
- python-bcrypt-4.2.1.tar.gz
- python-bcrypt-allow-subinterpreters.patch
- python-bcrypt-prefix-ceph.patch
pbazaah commented on 2025-05-05 18:02 (UTC)
pbazaah commented on 2025-05-03 15:07 (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.
insanemal commented on 2025-05-03 14:05 (UTC) (edited on 2025-05-03 14:05 (UTC) by insanemal)
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
insanemal commented on 2025-05-03 13:18 (UTC)
You are a champion. I will try this now.
pbazaah commented on 2025-05-03 13:06 (UTC)
- Create a
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"
- add it to PKGBUILD
source
'skip'
it insha512sums
(makepkg -g
should be able to print this out for you too)- build
I haven't done this yet, so there may be other issues later in the build.
insanemal commented on 2025-05-03 12:30 (UTC)
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.
pbazaah commented on 2025-05-03 12:22 (UTC)
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.
insanemal commented on 2025-05-03 08:44 (UTC)
Also it looks like we're still missing something for isa
[33/2125] No download step for 'isal_ext'
insanemal commented on 2025-05-03 08:24 (UTC)
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,
insanemal commented on 2025-05-03 08:14 (UTC)
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.
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.