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

Ubuntu 24.04, dotnet (sdk 8.0.110) & (runtime 8.0.10) Photino.NET template app won't run #223

Open
raddevus opened this issue Nov 8, 2024 · 12 comments
Labels

Comments

@raddevus
Copy link

raddevus commented Nov 8, 2024

I'm running :
Ubuntu 24.04.1 LTS
dotnet core that is current on that system is:
sdk 8.0.110
runtime 8.0.10

When you use the template to create a project it uses Photino.NET 2.3.0
When you run the template project you will get an errors that state:

`/usr/lib/dotnet/shared/Microsoft.NETCore.App/8.0.10/libPhotino.Native: cannot open shared object file: No such file or directory

/home/raddev/dev/dotnet/photino/2025/third/bin/Debug/net8.0/libPhotino.Native: cannot open shared object file: No such file or directory`

App Won't Run

The dotnet CLR has tried to find libPhotino.Native and doesn't find it so the app won't run.

I've tried updating Photino.NET to 3.1.17 and 3.2.3 with no luck. I get the same error.

The Workaround Fix

However, I was able to update to Photino.NET 2.6.0 and successfully run the app.

So, the point here is that on Ubuntu 24.04.1 running those versions of .NET I can only use the Photino.NET 2.6.0 library.

@raddevus
Copy link
Author

Just tested this on my Debian 12.5 VirtualBox.
THere I am running dotnet SDK 8.0.404
dotnet runtime is 8.0.11.
In this case, I can run Photino.NET 3.2.3
I guess I have to wait until dotnet 8.0.11 comes to Ubuntu. Not sure.

@flyingpie
Copy link

@raddevus Could you check whether you have libwebkit2gtk-4.0 installed?

@raddevus
Copy link
Author

@flyingpie
It looks like I actually have libwebkit2gtk-4.1

Here you can see that detail in the Photino app I'm working on right now -- which lists all running processes & lets me get their details.

image

thanks

@flyingpie
Copy link

flyingpie commented Nov 21, 2024

@raddevus Looks nice!

This is an annoying issue, these things are going on:

  • Ubuntu 24.04 dropped libwebkit2gtk-4.0, in favor of libwebkit2gtk-4.1
  • 4.1 is NOT backwards compatible with 4.0
  • Photino still uses version 4.0, moving to 4.1 seems to be under consideration, but it caused some issues on the first attempt

The Tauri guys had the same problem, but Tuari 2 has moved to 4.1, which I suspect would also happen with Photino at some point.
tauri-apps/tauri#9662

23.04

root@a62eae6f5691:/# apt search libwebkit2gtk
libwebkit2gtk-4.0-37/lunar-updates,lunar-security 2.42.4-0ubuntu0.23.04.1 amd64
  Web content engine library for GTK

libwebkit2gtk-4.1-0/lunar-updates,lunar-security 2.42.4-0ubuntu0.23.04.1 amd64
  Web content engine library for GTK

24.04

root@74ce37066d4e:/# apt search libwebkit2gtk
libwebkit2gtk-4.1-0/noble-updates,noble-security 2.46.3-0ubuntu0.24.04.1 amd64
  Web content engine library for GTK

@raddevus
Copy link
Author

Great info about this issue. I really appreciate it. It really is an annoying problem.
I'm hoping that Photino will update to 4.1 soon so it'll be resolved.
Thanks again for the info.

@flyingpie
Copy link

@raddevus You're welcome!

I've had this issue on one of my machines that's also running 24.04.

I used this workaround, but it's not great. It adds the package repository for the previous release (Jammy). This is not recommended, but it can help until 4.1 is supported by Photino, and you don't want to run VM's.

Add these to /etc/apt/sources.list.d/ubuntu.sources:

Types: deb
URIs: http://nl.archive.ubuntu.com/ubuntu/
Suites: jammy noble-updates noble-backports
Components: main restricted universe multiverse
Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg

Types: deb
URIs: http://security.ubuntu.com/ubuntu/
Suites: jammy-security
Components: main restricted universe multiverse
Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg

(Can also use other mirrors ofc).

Then:

apt update
apt install libwebkit2gtk-4.0-37

I'd recommend removing the Jammy repos after this. And not doing this on important production machines, like servers or whatever.

Mixing repositories of multiple releases can cause lots of issues around dependencies, so again, don't do this on really important machines.

@MikeYeager
Copy link
Collaborator

We are aware of the issue, however it is a dilemma (as well described in the tauri link above). We have to build Photino for EITHER 4.0 or 4.1. We can't make it work for both. Until recently, 4.0 was much more prevalent, however, this is no longer the case. If we switch to 4.1, it will break everyone running 4.0. At some point, we will make the switch and create a breaking change. Until then, the work-around is to install 4.0 manually as described in that link OR to create your own package (deb, snap, etc.) for distribution and include the library (see publishing guide in samples). CentOs, Debian 11 and below and Ubuntu 20.04 and below do not have the webkitgtk 4.0. We will likely go to a new major version number when we do switch to 4.1. If the community has any suggestions, we'd like to hear from you.

@flyingpie
Copy link

Mike, thank you for the explanation!

Would it be an option to ship Photino with native versions for both 4.0 and 4.1, and have it pick the right one on runtime?

@MikeYeager
Copy link
Collaborator

@flyingpie We're not aware of a way to do that unfortunately.

@LauraWebdev
Copy link
Contributor

@MikeYeager I do believe this is a showstopper for me right now, I've been using Photino for more than a year now, with almost all of my Desktop projects using it.

However, with this and #205 still in a state of uncertainty, I basically have to clone my Photino 2.6 apps (as examples are also broken) and the path to 3.X is not available at all.

@flyingpie
Copy link

@LauraWebdev So we're on the same page, the problem you're referring to is the dependency on webkit 4.0, as opposed to 4.1, correct? E.g. Fedora and Nobara ship 4.1 only.

@LauraWebdev
Copy link
Contributor

@flyingpie Yeah, Fedora 40 started shipping with 4.1 in April this year

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

No branches or pull requests

4 participants