http://bugzilla.opensuse.org/show_bug.cgi?id=1135030
http://bugzilla.opensuse.org/show_bug.cgi?id=1135030#c12
Dario Faggioli
[ 111s] Has header "rbd/librbd.h" : YES [ 111s] Library rbd found: YES [ 111s] [ 111s] ../meson.build:880:6: ERROR: Problem encountered: librbd >= 1.12.0 required
It seems like a problem with versions of the library, but it isn't (and indeed the error message could be improved!). In fact, the libraries are there, and in high enough version (you can check in any buildlog: https://build.opensuse.org/package/show/Virtualization/qemu). The checks that leads to that error, within the QEMU build system, is:
rbd = not_found if not get_option('rbd').auto() or have_block librados = cc.find_library('rados', required: get_option('rbd'), kwargs: static_kwargs) librbd = cc.find_library('rbd', has_headers: ['rbd/librbd.h'], required: get_option('rbd'), kwargs: static_kwargs) if librados.found() and librbd.found() if cc.links(''' #include
#include int main(void) { rados_t cluster; rados_create(&cluster, NULL); #if LIBRBD_VERSION_CODE < LIBRBD_VERSION(1, 12, 0) #error #endif return 0; }''', dependencies: [librbd, librados]) rbd = declare_dependency(dependencies: [librbd, librados]) elif get_option('rbd').enabled() error('librbd >= 1.12.0 required') else warning('librbd >= 1.12.0 not found, disabling') endif endif endif
I've tried to reproduce the problem, externally to the build system itself, and it turns out that compiling the test programs fails like this:
$ cc rados.c -lrbd -lrados /usr/lib64/gcc/powerpc64le-suse-linux/12/../../../../powerpc64le-suse-linux/bin/ld: /usr/lib64/ceph/libceph-common.so.2: undefined reference to `int fmt::v8::detail::format_float<__float128>(__float128, int, fmt::v8::detail::float_specs, fmt::v8::detail::buffer<char>&)' /usr/lib64/gcc/powerpc64le-suse-linux/12/../../../../powerpc64le-suse-linux/bin/ld: /usr/lib64/ceph/libceph-common.so.2: undefined reference to `int fmt::v8::detail::snprintf_float<__float128>(__float128, int, fmt::v8::detail::float_specs, fmt::v8::detail::buffer<char>&)' collect2: error: ld returned 1 exit status
Any idea? just FTR, this is currently blocking the build of QEMU, on ppc64, in Factory and Tumbleweed... -- You are receiving this mail because: You are on the CC list for the bug.