Just pulled from git,
Same error
Performing C SOURCE FILE Test HAVE_STAT_ST_MTIMESPEC_TV_NSEC failed with
the following output:
Change Dir:
/usr/local/src/foo/ceph/build/CMakeFiles/CMakeScratch/TryCompile-ElG6T9
Run Build Command(s):/usr/bin/ninja cmTC_00cc2 && [1/2] Building C
object CMakeFiles/cmTC_00cc2.dir/src.c.o
FAILED: CMakeFiles/cmTC_00cc2.dir/src.c.o
/usr/bin/gcc-12 -DHAVE_STAT_ST_MTIMESPEC_TV_NSEC -o
CMakeFiles/cmTC_00cc2.dir/src.c.o -c
/usr/local/src/foo/ceph/build/CMakeFiles/CMakeScratch/TryCompile-ElG6T9/srcc
/usr/local/src/foo/ceph/build/CMakeFiles/CMakeScratch/TryCompile-ElG6T9/src.c:
In function ‘main’
On 30/06/2025 08:52, robin hammond wrote:
I just attempted to build the lasted tarbar on a freshly installed and
updated devuan daedalus system.
Linux devuan-ceph 6.1.0-37-amd64 #1 SMP PREEMPT_DYNAMIC Debian
6.1.140-1 (2025-05-22) x86_64 GNU/Linux
I ran ./install-deps.sh as per
https://docs.ceph.com/en/latest/install/build-ceph/ but
./do_cmake.sh resulted in an error.
Has anyone any experience with this error ?
root@devuan-ceph:/usr/local/src/ceph-19.2.2# cat
/usr/local/src/ceph-19.2.2/build/CMakeFiles/CMakeError.log
Determining if the function memset_s exists failed with the following
output:
Change Dir:
/usr/local/src/ceph-19.2.2/build/CMakeFiles/CMakeScratch/TryCompile-7e7NF3
Run Build Command(s):/usr/bin/ninja cmTC_3bf24 && [1/2] Building C
object CMakeFiles/cmTC_3bf24.dir/CheckFunctionExists.c.o
[2/2] Linking C executable cmTC_3bf24
FAILED: cmTC_3bf24
: && /usr/bin/gcc-12 -DCHECK_FUNCTION_EXISTS=memset_s
CMakeFiles/cmTC_3bf24.dir/CheckFunctionExists.c.o -o cmTC_3bf24 && :
/usr/bin/ld: CMakeFiles/cmTC_3bf24.dir/CheckFunctionExists.c.o: in
function `main':
CheckFunctionExists.c:(.text+0x10): undefined reference to `memset_s'
collect2: error: ld returned 1 exit status
ninja: build stopped: subcommand failed.
Determining if the function pthread_set_name_np exists failed with the
following output:
Change Dir:
/usr/local/src/ceph-19.2.2/build/CMakeFiles/CMakeScratch/TryCompile-swTR94
Run Build Command(s):/usr/bin/ninja cmTC_2fec2 && [1/2] Building C
object CMakeFiles/cmTC_2fec2.dir/CheckFunctionExists.c.o
[2/2] Linking C executable cmTC_2fec2
FAILED: cmTC_2fec2
: && /usr/bin/gcc-12 -DCHECK_FUNCTION_EXISTS=pthread_set_name_np
CMakeFiles/cmTC_2fec2.dir/CheckFunctionExists.c.o -o cmTC_2fec2
-lpthread && :
/usr/bin/ld: CMakeFiles/cmTC_2fec2.dir/CheckFunctionExists.c.o: in
function `main':
CheckFunctionExists.c:(.text+0x10): undefined reference to
`pthread_set_name_np'
collect2: error: ld returned 1 exit status
ninja: build stopped: subcommand failed.
Determining if the function pthread_get_name_np exists failed with the
following output:
Change Dir:
/usr/local/src/ceph-19.2.2/build/CMakeFiles/CMakeScratch/TryCompile-6fkgqm
Run Build Command(s):/usr/bin/ninja cmTC_13767 && [1/2] Building C
object CMakeFiles/cmTC_13767.dir/CheckFunctionExists.c.o
[2/2] Linking C executable cmTC_13767
FAILED: cmTC_13767
: && /usr/bin/gcc-12 -DCHECK_FUNCTION_EXISTS=pthread_get_name_np
CMakeFiles/cmTC_13767.dir/CheckFunctionExists.c.o -o cmTC_13767
-lpthread && :
/usr/bin/ld: CMakeFiles/cmTC_13767.dir/CheckFunctionExists.c.o: in
function `main':
CheckFunctionExists.c:(.text+0x10): undefined reference to
`pthread_get_name_np'
collect2: error: ld returned 1 exit status
ninja: build stopped: subcommand failed.
Determining if the function getprogname exists failed with the
following output:
Change Dir:
/usr/local/src/ceph-19.2.2/build/CMakeFiles/CMakeScratch/TryCompile-CZhew8
Run Build Command(s):/usr/bin/ninja cmTC_6c988 && [1/2] Building C
object CMakeFiles/cmTC_6c988.dir/CheckFunctionExists.c.o
[2/2] Linking C executable cmTC_6c988
FAILED: cmTC_6c988
: && /usr/bin/gcc-12 -DCHECK_FUNCTION_EXISTS=getprogname
CMakeFiles/cmTC_6c988.dir/CheckFunctionExists.c.o -o cmTC_6c988 && :
/usr/bin/ld: CMakeFiles/cmTC_6c988.dir/CheckFunctionExists.c.o: in
function `main':
CheckFunctionExists.c:(.text+0x10): undefined reference to `getprogname'
collect2: error: ld returned 1 exit status
ninja: build stopped: subcommand failed.
Determining if files valgrind/helgrind.h exist failed with the
following output:
Change Dir:
/usr/local/src/ceph-19.2.2/build/CMakeFiles/CMakeScratch/TryCompile-gqBwr4
Run Build Command(s):/usr/bin/ninja cmTC_c5529 && [1/2] Building C
object CMakeFiles/cmTC_c5529.dir/HAVE_VALGRIND_HELGRIND_H.c.o
FAILED: CMakeFiles/cmTC_c5529.dir/HAVE_VALGRIND_HELGRIND_H.c.o
/usr/bin/gcc-12 -o
CMakeFiles/cmTC_c5529.dir/HAVE_VALGRIND_HELGRIND_H.c.o -c
/usr/local/src/ceph-19.2.2/build/CMakeFiles/CMakeScratch/TryCompile-gqBwr4/HAVE_VALGRIc
/usr/local/src/ceph-19.2.2/build/CMakeFiles/CMakeScratch/TryCompile-gqBwr4/HAVE_VALGRIND_HELGRIND_H.c:2:10:
fatal error: valgrind/helgrind.h: No such file or directory
2 | #include <valgrind/helgrind.h>
| ^~~~~~~~~~~~~~~~~~~~~
compilation terminated.
ninja: build stopped: subcommand failed.
Source:
/* */
#include <valgrind/helgrind.h>
int main(void){return 0;}
Performing C SOURCE FILE Test HAVE_STAT_ST_MTIMESPEC_TV_NSEC failed
with the following output:
Change Dir:
/usr/local/src/ceph-19.2.2/build/CMakeFiles/CMakeScratch/TryCompile-sKMpCv
Run Build Command(s):/usr/bin/ninja cmTC_b96bc && [1/2] Building C
object CMakeFiles/cmTC_b96bc.dir/src.c.o
FAILED: CMakeFiles/cmTC_b96bc.dir/src.c.o
/usr/bin/gcc-12 -DHAVE_STAT_ST_MTIMESPEC_TV_NSEC -o
CMakeFiles/cmTC_b96bc.dir/src.c.o -c
/usr/local/src/ceph-19.2.2/build/CMakeFiles/CMakeScratch/TryCompile-sKMpCv/c
/usr/local/src/ceph-19.2.2/build/CMakeFiles/CMakeScratch/TryCompile-sKMpCv/src.c:
In function ‘main’:
/usr/local/src/ceph-19.2.2/build/CMakeFiles/CMakeScratch/TryCompile-sKMpCv/src.c:6:34:
error: ‘struct stat’ has no member named ‘st_mtimespec’
6 | (void)sizeof(((struct stat *)0)->st_mtimespec.tv_nsec);
| ^~
ninja: build stopped: subcommand failed.
Source file was:
#include <sys/stat.h>
int main()
{
(void)sizeof(((struct stat *)0)->st_mtimespec.tv_nsec);
return 0;
}
Performing C++ SOURCE FILE Test HAVE_CXX11_ATOMIC failed with the
following output:
Change Dir:
/usr/local/src/ceph-19.2.2/build/CMakeFiles/CMakeScratch/TryCompile-Qzk4En
Run Build Command(s):/usr/bin/ninja cmTC_ba8d6 && [1/2] Building CXX
object CMakeFiles/cmTC_ba8d6.dir/src.cxx.o
[2/2] Linking CXX executable cmTC_ba8d6
FAILED: cmTC_ba8d6
: && /usr/bin/g++-12 -std=c++11 CMakeFiles/cmTC_ba8d6.dir/src.cxx.o
-o cmTC_ba8d6 && :
/usr/bin/ld: CMakeFiles/cmTC_ba8d6.dir/src.cxx.o: in function
`std::atomic<tagged_ptr>::store(tagged_ptr, std::memory_order)':
src.cxx:(.text._ZNSt6atomicI10tagged_ptrE5storeES0_St12memory_order[_ZNSt6atomicI10tagged_ptrE5storeES0_St12memory_order]+0x62):
undefined reference to `__atomic_stor'
/usr/bin/ld: CMakeFiles/cmTC_ba8d6.dir/src.cxx.o: in function
`std::atomic<tagged_ptr>::load(std::memory_order) const':
src.cxx:(.text._ZNKSt6atomicI10tagged_ptrE4loadESt12memory_order[_ZNKSt6atomicI10tagged_ptrE4loadESt12memory_order]+0x2d):
undefined reference to `__atomic_load_16'
/usr/bin/ld: CMakeFiles/cmTC_ba8d6.dir/src.cxx.o: in function
`std::atomic<tagged_ptr>::compare_exchange_strong(tagged_ptr&,
tagged_ptr, std::memory_order, std::memor:
src.cxx:(.text._ZNSt6atomicI10tagged_ptrE23compare_exchange_strongERS0_S0_St12memory_orderS3_[_ZNSt6atomicI10tagged_ptrE23compare_exchange_strongERS0_S0_St12memory_or'
collect2: error: ld returned 1 exit status
ninja: build stopped: subcommand failed.
Source file was:
#include <atomic>
#include <cstdint>
#include <cstddef>
#if defined(__SIZEOF_INT128__)
// Boost needs 16-byte atomics for tagged pointers.
// These are implemented via inline instructions on the platform
// if 16-byte alignment can be proven, and are delegated to libatomic
// library routines otherwise. Whether or not alignment is provably
// OK for a std::atomic unfortunately depends on compiler version and
// optimization levels, and also on the details of the expression.
// We specifically test access via an otherwise unknown pointer here
// to ensure we get the most complex case. If this access can be
// done without libatomic, then all accesses can be done.
struct tagged_ptr {
int* ptr;
std::size_t tag;
};
void atomic16(std::atomic<tagged_ptr> *ptr) __attribute__ ((used));
void atomic16(std::atomic<tagged_ptr> *ptr)
{
tagged_ptr p{nullptr, 1};
ptr->store(p);
tagged_ptr f = ptr->load();
tagged_ptr new_tag{nullptr, 0};
ptr->compare_exchange_strong(f, new_tag);
}
#endif
int main() {
#if defined(__SIZEOF_INT128__)
std::atomic<tagged_ptr> ptr;
atomic16(&ptr);
#endif
std::atomic<uint8_t> w1;
std::atomic<uint16_t> w2;
std::atomic<uint32_t> w4;
std::atomic<uint64_t> w8;
return w1 + w2 + w4 + w8;
}
_______________________________________________
ceph-users mailing list -- ceph-users@ceph.io
To unsubscribe send an email to ceph-users-le...@ceph.io
_______________________________________________
ceph-users mailing list -- ceph-users@ceph.io
To unsubscribe send an email to ceph-users-le...@ceph.io