-
-
Notifications
You must be signed in to change notification settings - Fork 375
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
Error running Linux AppImage containing Webkit #1029
Comments
All signs point to this being a bug in linuxdeploy-gtk-plugin; This (rejected) PR contains a number of changes that might be worth exploring linuxdeploy/linuxdeploy-plugin-gtk#37 |
I've got an initial attempt at a patched linuxdeploy-plugin-gtk on this branch So far, I've resolved the problems linking against libwebkit2; however, the app is now showing a runtime crash with the webkit content subprocess. |
More details on the crash - it appears to be because webkit2 uses a subprocess to manage network and rendering activities. This executable is included in the AppImage as This results in a SIGABRT. There is also a At the very least, there appears to be an internal reference to the network process binary that needs to be updated. I'm hitting the limits of my expertise at this point, so if anyone wants to tinker with the starting point I've provided, they're more than welcome to do so. |
Looks like this issue might have some leads on additional fixes that are needed... |
Ok; that issue doesn't appear to do everything. It seems to suggest that a change something akin to:
will fix the problem - but in my testing, that changes the error to an "unable to execute child process ././lib/x86_64-...". This makes sense to me, as the path is relative, and will be highly sensitive to the binary that invokes it. |
I'm going to close this WONTFIX. It's an inherent problem with linuxdeploy, unrelated to how Briefcase is using it (See this bug report). If Linuxdeploy ever addresses this issue, and it turns out it requires a different invocation of linuxdeploy, then I'm happy to revisit this; but for now, there's literally nothing we can do to Briefcase that will fix this problem. We've also introduced Linux System packages as the new packaging default for Linux, and those don't have this problem. |
It's been a couple of years now and I don't remember the specifics, but I recall having gone down a similar path and having resorted to using |
permalink for posterity: https://github.com/layday/instawow/blob/0acca4a4f37e60fccc4cdc35c29eaf9565cac432/gui-webview/linuxdeploy-plugin-zzzinstawowwebkit2gtk.sh#L92-L105 |
Describe the bug
If you package a GTK app that references Webkit, the app will build, but will fail at runtime.
Steps to reproduce
Expected behavior
App should run without error, displaying the "graze" webkit browser on GTK.
Screenshots
No response
Environment
Logs
Briefcase build:
briefcase.2023_01_03-09_19_06.build.log
Briefcase run:
briefcase.2023_01_03-09_22_29.run.log
Additional context
The app runs fine under Ubuntu 18.04.
The problem appears to be that the webkit libraries aren't being included in the AppImage. The Docker container installs libwebkit-3.0; but at runtime, GTK attempts to load libwebkit2-4.0. There's no reference to any Webkit library in the AppImage build logs.
The use of libwebkit-3.0 appears to be a hangover from the days when Briefcase used an Ubuntu 16.04 base; Ubuntu 18.04 provides both libwebkit-3.0 and libwebkit2-4.0. However, modifying the
system_requires
to uselibwebkit2-4.0
(and the corresponding gir package) doesn't fix the problem; it changes the error to a problem withlibjavascriptcoregtk-4.0
.The text was updated successfully, but these errors were encountered: