Pengwin: Investigate libQt errors

Created on 27 Aug 2019  路  12Comments  路  Source: WhitewaterFoundry/Pengwin

Reported via Twitter.

error while loading shared libraries: http://libQt5Core.so.5: cannot open shared object file: No such file or directory

When trying to launch an application.

Workaround:

sudo strip --remove-section=.note.ABI-tag /usr/lib/x86_64-linux-gnu/libQt5Core.so.5

See: https://twitter.com/gellenburg/status/1166109075446345728?s=20

Is there something we can do in the GUI section to address this?

Triage

Most helpful comment

This should solve the problem:

https://github.com/WhitewaterFoundry/pengwin-setup/commit/37c66c2cd5dadc668af0de9b62346f06cbf31e01

If after an update this happens again only run pengwin-setup -> GUILIB again

All 12 comments

If you're talking about WSL1 there is an old issue from WSL repo https://github.com/microsoft/WSL/issues/3023.

I think that workaround will need to run every time libQt5Core updated.

I think that workaround will need to run every time libQt5Core updated.

Sounds like we need a bash script that kicks off after it's updated then to strip it. That or file a bug with libQT5 folks to check if the kernel reports "Microsoft" and if it does, remove the tag. That would probably be the optimal solution for WSL1.

We do have the 'GUI' catch-all function in pengwin-setup that does other things to improve GUI support. For example we install some base GTK components. We could at Qt components and do the strip there. Thoughts?

The tag will need to be removed every time an update occurs. I'm not sure that pengwin-setup is the answer there, especially as it's not likely to install a kde app prior to running pengwin-setup. But maybe you could re-use/refactor that function for use in pengwin-base to trigger every time apt upgrade is performed.

Essentially we want to this issue to be invisible to the user. A few output lines showing it was removed and an error message if it fails should be all the user sees.

Understood but why is this really happening? Does it happen on Debian testing builds on bare metal too?

This happens on all distros as far as I can tell. Ubuntu has it, Fedora has it, it's due to the issue linked above. I'll point this comment specifically: https://github.com/microsoft/WSL/issues/3023#issuecomment-488329451

My proposal to fix this:

Add sudo strip --remove-section=.note.ABI-tag /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 to a file /bin/libqtfix in pengwin-base and then add:

DPkg::Post-Invoke {"/bin/bash /bin/libqtfix"; };

to /etc/apt/apt.conf.d/70debconf.

Feedback?

If it works, I'm fine with it.

I just realized I should mention this fix should only apply if we're on WSL1. WSL2 should not be affected but should probably be tested for assurance.

I just realized I should mention this fix should only apply if we're on WSL1. WSL2 should not be affected but should probably be tested for assurance.

Confirmed. It won't happen in WSL2

This should solve the problem:

https://github.com/WhitewaterFoundry/pengwin-setup/commit/37c66c2cd5dadc668af0de9b62346f06cbf31e01

If after an update this happens again only run pengwin-setup -> GUILIB again

Was this page helpful?
0 / 5 - 0 ratings

Related issues

AceHack picture AceHack  路  4Comments

rdmueller picture rdmueller  路  3Comments

thalamus picture thalamus  路  3Comments

laurin1 picture laurin1  路  4Comments

pnelsonsr picture pnelsonsr  路  5Comments