Project

General

Profile

Bug #39995

rgw: make check is failing because of linker error on Ubuntu

Added by Tatjana Dehler 3 months ago. Updated 3 months ago.

Status:
Resolved
Priority:
Urgent
Assignee:
Target version:
-
Start date:
05/22/2019
Due date:
% Done:

0%

Source:
Development
Tags:
Backport:
Regression:
No
Severity:
3 - minor
Reviewed:
Affected Versions:
ceph-qa-suite:
Pull request ID:

Description

It happens only on Ubuntu, CentOS is fine:

/usr/bin/ld: warning: libboost_context.so.1.67.0, needed by //opt/ceph/lib/x86_64-linux-gnu/libboost_coroutine.so.1.67.0, not found (try using -rpath or -rpath-link)
//opt/ceph/lib/x86_64-linux-gnu/libboost_coroutine.so.1.67.0: undefined reference to `jump_fcontext'
//opt/ceph/lib/x86_64-linux-gnu/libboost_coroutine.so.1.67.0: undefined reference to `make_fcontext'
collect2: error: ld returned 1 exit status

Link Error: RGW library not found
  LINK test/unit/lib/iscsi/init_grp.c/init_grp_ut
src/pybind/rgw/CMakeFiles/cython_rgw.dir/build.make:57: recipe for target 'src/pybind/rgw/CMakeFiles/cython_rgw' failed
make[3]: *** [src/pybind/rgw/CMakeFiles/cython_rgw] Error 1
CMakeFiles/Makefile2:5456: recipe for target 'src/pybind/rgw/CMakeFiles/cython_rgw.dir/all' failed
make[2]: *** [src/pybind/rgw/CMakeFiles/cython_rgw.dir/all] Error 2

History

#2 Updated by Nathan Cutler 3 months ago

  • Related to Bug #39981: do_cmake.sh: "source" not found added

#3 Updated by Nathan Cutler 3 months ago

Maybe this is the root cause? #39981

#4 Updated by Nathan Cutler 3 months ago

All of the console logs are from a single PR: https://github.com/ceph/ceph/pull/19371

And "make check" just passed in that PR following merge of https://github.com/ceph/ceph/pull/28181 which is. . . a positive sign.

#6 Updated by Nathan Cutler 3 months ago

Still happening: https://github.com/ceph/ceph/pull/28211

So I'm removing the related-to link to #39981.

#7 Updated by Nathan Cutler 3 months ago

  • Related to deleted (Bug #39981: do_cmake.sh: "source" not found)

#9 Updated by Sebastian Wagner 3 months ago

  • Assignee set to Casey Bodley

(Ceasy, assigned to you, just to make you aware of this.)

#12 Updated by Casey Bodley 3 months ago

I set up a fresh bionic vm and was able to build master successfully. The ubuntu flavors of master and nautilus are still succeeding in https://shaman.ceph.com/builds/ceph/. It looks like the difference here is the use of WITH_SYSTEM_BOOST and the ceph-libboost-* packages.

From the logs of failures, I do see that cmake is able to find the boost context component:

-- Boost version: 1.67.0
-- Found the following Boost libraries:
--   atomic
--   chrono
--   thread
--   system
--   regex
--   random
--   program_options
--   date_time
--   iostreams
--   python27
--   context
--   coroutine
--   filesystem
--   timer

But the failure implies that libboost_context.so isn't present under /opt/ceph/:

/usr/bin/ld: warning: libboost_context.so.1.67.0, needed by //opt/ceph/lib/x86_64-linux-gnu/libboost_coroutine.so.1.67.0, not found (try using -rpath or -rpath-link)

#13 Updated by Casey Bodley 3 months ago

The logs of failures seem to be using xenial:

++ VERSION='16.04.4 LTS (Xenial Xerus)'

So I created a xenial vm and again built successfully with:
cmake -DWITH_SYSTEM_BOOST=ON -DBOOST_ROOT=/opt/ceph ..

#14 Updated by Luis Henriques 3 months ago

Maybe just a shot in the dark, but can't the problem be in the libboost-* libs being installed? The "undefined reference" error occurs in libboost_coroutine.so.1.67.0, which is installed from some https://chacra.ceph.com/repos/... URL. Are these libs sane, or could they be already broken?

#15 Updated by Kefu Chai 3 months ago

td;dr ceph-libboost1.67-dev_1.67.0-7_amd64.deb was not sane.

long story,

  1. before https://github.com/tchaikov/ceph-boost/commit/ec205d3f54258c0d7f9d22ae279b1a20523e7629 was merged, we could consistently reproduce this issue.
  2. I tried to fix it by rebuilding the ceph-libboost* packages and uploading them to chacra. but i failed to reinstall them to all xenial builders.
  3. and re-running install-deps.sh cannot help because:
  4. i reinstalled the new package of ceph-libboost1.67-dev_1.67.0-7_amd64.deb on all ubuntu builders by reissuing "retest this please" command to jenkins, and ensuring all ubuntu builders are running the build job of https://github.com/ceph/ceph/pull/28245.

#16 Updated by Nathan Cutler 3 months ago

  • Assignee changed from Casey Bodley to Kefu Chai

Thanks for fixing the issue, Kefu! Can this be marked Resolved now?

#17 Updated by Casey Bodley 3 months ago

  • Assignee changed from Kefu Chai to Casey Bodley

Thanks Kefu, you are my hero.

#18 Updated by Casey Bodley 3 months ago

  • Status changed from Verified to Resolved

Also available in: Atom PDF