https://github.com/ceph/ceph/commit/069dd7af3923cded76cbbd96f4b1020397ea6f11 introduced an include of spawn but did not make it conditional on HAVE_BOOST_CONTEXT, as the code which calls it is so conditionalized. This breaks the build on s390x where Boost::Context is not supported.
After discussions with IBM partner engineers, we found that the Boost 1.72 version bundled in Ceph does not have full s390x support. In other words, we can build ceph on s390x now, but we disable the beast frontend for RGW on s390x. Civetweb is the only available frontend on s390x for Nautilus or Octopus at the moment. This is problematic for OpenShift Container Storage, because the only RGW frontend OCS supports is the beast frontend. https://github.com/boostorg/context/pull/133/files is the only change we need from Boost 1.73, so Andreas.Krebbel.com cherry-picked that to Boost 1.72 here: https://github.com/Andreas-Krebbel/context/tree/boost-1.72.0-branch-s390 . The next step is to add this Boost patch to the downstream Ceph packaging.
Upstream we've upgraded to Boost 1.73 in master. Discussing the backport to Octopus and Nautilus in https://tracker.ceph.com/issues/46208 .
*** Bug 1853627 has been marked as a duplicate of this bug. ***
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory (Red Hat Ceph Storage 4.1 Bug Fix update), and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://access.redhat.com/errata/RHBA-2020:4144
For the record, I accidentally removed this change in RH Ceph Storage 4.2, and we're fixing that regression here: bug 1917592