Inform7 with modern debian/ubuntu

Hi everyone!

I’ve just discovered Inform7 and it looks like a fascinating development language/environment. I’ve been interested in languages/development techniques/virtual machines for a long time but haven’t thought about IF in decades. But now I have kids and was thinking of introducing them to Zork, and then I thought “I wonder if people are still developing this kind of thing?” And … yay :smiley:

So then I became curious and started looking into the tools for developing them and found the Inform7 language to be fascinating and am eager to experiment! I would prefer to do so without having to use a Windows VM. That would be the last resort. I run Linux Mint (which is basically Ubuntu 18.04) but the available packages for Debian/Ubuntu are for really outdated editions and will not install. So I have tried two things so far …

Attempt #1: I downloaded the source code and tried to build it. There were a number of dependency problems, but with some effort I was able to work through all but one. Running ./configure --enable-deb complains that no package for ‘goocanvas’ could be found. I installed a bunch of related packages but they aren’t recognized. I was able to solve the other dependencies this way but I have no idea what to do about this one. (I am a developer, but I don’t know squat about Linux Gnome programming.) If anyone has any ideas, or has this already compiled, that would be awesome.

Attempt #2: I installed and ran under Wine. This actually installed perfectly and seems to run fine until I click “Go”, and even that works, parsing, compiling and all, until it is time to actually launch the game - then I get a crash. My guess is that it is trying to interact with a web browser or HTML library. This simple approach came soooooo close … If no one here has any ideas about this, I may ask on the Wine forum.

Any thoughts are appreciated!

Cheers,
Greg

3 Likes

Yeah, there are dependencies problems on Linux, that were discussed in this thread. My post there gives links to install the missing libgoocanvas dependencies manually.

It allowed me to install Inform on my Linux Mint virtual machine, so it should work in your case. Bear in mind that I don’t really know much about Linux either, though.

This topic here: https://intfiction.org/t/inform-7-on-ubuntu-18-04/13820/1

Says you can use the instructions (for getting parts of Shutter to work) to install libgoocanvas etc: ubuntuhandbook.org/index.php/201 … ntu-18-04/

Excellent. Thanks!

At first, I thought this didn’t work. When trying to build, I was able to solve all dependencies except goocanvas. Since these posts addressed goocanvas, I thought you were addressing my build problem. But, even after installing these additional packages, I still could not build. But I wasn’t reading the post clearly enough. (Clearly I haven’t played interactive fiction recently.) You said I’d be able to install, not build after installing those packages. And, sure enough, now the old Ubuntu package installs and works!

I don’t understand how I am able to install and run something that I don’t even have the capability to build… I’m guessing this is a problem with the build script? Would be good to update the Linux packages if not too difficult. I would do it if I knew more about Linux development. That said, I’d be happy to help with building/testing/releasing if someone wanted to give me some guidance. I have lots of Linux VMs and some time …

Anyway, thanks all. I’m up and running!

1 Like

I’ve had similar issues getting Inform 7 to work on Ubuntu 18.04, and have installed the dependencies manually according to the linked forum posts (many thanks for those).

I’ve installed both the Ubuntu 15.10 and Debian Wheezy versions and they both load fine, however when I attempt to load a project, the file browser shows everything greyed out (read only?) and I cannot open any file or browse to any subfolder. I’ve run Inform 7 as root (isn’t everything always a permissions issue on Linux!), and get the same experience.

If anyone can throw any light on this issue, I would be very relieved to get I7 working. I have a VM running Ubuntu 16.04 (which was surprisingly hard to find a Vagrant box for) but it’s not an ideal situation.

That is odd. I certainly don’t have that problem. I used the Ubuntu version, not the Debian version, and I certainly have not run as root. It could be because you have something else conflicting, or it could be because I installed other dependencies when I was trying to build from source. Unfortunately I installed a bunch of stuff in that attempt and I do not remember what all they were. I would be great if someone knew how to get past the goocanvas build problem. Then I would be able to build a proper deb for Ubuntu 18.04 which I would then share.

Try to think if you have something else going on … for example, you’re not running it under Firejail or having some antivirus interfering are you?

Nothing else I can think of should be interfering. No use of Firejail, and no AV installed. This installation of 18.04 is only a few months old too, so I’d venture to call it ‘fairly standard’.

I’ve been attempting to build it from source (from here: github.com/ptomato/gnome-inform7) and have managed to meet all the dependencies except ‘goocanvas’, a version of which is installed, but I guess not the correct one.

I’m usually fairly confident around a Linux machine, but never less so when this sort of situation arises. I’ll persevere and see what I can achieve.

I hope you are able to solve the goocanvas dependency - that’s also where I hit the wall. If you figure it out, please us know how :slight_smile:

My other approach - using Wine - also got really far. Although it’s working for me, I may still ask on a Wine forum to try to solve that also. Although I have the Linux version working, it isn’t quite perfect. Occasionally the documentation viewer locks up, and occasionally the entire program crashes (although both are quite rare.) So running the Windows version in Wine might be a better answer, although it is also possible that version has the same problems.

Cheers,
Greg

1 Like

Just popped back to say that my issue with the folders being greyed out and inaccessible is this issue, reported two years ago with no movement: http://inform7.com/mantis/view.php?id=1985 To get around it, you can search for the project’s name in the ‘open project’ window, but that’s not ideal. Symlinking a folder in ~/ called projects.inform to my projects folder solved that issue.

I’ve also gone as far as to create a Debian 8 (Jessie) VM and install Inform into that (which works perfectly, as opposed to Debian 7 (Wheezy), which had dependency issues also, despite apparently being built against that version of Debian). This is a bit of a last resort, but it does work exactly as expected.

So, everything is generally working, but still no fix for the libgoocanvas issue for building from source.

Thank you for posting that. Suddenly I started having the grayed out problem myself. Too bad the Linux version is not well supported but at least it mostly works.

1 Like

Hi Mage of Maple, I have been working through the problems in your post and have implemented some workarounds in the gnome-inform7 source code. I created deb and rpm builds for both ubuntu 18.04 and fedora 29 if you would like to try the package out. More details here: Gnome-inform7 6L38 IDE now running on ubuntu 18.04 and fedora 29

1 Like

Hi vaughnay, I have come up with a fix for the issue of building gnome-inform7 from source that addresses the dependency issue caused by libgoocanvas. Basically, I am modifying the Makefile.am to include libgoocanvas sources and link to it as a static library. There is an effort to update the gnome-inform7 project with some work arounds for modern OS on this thread (several test deb and rpm packages are linked): Gnome-inform7 6L38/6M62 IDE now running on modern Ubuntu & Fedora OS

1 Like

Hi there. I’ve just downloaded gnome-inform7-6M62-ubuntu-1604-1804.x86_64.deb for Ubuntu 18.04 and it works like a charm! Installed in seconds; loaded the first random project I clicked on; compiled without errors.

Thank you for the work you’ve done. :slight_smile:

1 Like

Thanks Vaughnay! So glad others also find it useful to have gnome-inform7 working again :->

2 Likes

Yeah, I should pretty much give props, too. Inform 7 working like a champ now. DANKE!

2 Likes

Regarding the difficulty in accessing files in your home directory and so forth, it’s a flatpak feature, not a problem with Inform7. By default, flatpak applications are run inside a sandbox.
If you have an existing project elsewhere, e.g. under $HOME/mygames/inform/happy, then you would start up the GUI via:

flatpak --filesystem=$HOME/mygames/inform/happy run com.inform7.IDE

1 Like

UPDATE as of December 2021: The published binaries from @interactivefiction won’t install for me on a more modern Debian any more (I’m running Sparky Linux, which self-describes as “bullseye/sid” and is a rolling distribution of mainline Debian testing).

Specifically, it is missing:

  • libgtksourceview2.0-0
  • libjavascriptcoregtk-1.0-0
  • libwebkitgtk-1.0-0

which don’t have installation candidates any more (although later major versions of those GTK libraries are still available).

At least one of those .so files is also supplied via symlink by a later version of the package (so it’s just a .deb building exercise), the others will probably require upgrades to the dependencies in the build itself and figuring out if it still works with them (for example libgtksourceview will have to move from 2.0 to 3.0 at minimum, though they are up to 5.0 in the outside world).

I’m not a Linux developer by trade and haven’t built a .deb in approximately 20 years, but I’ve got some time and will have a bit of a look.

2 Likes

Having a .deb would be great and I hope you do it. But I’ll mention these alternatives:

install the current development gtk3 version of I7 via flatpak or build the current development gtk3 version of I7 from source (has known issues; see the thread)

And then these possibilities for working with Inform 7 without an IDE…

Integrations with editors (I don’t have personal experience with these):

Using the Cheesy Perl Interface from the Linux CLI package or using ni, inform6, and cBlorb manually on the CLI.

inf7: a CLI project manager for Inform 7 is my own project.

5 Likes

Thanks for all of this! That is awesome and I am definitely interested in emacs integration ind the inf7 thing. I’ll start with the flatpak just to see it working (EDIT: done, no flames emerging), and then…

build the current development gtk3 version of I7 from source

I’ll need to do this anyway to get the .deb built. One thing that jumps out is that libgtksourceview-2.0 is required to compile and has been obsoleted out by Debian in the meantime. Reading the other thread it seems like some effort is going on to get non-obsolete dependencies compiling (eventually?); I’m probably not up for duplicating that effort so I might try @interactivefiction’s approach of importing gtksourceview-2.0 into the source tree and building it locally.

That said: as the compilation accumulates more and more obsolete libraries into its build, it kinda converges with the flatpak I guess. This is probably a method with a limited lifespan.

1 Like

Not sure where you’re reading it in that thread – and it’s got 140+ posts, so I certainly haven’t read the whole thing – but the latest gtk3 branch has been updated to libgtksourceview-3.0-dev, which I think is current. When I tried getting things set up a few months ago, I had success building with the instructions here: https://github.com/ptomato/gnome-inform7/blob/gtk3/INSTALL.md

2 Likes