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

Reply via email to