On Thu, Jul 20, 2023 at 1:44 PM John Mulligan <phlogistonjohn@asynchrono.us> wrote:
On Thursday, July 20, 2023 5:04:36 AM EDT Ilya Dryomov wrote:
On Thu, Jul 20, 2023 at 5:08 AM Adam Emerson <aemerson@redhat.com> wrote:
On 19/07/2023, Ilya Dryomov wrote:
Hi Adam,
"make check" fails to build on pacific and quincy:
common/CMakeFiles/common-common-objs.dir/ConfUtils.cc.o:(.bss+0x0): first defined here /usr/bin/ld: CMakeFiles/common-objs.dir/mon/MonCap.cc.o:(.bss+0x2): multiple definition of `boost::phoenix::placeholders::uarg2'; common/CMakeFiles/common-common-objs.dir/ConfUtils.cc.o:(.bss+0x2): first defined here /usr/bin/ld: CMakeFiles/common-objs.dir/mon/MonCap.cc.o:(.bss+0x4): multiple definition of `boost::phoenix::placeholders::uarg3'; common/CMakeFiles/common-common-objs.dir/ConfUtils.cc.o:(.bss+0x4): first defined here ...
Example on pacific: https://jenkins.ceph.com/job/ceph-pull-requests/118551/
Example on quincy: https://jenkins.ceph.com/job/ceph-pull-requests/118552/
Could you please take a look?
Yes.
There are three things going on here:
1. It looks like things aren't completely cleaned up between make check
runs, and stuff installed for one hangs around for others. This surprises me.
2. It looks like quincy's install-deps.sh wasn't updated when we
switched to jammy, and it was just using whatever version of Boost was lying around from previous builds. When this was 1.79, that didn't cause problems. For 1.82, it does.
3. Proximately, the workaround for the Boost.Phoenix bug isn't in
quincy.
I have a candidate fix in https://github.com/ceph/ceph/pull/52559
Long-term, I think we should also address issue 1, the state of the bulder being overly dependendent on what was built previously.
This is what Ernesto and John have been cooperating on. Some preliminary work landed in https://github.com/ceph/ceph/pull/48697, the goal is to fully containerize everything that's running in Jenkins.
John, any news on picking up https://github.com/ceph/ceph/pull/46071?
Hi there, thanks for following up on this. This thread is timely because I was just talking to Adam King about how I haven't spent much time on that lately. I still occasionally update my WIP branch: https://github.com/phlogistonjohn/ ceph/tree/jjm-containerized-build - mainly when I need to use it from time to time.
Unfortunately my experience with PR#48697 was a bit discouraging because it was very hard to get reviews on that and find someone willing to merge it (see: https://lists.ceph.io/hyperkitty/list/dev@ceph.io/thread/ HMD6SXLYFRPEGW4GVKY46IMXO4GB373D/#RIDNTMSFY2ZB6HAOABXSX4QQ6H3ENTE4 ). It seems to me that a lot of these build scripts fall between the cracks in the Ceph team structure. The remaining changes in the branch are a mix of assorted
Yes, unfortunately this has been the case with David's and Kefu's departures. For help with advancing jjm-containerized-build work, I would reach out to Adam, Dan and Laura (CCed, please shout if I'm wrong and you shouldn't be on this list!).
fixes and cleanups to make things compile or run in the container env and more build scripts to make it "easy" to kick off a containerized build.
I should stop being lazy and at least file PRs for some of the small fixes. However, I wonder if there is a good forum for discussion around topics like the builds scripts. I looked at the Ceph community calendar to see if there was a meeting that fit the topic. I saw a biweekly "infrastructure" meeting that I thought I might listen in on to see if it would be appropriate to discuss the build scripts and related topics. Since I'm replying in the thread now I will also raise it here: is there a good forum to have more detailed discussions wrt design and implementation of containerized builds, the builders, the scripts, etc?
I think the "Ceph Infrastructure" meeting on Thursdays is the place. Even though this is more of a build/ops item, that meeting should be attended by the right people. Thanks, Ilya