Could you please also add
-DLUA_INCLUDE_DIR=/usr/include/lua5.3 \
-DLUA_LIBRARIES=/usr/lib/liblua5.3.so \
to the cmake clause in build()? This prevents cmake from picking up other Lua versions in case any are installed.
Also, it seems that Lua5.4 also works (though Lua5.5 breaks).
I should have a gcc 16 fix out sometime today or early tomorrow
https://gist.github.com/bazaah/c043ece021141553226dc3d475c0137c (grep -F heap_profiler on line 708)
(as the builder)
[builduser@ceph-build-test aur.ceph]$ cat ~/.bash_history
git clone --branch=feature/v20.2.1-3 https://git.st8l.com/luxolus/aur.ceph.git
cd aur.ceph
pkgctl build
(as root)
[root@ceph-build-test aur.ceph]# cat ~/.bash_history
ip a
ip a
ip a
ip a
ip a
ip a
pacman -S devtools git curl
useradd -h
useradd -d /var/lib/builduser -m -U builduser
passwd builduser
sudoedit /etc/sudoers.d/50-builduser
sudo su - builduser
grep -F heap_profiler /var/lib/archbuild/extra-x86_64/builduser-2/logdest/ceph-20.2.1-3-x86_64-build.log
less /var/lib/archbuild/extra-x86_64/builduser-2/logdest/ceph-20.2.1-3-x86_64-build.log
The build still fails much later when trying to link some rgw tests -- pretty sure my backport rebase is wrong.
@pbazaah: I can replicate both locally and on the arch build server.
==> try running just pkgctl build.
@daurnimator is there a way you can tar up your chroot and send it to me? I've started a new arch container and built the chroots from scratch and still can't reproduce that build error
I was able to get past that error with this patch:
--- a/src/common/Formatter.h
+++ b/src/common/Formatter.h
@@ -5,13 +5,14 @@
#include "include/buffer_fwd.h"
+#include <cstdarg>
+#include <cstdint>
#include <deque>
#include <fstream>
#include <functional>
#include <list>
#include <memory>
#include <vector>
-#include <stdarg.h>
#include <sstream>
#include <map>
#include <vector>
But then it fails with the same old error:
[119/2722] Building CXX object src/perfglue/CMakeFiles/heap_profiler.dir/heap_profiler.cc.o
FAILED: [code=1] src/perfglue/CMakeFiles/heap_profiler.dir/heap_profiler.cc.o
/usr/bin/c++ -DBOOST_ASIO_DISABLE_THREAD_KEYWORD_EXTENSION -DBOOST_ASIO_HAS_IO_URING -DBOOST_ASIO_NO_TS_EXECUTORS -DHAVE_CONFIG_H -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -D_REENTRANT -D_THREAD_SAFE -D__CEPH__ -D__STDC_FORMAT_MACROS -D__linux__ -I/build/ceph/src/ceph-20.2.1/build/src/include -I/build/ceph/src/ceph-20.2.1/src -isystem /build/ceph/src/ceph-20.2.1/build/include -isystem /build/ceph/src/ceph-20.2.1/src/xxHash -isystem /build/ceph/src/ceph-20.2.1/src/fmt/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 -Wno-maybe-uninitialized -O2 -g -DNDEBUG -std=c++20 -fPIC -fno-builtin-malloc -fno-builtin-calloc -fno-builtin-realloc -fno-builtin-free -Wall -fno-strict-aliasing -fsigned-char -Wtype-limits -Wignored-qualifiers -Wpointer-arith -Werror=format-security -Winit-self -Wno-unknown-pragmas -Wnon-virtual-dtor -Wno-ignored-qualifiers -ftemplate-depth-1024 -DBOOST_ALLOW_DEPRECATED_HEADERS -Wpessimizing-move -Wredundant-move -Wstrict-null-sentinel -Woverloaded-virtual -fstack-protector-strong -fdiagnostics-color=auto -MD -MT src/perfglue/CMakeFiles/heap_profiler.dir/heap_profiler.cc.o -MF src/perfglue/CMakeFiles/heap_profiler.dir/heap_profiler.cc.o.d -o src/perfglue/CMakeFiles/heap_profiler.dir/heap_profiler.cc.o -c /build/ceph/src/ceph-20.2.1/src/perfglue/heap_profiler.cc
/build/ceph/src/ceph-20.2.1/src/perfglue/heap_profiler.cc: In function ‘void get_profile_name(char*, int)’:
/build/ceph/src/ceph-20.2.1/src/perfglue/heap_profiler.cc:102:48: error: ‘class ConfigValues’ has no member named ‘log_file’
102 | snprintf(path, sizeof(path), "%s", g_conf()->log_file.c_str());
| ^~~~~~~~
yeah gcc 16 broke the build again :D -- if its easy I may get to it in the week otherwise I'll deal with it on the weekend
@pbazaah: I tried the newest revision and got a different failure.
[90/2722] Building CXX object src/cls/CMakeFiles/cls_timeindex_client.dir/timeindex/cls_timeindex_types.cc.o
FAILED: [code=1] src/cls/CMakeFiles/cls_timeindex_client.dir/timeindex/cls_timeindex_types.cc.o
/usr/bin/c++ -DBOOST_ASIO_DISABLE_THREAD_KEYWORD_EXTENSION -DBOOST_ASIO_HAS_IO_URING -DBOOST_ASIO_NO_TS_EXECUTORS -DHAVE_CONFIG_H -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -D_REENTRANT -D_THREAD_SAFE -D__CEPH__ -D__STDC_FORMAT_MACROS -D__linux__ -I/build/ceph/src/ceph-20.2.1/build/src/include -I/build/ceph/src/ceph-20.2.1/src -isystem /build/ceph/src/ceph-20.2.1/build/include -isystem /build/ceph/src/ceph-20.2.1/src/xxHash -isystem /build/ceph/src/ceph-20.2.1/src/fmt/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 -Wno-maybe-uninitialized -O2 -g -DNDEBUG -std=c++20 -fPIC -fno-builtin-malloc -fno-builtin-calloc -fno-builtin-realloc -fno-builtin-free -Wall -fno-strict-aliasing -fsigned-char -Wtype-limits -Wignored-qualifiers -Wpointer-arith -Werror=format-security -Winit-self -Wno-unknown-pragmas -Wnon-virtual-dtor -Wno-ignored-qualifiers -ftemplate-depth-1024 -DBOOST_ALLOW_DEPRECATED_HEADERS -Wpessimizing-move -Wredundant-move -Wstrict-null-sentinel -Woverloaded-virtual -fstack-protector-strong -fdiagnostics-color=auto -MD -MT src/cls/CMakeFiles/cls_timeindex_client.dir/timeindex/cls_timeindex_types.cc.o -MF src/cls/CMakeFiles/cls_timeindex_client.dir/timeindex/cls_timeindex_types.cc.o.d -o src/cls/CMakeFiles/cls_timeindex_client.dir/timeindex/cls_timeindex_types.cc.o -c /build/ceph/src/ceph-20.2.1/src/cls/timeindex/cls_timeindex_types.cc
In file included from /build/ceph/src/ceph-20.2.1/src/cls/timeindex/cls_timeindex_types.h:7,
from /build/ceph/src/ceph-20.2.1/src/cls/timeindex/cls_timeindex_types.cc:1:
/build/ceph/src/ceph-20.2.1/src/common/Formatter.h:209:55: error: ‘uint64_t’ has not been declared
209 | virtual void dump_unsigned(std::string_view name, uint64_t u) = 0;
| ^~~~~~~~
Full build log at https://gist.github.com/daurnimator/0373d4489f1a68b9b9d914e0aad266e1#file-ceph-20-2-1-2-x86_64-build-log-L336
My guess is that GCC 15 made the include required due to https://gcc.gnu.org/pipermail/gcc-patches/2024-August/659176.html
Backport https://github.com/ceph/ceph/commit/91231d89b2d8af6a101b0ceb85c8e1e472cc2eb3 ?
Please accept the patch from the pr/fastest-ceph-mirror branch in git@github.com:justinjoy/archlinux-aur-ceph.git.
It updates the Ceph source download logic to probe multiple official Ceph mirrors and select the fastest responding mirror
automatically, while still allowing manual override via CEPH_MIRROR.