Project

General

Profile

Actions

Bug #40745

closed

Ceph fails to build during Arch linux packaging

Added by Brad Hubbard almost 5 years ago. Updated almost 5 years ago.

Status:
Rejected
Priority:
Low
Assignee:
Category:
build
Target version:
-
% 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
Actions #1

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@@
Actions #2

Updated by Brad Hubbard almost 5 years ago

  • Status changed from Triaged to Rejected
Actions

Also available in: Atom PDF