Bug #38271
closedluminous: 12.2.11 link errors on Fedora 28 and 29 on s390x
0%
Description
FYI, I found it necessary to apply
https://src.fedoraproject.org/rpms/ceph/blob/f29/f/0008-src-rgw-CMakeLists.txt.patch
in order to build for s390x on Fedora 28 and 29.
The other archs — x86_64, i686, aarch64, armv7hl, ppc64le — build fine with or without the patch.
One such build log with the link error is https://kojipkgs.fedoraproject.org//work/tasks/6526/32726526/build.log
In case that disappears, here's a fragment of the log with some of the relevant bits:
undefined reference to `rgw::auth::AnonymousEngine::authenticate(req_state const*) const'
BUILDSTDERR: /usr/bin/ld: CMakeFiles/radosgw.dir/rgw_main.cc.o:(.data.rel.ro._ZTVN3rgw4auth5swift15DefaultStrategyE[_ZTVN3rgw4auth5swift15DefaultStrategyE]+0x28): undefined reference to `rgw::auth::Strategy::authenticate(req_state const*) const'
BUILDSTDERR: /usr/bin/ld: CMakeFiles/radosgw.dir/rgw_main.cc.o:(.data.rel.ro._ZTV28RGWHandler_SWIFT_CrossDomain[_ZTV28RGWHandler_SWIFT_CrossDomain]+0x28): undefined reference to `RGWHandler_REST::init_permissions(RGWOp*)'
BUILDSTDERR: /usr/bin/ld: CMakeFiles/radosgw.dir/rgw_main.cc.o:(.data.rel.ro._ZTV28RGWHandler_SWIFT_CrossDomain[_ZTV28RGWHandler_SWIFT_CrossDomain]+0x50): undefined reference to `RGWHandler::error_handler(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)'
BUILDSTDERR: /usr/bin/ld: CMakeFiles/radosgw.dir/rgw_main.cc.o:(.data.rel.ro._ZTV28RGWHandler_SWIFT_CrossDomain[_ZTV28RGWHandler_SWIFT_CrossDomain]+0xa0): undefined reference to `RGWHandler_REST::get_op(RGWRados)'
BUILDSTDERR: /usr/bin/ld: CMakeFiles/radosgw.dir/rgw_main.cc.o:(.data.rel.ro._ZTV28RGWHandler_SWIFT_CrossDomain[_ZTV28RGWHandler_SWIFT_CrossDomain]+0xa8): undefined reference to `RGWHandler_REST::put_op(RGWOp*)'
BUILDSTDERR: /usr/bin/ld: CMakeFiles/radosgw.dir/rgw_main.cc.o:(.data.rel.ro._ZTV28RGWHandler_SWIFT_HealthCheck[_ZTV28RGWHandler_SWIFT_HealthCheck]+0x28): undefined reference to `RGWHandler_REST::init_permissions(RGWOp*)'
BUILDSTDERR: /usr/bin/ld: CMakeFiles/radosgw.dir/rgw_main.cc.o:(.data.rel.ro._ZTV28RGWHandler_SWIFT_HealthCheck[_ZTV28RGWHandler_SWIFT_HealthCheck]+0x50): undefined reference to `RGWHandler::error_handler(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)'
BUILDSTDERR: /usr/bin/ld: CMakeFiles/radosgw.dir/rgw_main.cc.o:(.data.rel.ro._ZTV28RGWHandler_SWIFT_HealthCheck[_ZTV28RGWHandler_SWIFT_HealthCheck]+0xa0): undefined reference to `RGWHandler_REST::get_op(RGWRados)'
BUILDSTDERR: /usr/bin/ld: CMakeFiles/radosgw.dir/rgw_main.cc.o:(.data.rel.ro._ZTV28RGWHandler_SWIFT_HealthCheck[_ZTV28RGWHandler_SWIFT_HealthCheck]+0xa8): undefined reference to `RGWHandler_REST::put_op(RGWOp*)'
BUILDSTDERR: /usr/bin/ld: CMakeFiles/radosgw.dir/rgw_main.cc.o:(.data.rel.ro._ZTV16RGWRESTMgr_Admin[_ZTV16RGWRESTMgr_Admin]+0x10): undefined reference to `RGWRESTMgr::get_resource_mgr(req_state*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)'
BUILDSTDERR: /usr/bin/ld: CMakeFiles/radosgw.dir/rgw_main.cc.o:(.data.rel.ro._ZTV16RGWRESTMgr_Usage[_ZTV16RGWRESTMgr_Usage]+0x10): undefined reference to `RGWRESTMgr::get_resource_mgr(req_state, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)'
BUILDSTDERR: /usr/bin/ld: CMakeFiles/radosgw.dir/rgw_main.cc.o:(.data.rel.ro._ZTV15RGWRESTMgr_User[_ZTV15RGWRESTMgr_User]+0x10): undefined reference to `RGWRESTMgr::get_resource_mgr(req_state, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)'
BUILDSTDERR: /usr/bin/ld: CMakeFiles/radosgw.dir/rgw_main.cc.o:(.data.rel.ro._ZTV17RGWRESTMgr_Bucket[_ZTV17RGWRESTMgr_Bucket]+0x10): undefined reference to `RGWRESTMgr::get_resource_mgr(req_state, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)'
BUILDSTDERR: /usr/bin/ld: CMakeFiles/radosgw.dir/rgw_main.cc.o:(.data.rel.ro._ZTV19RGWRESTMgr_Metadata[_ZTV19RGWRESTMgr_Metadata]+0x10): undefined reference to `RGWRESTMgr::get_resource_mgr(req_state, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)'
BUILDSTDERR: /usr/bin/ld: CMakeFiles/radosgw.dir/rgw_main.cc.o:(.data.rel.ro._ZTV14RGWRESTMgr_Log[_ZTV14RGWRESTMgr_Log]+0x10): more undefined references to `RGWRESTMgr::get_resource_mgr(req_state, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)' follow
BUILDSTDERR: /usr/bin/ld: CMakeFiles/radosgw.dir/rgw_main.cc.o:(.data.rel.ro._ZTVN3rgw4auth2s320ExternalAuthStrategyE[_ZTVN3rgw4auth2s320ExternalAuthStrategyE]+0x28): undefined reference to `rgw::auth::Strategy::authenticate(req_state const) const'
BUILDSTDERR: /usr/bin/ld: CMakeFiles/radosgw.dir/rgw_main.cc.o:(.data.rel.ro._ZTVN3rgw4auth2s315AWSAuthStrategyINS1_20AWSGeneralAbstractorELb1EEE[_ZTVN3rgw4auth2s315AWSAuthStrategyINS1_20AWSGeneralAbstractorELb1EEE]+0x28): undefined reference to `rgw::auth::Strategy::authenticate(req_state const*) const'
BUILDSTDERR: /usr/bin/ld: CMakeFiles/radosgw.dir/rgw_main.cc.o:(.data.rel.ro._ZTVN3rgw4auth2s315AWSAuthStrategyINS1_25AWSGeneralBoto2AbstractorELb1EEE[_ZTVN3rgw4auth2s315AWSAuthStrategyINS1_25AWSGeneralBoto2AbstractorELb1EEE]+0x28): undefined reference to `rgw::auth::Strategy::authenticate(req_state const*) const'
BUILDSTDERR: /usr/bin/ld: CMakeFiles/radosgw.dir/rgw_main.cc.o:(.data.rel.ro._ZTVN3rgw4auth16StrategyRegistry18s3_main_strategy_tE[_ZTVN3rgw4auth16StrategyRegistry18s3_main_strategy_tE]+0x28): undefined reference to `rgw::auth::Strategy::authenticate(req_state const*) const'
BUILDSTDERR: /usr/bin/ld: CMakeFiles/radosgw.dir/rgw_main.cc.o:(.data.rel.ro._ZTVN3rgw4auth2s315AWSAuthStrategyINS1_26AWSBrowserUploadAbstractorELb0EEE[_ZTVN3rgw4auth2s315AWSAuthStrategyINS1_26AWSBrowserUploadAbstractorELb0EEE]+0x28): undefined reference to `rgw::auth::Strategy::authenticate(req_state const*) const'
BUILDSTDERR: /usr/bin/ld: CMakeFiles/radosgw.dir/rgw_main.cc.o:(.data.rel.ro._ZTV18RGWLoadGenFrontend[_ZTV18RGWLoadGenFrontend]+0x30): undefined reference to `RGWProcessFrontend::stop()'
BUILDSTDERR: /usr/bin/ld: CMakeFiles/radosgw.dir/rgw_main.cc.o:(.data.rel._ZZN3rgw8keystone13CephCtxConfig12get_instanceEvE8instance[_ZZN3rgw8keystone13CephCtxConfig12get_instanceEvE8instance]+0x0): undefined reference to `vtable for rgw::keystone::CephCtxConfig'
BUILDSTDERR: /usr/bin/ld: ../../lib/libradosgw_a.a(rgw_loadgen_process.cc.o): in function `RGWLoadGenProcess::handle_request(RGWRequest*)':
BUILDSTDERR: /builddir/build/BUILD/ceph-12.2.11/src/rgw/rgw_loadgen_process.cc:130: undefined reference to `RGWLoadGenRequestEnv::set_date(utime_t&)'
BUILDSTDERR: /usr/bin/ld: /builddir/build/BUILD/ceph-12.2.11/src/rgw/rgw_loadgen_process.cc:131: undefined reference to `RGWLoadGenRequestEnv::sign(RGWAccessKey&)'
BUILDSTDERR: /usr/bin/ld: ../../lib/libradosgw_a.a(rgw_loadgen_process.cc.o): in function `RGWLoadGenProcess::handle_request(RGWRequest*)':
BUILDSTDERR: /builddir/build/BUILD/ceph-12.2.11/src/rgw/rgw_loadgen.h:48: undefined reference to `vtable for RGWLoadGenIO'
BUILDSTDERR: /usr/bin/ld: ../../lib/libradosgw_a.a(rgw_loadgen_process.cc.o): in function `RGWLoadGenProcess::handle_request(RGWRequest*)':
BUILDSTDERR: /builddir/build/BUILD/ceph-12.2.11/src/rgw/rgw_loadgen_process.cc:136: undefined reference to `process_request(RGWRados*, RGWREST*, RGWRequest*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, rgw::auth::StrategyRegistry const&, RGWRestfulIO*, OpsLogSocket*, int*)'
BUILDSTDERR: /usr/bin/ld: ../../lib/libradosgw_a.a(rgw_loadgen_process.cc.o): in function `RGWLoadGenProcess::gen_request(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int, std::atomic<bool>*)':
BUILDSTDERR: /builddir/build/BUILD/ceph-12.2.11/src/rgw/rgw_process.h:64: undefined reference to `perfcounter'
BUILDSTDERR: /usr/bin/ld: /builddir/build/BUILD/ceph-12.2.11/src/rgw/rgw_process.h:66: undefined reference to `RGWProcess::RGWWQ::_dump_queue()'
BUILDSTDERR: /usr/bin/ld: ../../lib/libradosgw_a.a(rgw_loadgen_process.cc.o): in function `RGWLoadGenProcess::run()':
BUILDSTDERR: /builddir/build/BUILD/ceph-12.2.11/src/rgw/rgw_loadgen_process.cc:35: undefined reference to `RGWFrontendConfig::get_val(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int, int*)'
BUILDSTDERR: /usr/bin/ld: /builddir/build/BUILD/ceph-12.2.11/src/rgw/rgw_loadgen_process.cc:38: undefined reference to `RGWFrontendConfig::get_val(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int, int*)'
BUILDSTDERR: /usr/bin/ld: ../../lib/libradosgw_a.a(rgw_loadgen_process.cc.o): in function `append_rand_alpha':
BUILDSTDERR: /builddir/build/BUILD/ceph-12.2.11/src/rgw/rgw_common.h:2174: undefined reference to `gen_rand_alphanumeric(CephContext*, char*, int)'
/usr/bin/ld: ../../lib/libradosgw_a.a(rgw_loadgen_process.cc.o): in function `make2: Leaving directory '/builddir/build/BUILD/ceph-12.2.11/build'
BUILDSTDERR: RGWLoadGenProcess::run()':
BUILDSTDERR: /builddir/build/BUILD/ceph-12.2.11/src/rgw/rgw_loadgen_process.cc:63: undefined reference to `gen_rand_alphanumeric(CephContext*, char*, int)'
BUILDSTDERR: /usr/bin/ld: ../../lib/libradosgw_a.a(rgw_civetweb_frontend.cc.o): in function `RGWCivetWebFrontend::process(mg_connection*)':
BUILDSTDERR: /builddir/build/BUILD/ceph-12.2.11/src/rgw/rgw_civetweb_frontend.cc:35: undefined reference to `process_request(RGWRados*, RGWREST*, RGWRequest*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, rgw::auth::StrategyRegistry const&, RGWRestfulIO*, OpsLogSocket*, int*)'
BUILDSTDERR: /usr/bin/ld: ../../lib/libradosgw_a.a(rgw_civetweb_log.cc.o): in function `rgw_civetweb_log_callback(mg_connection const*, char const*)':
BUILDSTDERR: /builddir/build/BUILD/ceph-12.2.11/src/rgw/rgw_civetweb_log.cc:12: undefined reference to `rgw::crypt_sanitize::operator<<(std::ostream&, rgw::crypt_sanitize::log_content const&)'
BUILDSTDERR: /usr/bin/ld: ../../lib/libradosgw_a.a(rgw_civetweb_log.cc.o): in function `rgw_civetweb_log_access_callback(mg_connection const*, char const*)':
BUILDSTDERR: /builddir/build/BUILD/ceph-12.2.11/src/rgw/rgw_civetweb_log.cc:17: undefined reference to `rgw::crypt_sanitize::operator<<(std::ostream&, rgw::crypt_sanitize::log_content const&)'
BUILDSTDERR: /usr/bin/ld: ../../lib/libradosgw_a.a(rgw_civetweb.cc.o): in function `RGWCivetWeb::init_env(CephContext*)':
BUILDSTDERR: /builddir/build/BUILD/ceph-12.2.11/src/rgw/rgw_civetweb.cc:83: undefined reference to `RGWEnv::init(CephContext*)'
BUILDSTDERR: /usr/bin/ld: /builddir/build/BUILD/ceph-12.2.11/src/rgw/rgw_civetweb.cc:128: undefined reference to `RGWEnv::set(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)'
BUILDSTDERR: /usr/bin/ld: /builddir/build/BUILD/ceph-12.2.11/src/rgw/rgw_civetweb.cc:103: undefined reference to `RGWEnv::set(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)'
BUILDSTDERR: /usr/bin/ld: /builddir/build/BUILD/ceph-12.2.11/src/rgw/rgw_civetweb.cc:107: undefined reference to `RGWEnv::set(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)'
BUILDSTDERR: /usr/bin/ld: /builddir/build/BUILD/ceph-12.2.11/src/rgw/rgw_civetweb.cc:131: undefined reference to `RGWEnv::set(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)'
BUILDSTDERR: /usr/bin/ld: /builddir/build/BUILD/ceph-12.2.11/src/rgw/rgw_civetweb.cc:132: undefined reference to `RGWEnv::set(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)'
BUILDSTDERR: /usr/bin/ld: ../../lib/libradosgw_a.a(rgw_civetweb.cc.o):/builddir/build/BUILD/ceph-12.2.11/src/rgw/rgw_civetweb.cc:133: more undefined references to `RGWEnv::set(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)' follow
BUILDSTDERR: collect2: error: ld returned 1 exit status
BUILDSTDERR: make2: * [src/rgw/CMakeFiles/radosgw.dir/build.make:119: bin/radosgw] Error 1
BUILDSTDERR: make1: [CMakeFiles/Makefile2:21920: src/rgw/CMakeFiles/radosgw.dir/all] Error 2
BUILDSTDERR: make1: ** Waiting for unfinished jobs....
Updated by Nathan Cutler about 5 years ago
- Is duplicate of Backport #38232: luminous: rgw: Recent commit to master broke the s390x build added
Updated by Nathan Cutler about 5 years ago
Duplicate of http://tracker.ceph.com/issues/38232
Fix is pending at https://github.com/ceph/ceph/pull/26332