GNOME Inform 7 6M62 on Fedora 29 (& other recent distros?)

I’ve been resurrecting an old Inform 6 project (using the latest Inform 6 sources from GitHub and testing with the latest sfrotz sources from GitLab.com) and I thought I’d also install GNOME Inform 7, because for some reason I hadn’t done that on this Fedora 29 system yet, but to my dismay I found I can’t easily install or compile it because the dependencies are deprecated – particularly webkitgtk, which is no longer available from the Fedora repos because of security concerns. (Developers are now supposed to use webkit2gtk3, I think, but gnome-inform7 is on gtk2.) And when I managed to grab an old webkitgtk RPM, I couldn’t install it because it depended on an outdated version of libicu, and installing that version of libicu would require downgrading or uninstalling a bunch of other software I have. So at this point, I think my best bet for running GNOME Inform 7 6M62 is to use a VirtualBox VM – especially because the Inform 7 compiler hasn’t worked on the latest Linux kernels in over a year.

But this looks like it might end up being a decent case for containerization. When I encountered broken dependencies installing Spotify or Signal Desktop on Fedora, for example, I ended up installing them as Flatpak apps from Flathub and have used them happily without an impact on the rest of my apps ever since. Flatpak also works the same way across any distro on which it’s available, so targeting Flatpak would benefit users of other popular distros as well. I’ve suggested packaging gnome-inform7 for Flatpak on the Inform7 UserVoice forum.

Anyhow, if anyone’s got an easier short-term solution for running Inform 7 on recent Linux distros (without using a VM) let me know.

Someone I know encountered a similar problem recently, on Ubuntu. The installer was complaining about the “libgoocanvas3” that could not be installed. I know almost nothing about Linux, but I tried to install GNOME Inform on my Linux Mint virtual machine and I had the same issue.

To solve it, I had to manually download the missing dependency at
packages.ubuntu.com/xenial/all/ … n/download
and
packages.ubuntu.com/xenial/libgoocanvas3

As I said, I don’t know much about Linux, but I suppose more precision can help.

1 Like

I think both of these dependencies issues point to a larger problem: while Inform 7 is fairly stable software at this point, and three or four years between releases is probably a reasonable schedule to keep, the Linux UI depends on shared libraries (whereas the norm on Windows is to bundle an application with its library dependencies included as DLLs), and major Linux distributions have changed a lot since 2015, and this is reflected in the availability of certain libraries in the official repositores of major distributions. In particular, active development has moved away from GTK2 in favor of GTK3, but other minor changes occur frequently as the maintainers of these repositores make decisions about what they can continue to support in new releases, and many of these folks move to a new release every six months. The idea behind my Flatpak suggestion is to avoid this whole problem by not depending on shared libraries provided by the distribution’s package repositories in the first place, so GNOME Inform 7 can be packaged once for many distributions (and future versions of them) every time a new version of Inform 7 is ready.

Building the current version of gnome-inform7 for Flatpak is turning out to be difficult because the only versions of the GNOME runtimes I could find didn’t come with a GTK2-compatible version of WebKit.

However, it turns out installing it in a Docker container with a Fedora 22 base image is pretty easy – if you already know how to use Docker. But I don’t expect that to address the problem with the compiler, because containers run on the host kernel just like any other process.

Actually, turns out the RPM currently available from the Inform 7 downloads page was updated to contain a compiler that works with recent kernels.

Albeit is true that I work on and off on IF, currently Gnome-I7 runs fine on this customised Debian box, and the lone serious issue I haved was traced to ni (the actual compiler) segfaulting in disagreement with a library, problem later solved.

OTOH, another issue (invisible menus and/or icons) was traced to the window decoration, solved with changing the windowing style (I currently use MATE)

Best regards from Italy,
dott. Piergiorgio.

I have been working on getting Inform 7 installed under the current version of Ubuntu this week, and I tried the flatpak available online.

It did seem to work and launch correctly, but I ran into some permissions problems with it:

  • The program was unable to save any work. You can start a new project and click save, and it won’t give you any errors that I could see, but nothing actually gets saved anywhere.
  • You can’t navigate into your home directory or anywhere else from within the Inform IDE.
  • It is not possible to make any changes inside the Edit->Preferences dialog.

I am a pretty technical guy but I’m only a beginner with Linux, so take the following with a grain of salt, but here’s what I found:
You can have flatpak grant the app permissions to your home directory by doing the following:
sudo flatpak override --filesystem=home

That enables you to save stuff in your home directory, but it doesn’t resolve the inability to make changes to the Preferences in the IDE.

I was able to manually install the dependencies required and use the regular installer successfully, but I think the flatpak approach makes a lot of sense and it’d be good to have full functionality through that method; I just couldn’t figure out how to get there.

I created deb and rpm builds for ubuntu 16.04, 18.04 and fedora 29, 30 if you would like to try the package out I would appreciate your help testing it out and also a quick report back on your experience installing it. More details and links to test deb/rpm here: Gnome-inform7 6L38 IDE now running on ubuntu 18.04 and fedora 29 (rpm & deb link in thread)