Actions
Bug #40745
closedCeph fails to build during Arch linux packaging
% Done:
0%
Source:
Community (dev)
Tags:
Backport:
Regression:
No
Severity:
3 - minor
Reviewed:
Affected Versions:
ceph-qa-suite:
Pull request ID:
Crash signature (v1):
Crash signature (v2):
Description
[ 52%] Linking CXX executable ../../bin/ceph_scratchtool cd /build/ceph/src/ceph/build/src/tools && /usr/bin/cmake -E cmake_link_script CMakeFiles/ceph_scratchtool.dir/link.txt --verbose=1 /usr/bin/c++ -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -Wall -Wtype-limits -Wignored-qualifiers -Winit-self -Wpointer-arith -Werror=format-security -fno-strict-aliasing -fsigned-char -Wno-unknown-pragmas -rdynamic -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -ftemplate-depth-1024 -Wnon-virtual-dtor -Wno-unknown-pragmas -Wno-ignored-qualifiers -Wstrict-null-sentinel -Woverloaded-virtual -fno-new-ttp-matching -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -fstack-protector-strong -fdiagnostics-color=auto -fno-builtin-malloc -fno-builtin-calloc -fno-builtin-realloc -fno-builtin-free -Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now -pie CMakeFiles/ceph_scratchtool.dir/scratchtool.c.o -o ../../bin/ceph_scratchtool -Wl,-rpath,/build/ceph/src/ceph/build/lib: ../../lib/librados.so.2.0.0 ../../lib/libglobal.a ../../lib/libceph-common.so.0 ../../lib/libjson_spirit.a ../../lib/libcommon_utf8.a ../../lib/liberasure_code.a ../../lib/libcrc32.a ../../lib/libarch.a ../../boost/lib/libboost_thread.a ../../boost/lib/libboost_chrono.a ../../boost/lib/libboost_atomic.a ../../boost/lib/libboost_system.a ../../boost/lib/libboost_random.a ../../boost/lib/libboost_program_options.a ../../boost/lib/libboost_date_time.a ../../boost/lib/libboost_iostreams.a ../../boost/lib/libboost_regex.a /usr/lib/libblkid.so /usr/lib/libssl3.so /usr/lib/libsmime3.so /usr/lib/libnss3.so /usr/lib/libnssutil3.so /usr/lib/libplds4.so /usr/lib/libplc4.so /usr/lib/libnspr4.so /usr/lib/libcrypto.so -lpthread /usr/lib/libudev.so /usr/lib/libz.so -ldl -lrt -lresolv /usr/bin/ld: CMakeFiles/ceph_scratchtool.dir/scratchtool.c.o: in function `testrados': scratchtool.c:(.text+0x1be): undefined reference to `rados_create' /usr/bin/ld: scratchtool.c:(.text+0x1d5): undefined reference to `rados_conf_read_file' /usr/bin/ld: scratchtool.c:(.text+0x1f8): undefined reference to `rados_conf_set' /usr/bin/ld: scratchtool.c:(.text+0x246): undefined reference to `rados_conf_set' /usr/bin/ld: scratchtool.c:(.text+0x2f9): undefined reference to `rados_ioctx_create' /usr/bin/ld: scratchtool.c:(.text+0xbd8): undefined reference to `rados_aio_create_completion' /usr/bin/ld: scratchtool.c:(.text+0xbeb): undefined reference to `rados_aio_create_completion' /usr/bin/ld: scratchtool.c:(.text+0xca3): undefined reference to `rados_aio_create_completion' /usr/bin/ld: scratchtool.c:(.text+0xdf2): undefined reference to `rados_nobjects_list_open' /usr/bin/ld: scratchtool.c:(.text+0xe40): undefined reference to `rados_nobjects_list_next' collect2: error: ld returned 1 exit status make[2]: *** [src/tools/CMakeFiles/ceph_scratchtool.dir/build.make:115: bin/ceph_scratchtool] Error 1 make[2]: Leaving directory '/build/ceph/src/ceph/build' make[1]: *** [CMakeFiles/Makefile2:6673: src/tools/CMakeFiles/ceph_scratchtool.dir/all] Error 2
Updated by Brad Hubbard almost 5 years ago
- Status changed from New to Triaged
This is due to the Arch build system specifying the no-plt flag for the c++ (and c) compiler. This flag is apparently incompatible with ceph since it causes symbols in librados to be defined as 'local' rather than 'global'.
$ objdump -t ~/librados.so.2.0.0.good|grep rados_conf_set@@ 000000000003f6a0 g F .text 0000000000000153 rados_conf_set@@ $ objdump -t ~/librados.so.2.0.0.bad|grep rados_conf_set@@ 000000000003d700 l F .text 000000000000015e rados_conf_set@@
Updated by Brad Hubbard almost 5 years ago
- Status changed from Triaged to Rejected
Actions