bohonghuang / cl-gtk4

GTK4/Libadwaita/WebKit2 bindings for Common Lisp.
GNU Lesser General Public License v3.0
215 stars 9 forks source link

Error Building via Github Actions #43

Open jonathanabennett opened 1 year ago

jonathanabennett commented 1 year ago

I'm trying to build a shippable binary for my program that other people can download and install without really knowing Lisp works. When I do so, I get the following error: Link to error in Github Action.

The action that is running here seems like it should work, but I don't know anything about Github actions, so it is entirely possible that I'm doing this completely wrong. If this isn't the right way to approach this, please let me know. What I want to happen is to have a Linux, a MacOS, and a Windows tarball attached to each release of my game that people can download, unzip, and then just click the file named "megastrike" and it runs.

jonathanabennett commented 1 year ago

Or if there is another, better way to build binaries for each platform. I don't particularly care how I get them, I just want something similar to what you see in the assets section of this project. I realize they're doing this on Java, not Common Lisp. But I really... REALLY don't wanna rewrite this in Java, lol.

bohonghuang commented 1 year ago

You should check out the version of GTK4 installed in the CI. The error message said:

Symbol "MAKE-COLOR-DIALOG-BUTTON" not found in the GTK4 package.

where ColorDialogButton was introduced in GTK 4.10.

jonathanabennett commented 1 year ago

Aha, it appears that Ubuntu 22.04 only has GTK4.6. I don't know enough about Ubuntu to figure out how to use a newer library, every time I tried it didn't work. I'll do some searching and see what I can figure out.

Meanwhile on my MacOS build script, do you have any guesses why it might be failing? I also need to figure out Windows, but I don't actually know if this works on Windows yet because I don't have a computer to test it on.

bohonghuang commented 1 year ago

Aha, it appears that Ubuntu 22.04 only has GTK4.6. I don't know enough about Ubuntu to figure out how to use a newer library, every time I tried it didn't work. I'll do some searching and see what I can figure out.

My suggestion would be to avoid using the APIs in higher versions of GTK4. Even if you successfully compile the latest version of GTK4 on your CI, it would be difficult to ensure that users have the required version of GTK4.

Meanwhile on my MacOS build script, do you have any guesses why it might be failing? I also need to figure out Windows, but I don't actually know if this works on Windows yet because I don't have a computer to test it on.

It seems that gobject-introspection or its runtime is not installed.