Backport #44413
Updated by Kefu Chai about 4 years ago
https://github.com/ceph/ceph/pull/33716 For some time, master s390x build has been failing with: <pre> [ 5288s] [ 89%] Linking CXX executable ../../../bin/rbd [ 5293s] /usr/lib64/gcc/s390x-suse-linux/7/../../../../s390x-suse-linux/bin/ld: ../../../lib/librbd.so.1.12.0: undefined reference to `__atomic_store_16' [ 5293s] /usr/lib64/gcc/s390x-suse-linux/7/../../../../s390x-suse-linux/bin/ld: ../../../lib/librbd.so.1.12.0: undefined reference to `__atomic_load_16' [ 5293s] /usr/lib64/gcc/s390x-suse-linux/7/../../../../s390x-suse-linux/bin/ld: ../../../lib/librbd.so.1.12.0: undefined reference to `__atomic_compare_exchange_16' [ 5293s] collect2: error: ld returned 1 exit status [ 5293s] make[2]: *** [src/tools/rbd/CMakeFiles/rbd.dir/build.make:783: bin/rbd] Error 1 [ 5293s] make[1]: *** [CMakeFiles/Makefile2:5781: src/tools/rbd/CMakeFiles/rbd.dir/all] Error 2 </pre> So far, we suspect that this is due to the use of boost::lockfree in the Ceph code base. Although the build failure occurs when linking bin/rbd, the problem is almost certainly not limited to RBD.