Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Elfutils debug #601

Open
wants to merge 2 commits into
base: master
Choose a base branch
from
Open

Elfutils debug #601

wants to merge 2 commits into from

Conversation

lievenhey
Copy link
Contributor

This will finally close #560. I successfully tested it with a local running debuginfod instance. I didn't managed to get it running by using the ci bundle, because the run_debuginfod_in_docker.sh didn't like my debuginfo.zip file.

@lievenhey lievenhey force-pushed the elfutils-debug branch 2 times, most recently from b5c6d13 to 89f0d7b Compare January 29, 2024 13:23
This allows the user to run the appimage on non fuse2 systems (all
moderns systems use fuse3). This is achieved by using the static
appimage runtime. Since linuxdeploy doesn't support changing the runtime
I only use it to create the appdir directory. Then I use the original
appimagetool to package the appimage using the static runtime.

This should also make it possible to run the appimage on a non glibc
system but I don't have access to one so I can't test it.

fixes: #485
@lievenhey lievenhey linked an issue Feb 6, 2024 that may be closed by this pull request
@lievenhey
Copy link
Contributor Author

lievenhey commented Feb 6, 2024

Adding the debug info blows up the image size to 8GB. Since I haven't pushed the image, the build fails.

@GitMensch
Copy link
Contributor

Adding the debug info blows up the image size to 8GB. Since I haven't pushed the image, the build fails.

That would be a quite stable download, no?
How big is the current one?

That Is this the complete debuginfo for QT and elfutils, isn't it? I guess that, as QT is not compiled explicit, the debuginfo could be downloaded "somewhere", but as the elfutils is build on the container we'd need to also provide its debuginfo?

@lievenhey
Copy link
Contributor Author

On the image in the ci, which will make the ci super slow since it needs to download the hole image every time it runs.

@GitMensch
Copy link
Contributor

Isn't the distributed QT not enough? If it is then QT can be installed from the system package manager and the link to the matching download of debug infos can just be shared.

If the system-provided QT (and/or rest) isn't usable it should be possible to:

  • configure and build QT (and everything else) with full debug info (that's just the creation of the image)
  • before the creation is completed: either split the debuginfo "clean" and upload that (=once during container creation) or go easy and upload the 8GB result somewhere, then `strip`` the binaries and delete the sources completely -> the final container is small (=starts fast)

@milianw
Copy link
Member

milianw commented Mar 6, 2024

can we instead output a separate debuginfo.zip for the base image and host that somewhere on github? then people interested in that could download it. but we wouldn't have to pay the price on every CI run

@GitMensch
Copy link
Contributor

Note: it should be possible to have a CI workflow building this, which is only manually triggered.
This would allow to do that whenever the QT/elfutils version is changed, and after the build the debuginfo.zip can then be attached/updated to the release page (making it usable without logging in).

@lievenhey
Copy link
Contributor Author

I think I can create a workflow which is only run manually to create the image and upload it to github. This way the workflow could contain the debuginfo as an artifact.

@GitMensch
Copy link
Contributor

GitMensch commented May 3, 2024 via email

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

Successfully merging this pull request may close these issues.

perfparser: add elfutlis version info to --version (and its debug symbols in the debuginfo appimage package)
3 participants