Skip to content

Update elfutils version and use ubuntu apt packages in dockerfile#315

Open
mbmtbtbc wants to merge 1 commit into
bloomberg:mainfrom
mbmtbtbc:update-elfutils-and-dockerfile
Open

Update elfutils version and use ubuntu apt packages in dockerfile#315
mbmtbtbc wants to merge 1 commit into
bloomberg:mainfrom
mbmtbtbc:update-elfutils-and-dockerfile

Conversation

@mbmtbtbc
Copy link
Copy Markdown

@mbmtbtbc mbmtbtbc commented May 29, 2026

Issue number of the reported bug or feature request: fixes #314

Describe your changes
Replace the custom elfutils build stage in the Dockerfile with Ubuntu's packaged libdw-dev and libelf-dev dependencies.

Removed the elfutils_builder stage from the Dockerfile
Removed the download and compilation of elfutils 0.193
Added libdw-dev and libelf-dev to the Ubuntu package list
Removed the copy step that imported the custom-built libraries
Updated documentation referencing the source build of elfutils

Testing performed
Successfully built the Docker image
Verified pkg-config detects both libdw and libelf
Successfully built and installed pystack inside the container using the distro-provided libraries

Additional context
Ubuntu 26.04 currently provides elfutils/libdw version 0.194 rather than 0.195

@mbmtbtbc
Copy link
Copy Markdown
Author

I worked on the Dockerfile changes and replaced the custom elfutils build with Ubuntu's libdw-dev and libelf-dev packages.

One thing I noticed while validating the change is that Ubuntu 26.04 currently provides elfutils/libdw version 0.194 rather than 0.195:

pkg-config --modversion libdw
0.194

pkg-config --modversion libelf
0.194

The Docker image builds successfully and pystack also builds and installs successfully against the distro-provided libraries.

Is 0.194 acceptable for the Docker image, or would you prefer a different approach to obtain 0.195?

@mbmtbtbc mbmtbtbc changed the title Update elfutils version and use ubuntu apt packages in dockerfile Update elfutils version and use ubuntu apt packages in dockerfile (closes #314) May 29, 2026
@mbmtbtbc mbmtbtbc changed the title Update elfutils version and use ubuntu apt packages in dockerfile (closes #314) Update elfutils version and use ubuntu apt packages in dockerfile May 29, 2026
@codecov-commenter
Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 79.16%. Comparing base (7b6defc) to head (c806a76).
⚠️ Report is 1 commits behind head on main.

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #315   +/-   ##
=======================================
  Coverage   79.16%   79.16%           
=======================================
  Files          51       51           
  Lines        5567     5567           
  Branches      584      584           
=======================================
  Hits         4407     4407           
  Misses       1160     1160           
Flag Coverage Δ
cpp 79.16% <ø> (ø)
python 79.16% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@godlygeek
Copy link
Copy Markdown
Contributor

Is 0.194 acceptable for the Docker image, or would you prefer a different approach to obtain 0.195?

It's fine for us to use 0.194 in the Docker image. Since the Docker image is used only for testing, the only reason we'd need to use a newer version there is if we want to use a feature that's only available in a later version, or if we're affected by a bug in 0.194 that's fixed in a later version. If either of those ever happens, we can reintroduce the build from source at that point.

This PR will need to be rebased, though - there's a minor merge conflict between it and #313. Also, it's missing the Signed-off-by line in the commit message body - see CONTRIBUTING.md

More worryingly, it looks like the build of elfutils 0.195 is failing in the manylinux container that cibuildwheel is using...

@mbmtbtbc
Copy link
Copy Markdown
Author

Understood! Here's what I'll do:

  1. Rebase onto main to resolve the Dockerfile conflict
  2. Amend the commit to add the Signed-off-by line
  3. Dig into the manylinux build log to figure out why 0.195 is failing there

Will push an update once I've sorted it out.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Update to the latest elfutils

3 participants