Gnome-inform7 6L38/6M62 IDE now running on modern Ubuntu & Fedora OS

Hi everyone, an interesting post that may be useful to others:

2 Likes

Hi there @EarleyGrave, I’ve been away for a while but I’m back home now, and have access to my Linux box again. I’m using Linux Mint 19.2 Tina, with the mate desktop. I found the latest flatpak rather crashy, but did have the file bar and the public library tab etc. working. (Though you have to enable net access via the command line.) So what I did was to install the latest, set my preferences and download all the extensions I wanted, and then revert to the previous flatpak which I’ve found more stable – not purging all the settings, obviously. The problem with the vanishing Menu bar (on the Mate desktop) seems to only happen when I’ve had I7 running for a long time, so I exit it when I go off to make a cuppa or something.

I’m no Linux guru, just an ordinary user, but if you’ve got any questions I’ll be happy to help.

1 Like

I can’t really use new Inform systems because I prefer to stay on the 6G60 system (I’m using French language), so I’ve kept the old binaries and I’m using a makefile to compile. There is a copy of my makefile there: https://sourceforge.net/p/la-vallee-mysterieuse/code/ci/default/tree/makefile

2 Likes

I am inspired by your makefile! I will be giving it a try myself :grin:

1 Like

I’m running Linux Mint 19.2 “Tina”, with the Mate desktop.

Just wanted to add that I’ve discovered a workaround for the missing toolbar. When the toolbar disappears (as it’s prone to do after I7 has been open a while), open a terminal, and type:

pid mate-panel

This will return a number (the process ID). Let’s pretend it was 1234:

kill 1234

This will shut down the faulty panel, and mate will notice, and then re-create it. It seems to remain working for much longer, too.

2 Likes

Hi Everyone, I have had to take a little detour from keeping gnome-inform7 legacy code alive because the workarounds are just not worth putting in place for Ubuntu 20.04 or Fedora 31 and forward. At this point the official gnome-inform7 gtk3 branch is really the best way forward. In the short term, I still needed a working environment for newer Linux distros and created a fully integrated console environment for developing Inform7 works (edit, compile, run, debug all from one place). If you dont mind working inside of a terminal the project might be of interest to you. Open source, installer, full documentation etc are all in the thread linked below.

3 Likes

Just FYI for anyone trying to get gnome-inform7 working on modern releases: I was able to get interactivefiction’s version above working on a fresh install of Linux Mint 20 Ulyana today by first manually adding the following packages:

libicu60 *
libgtksourceview2.0
libgtksourceview2.0-common
libgtkspell0
libjavascriptcoregtk-1.0
libwebkitgtk-1.0

The packages were obtained from https://packages.ubuntu.com and all versions were taken from the bionic release, using amd64 versions. The last five of the packages are directly required by gnome-inform7-6M62-ubuntu-1604-1804.x86_64.deb. The first one (libicu60, marked with an asterisk) is required by one of the other packages (libjavascriptcoregtk-1.0, I think), so it should be installed first. After that, the first five, and after those, the actual application.

Installation is easy enough using gdebi-gtk (GUI) or gdebi (command line) for each .deb file. Since Linux Mint 20 is based on Ubuntu 20.04, a long-term support release (and therefore the same process should work for both), this should be possible until at least 2025, assuming you can still get the bionic packages after 2023.

Thanks to @interactivefiction for your work on updating the package for the previous LTS release! It’s very much appreciated, especially the bug fix for the grayed-out folders problem. I haven’t tried out vimform7 yet, but it looks promising.

[FYI - Even though you’re not working on this any more, there is one other minor bug that you might look into: When creating a new project for an extension, the application creates a folder for the extension called Name.i7x and a file containing the actual extension called Name.inform, both on the same directory level. In other words ,the suffixes for file and folder are reversed, and the file is not placed inside the folder.

I did report this as a bug in Mantis, but that’s down now, it seems. I would think given what you’ve already done that this would take a pretty short time to fix, perhaps just swapping the relevant suffix strings to fix the names and adjusting a path to fix the file’s saved location. Is the source code for your version posted somewhere? If so, I would be happy to look for the specific lines myself, to assist.]

2 Likes

Hey @otistdog, the workarounds I put in place for recent builds are pretty brittle. It is cool that you found a way to get it working on Mint. For IDE my focus has been on @ptomato’s gtk3 branch. I can say that the gtk3 branch does build if you hack things to get it working. So far I have not had time to spin up a machine to test the build itself to any degree though, but I do hope to get to it soon. There is a github thread along these lines where I posted the essential tips / tricks I had to put in place to get the code working from a fresh clone of the repo. I am happy to comment here for anyone who wants to give a try at building gnome-inform7 with gtk3 from source. Here are the relevant links to the github thread (click the grey github url not the blue pull request link):

1 Like

Thanks for the pointer, @interactivefiction. It seems like you mostly were working on build-related issues, not the code itself? Nonetheless, thanks again for your work in fixing the grayed-out folders issue and in extending the life of the existing Linux build while the modernization effort is underway.

To clarify for anyone looking to get Inform 7 6M62 working on Ubuntu 20.04 or Linux Mint 20, the version that I used was the gnome-inform7-6M62-ubuntu-1604-1804.x86_64.deb version announced (and linked) in the first post on this thread, not any later work. Also, I should have said “next five” instead of “first five” in my instructions; all six of the dependencies have to be installed manually prior to installing the 6M62 package, and the libicu60 package has to be installed as the very first.

@ptomato – I did manage to hunt down what I think is the cause of the problems with extension projects that I mentioned at the end of my last post above. I will send you a PM with the information to avoid cluttering this thread. (I can PM you, too, @interactivefiction, if interested, but it doesn’t look like a completely trivial fix, as some functions will need to be adjusted.)

3 Likes

Yes most of my work is on just trying to get gnome-inform7 to build and be packaged for modern linux OS in the absence of the appropriate libs being avaiable. Although, the grey dialog box issue was such a pain that I had to find a solution to it. One issue you will probably hit is the random hang when compiling. Everyone seems to hit it. Apparently the gtk3 branch I mentioned has a fix for it.

It is great that you found a way to get the old 16.04/18.04 version to work with existing debs that are available.

A question for you, were you able to get those debs using apt-get or did you have to manually download and manually install them? I ask because if they are now available via apt-get, I could theoretically add them to the dependency list for the gnome-inform7 deb and repackage everything so the installer works with no additional effort.

I downloaded and installed them manually, as mentioned. There were versions of the various required libraries in the 20.04 focal repository, but they were all later versions than those expected by the gnome-inform7-6M62-ubuntu-1604-1804.x86_64.deb package that you had put together.

I suppose that, if the newer versions of the libraries are backwards-compatible, it might be possible to adjust the dependencies of your package somehow to allow for the newer versions found in the focal repository, but you would know that better than I would.

Regarding the random hang problem: Yes, I’ve seen it infrequently but consistently. Since the source code gets saved before compiling, nothing gets lost, so I’ve thought of it as a minor inconvenience. It would, of course, be better if it were fixed, so I’m looking forward to the updated release.

2 Likes

For what it’s worth, I had no trouble installing the same package (gnome-inform7-6M62-ubuntu-1604-1804.x86_64.deb) on Linux Mint 20 last month. But I keep several previous-version repositories active in /etc/apt/sources.list.d, which is widely thought to be a Bad Idea, so that’s definitely a non-standard configuration. Under that configuration, though, gdebi-gtk downloaded and installed all of the necessary dependencies without hiccup or complaint.

1 Like

FYI: @ptomato has fixed another significant bug (this one affecting creation of extension projects) and has “backported it to the old version,” according to a PM here.

Presumably, that means that an updated package for 16.04/18.04 could in theory be produced from updated repository code, or that it would be possible to compile the older version’s code directly with the hints that @interactivefiction has provided above. (Both are beyond my skill level, unfortunately.) If anyone does create an updated package, please post details about it here, or at least a link to a new announcement post. I’m sure I’m not the only one who would appreciate it!

1 Like

Yep, I saw the check in from @ptomato :grinning:

Just trying to get some spare time to bring my build & test environment back online so I can try the code out. Right now all the systems I used to make previous builds are repurposed for other tasks.

1 Like

I’m wondering if I can help at all? I’m a long time Linux user (predominantly Ubuntu / Debian) and while no C coder, I’ve run my fair share of make / make install commands! I’ve never built packages though. But I have an Ubuntu 18.04 laptop here, and another one running 20.04, both with more than enough space to run other versions within VirtualBox, if required.

1 Like

Basically, whats needed is a build and install test. If I can get a build going that is as straightforward as: ./autogen.sh; ./configure; ./make; sudo ./make install; then some testing would be very helpful. I dont know if the build is that simple yet though.

My last attempt at building from the gtk3 branch was that it needed a few hacks to build but would eventually build. Unfortunately, I could not move to test it very easily. Packaging the resulting rpm / debs was broke so deploying the build to my normal test environment was not as simple as just cutting/pasting the deb/rpm. Since then some changes have been introduced to fix these things in the git repo.

If I get an easy build I will post the instructions here and help testing would be very much appreciated! (Fair warning, testing experimental builds can cause issues on your system so using a virtual machine is ideal if you can!)

3 Likes

I would also be interested in testing on an RPi 4 but it is Arm based.

Quick update: I spent the day working with the gtk3 branch from @ptomato’s github. The code base is not a straight forward build. In order to get a working build I had to make a number of hacks to the code. Packaging to rpm also was not working and needed a few hacks to bring it to life as well. The good news is that I did get a build working and I did get an RPM packaged.

The resulting RPM was tested on Fedora 29 and Fedora 31 and the really good news is that it does run. The RPM build, for those interested in trying it, is located in my build repository linked below. The build you want is the “GTK3 EXPERIMENTAL Fedora 29, 30, 31” build. The actual name of the rpm is gtk3-gnome-inform7-6M62-1.fc29-f30-f31.x86_64.rpm

Rather than trying to document and share all of the various hacks I made to the code base to get it running so others can also attempt to build from source, my plan is to open up a repo with the entire working source tree plus all dependencies and hacks for people to download directly. I will try to upload the sources tomorrow in a new github repo.

Some things to be aware of: #1) This is an experimental build and it will have some minor issues, #2) Creating a new project, editing code, and compiling code is all I have tested so far, #3) The migration to GTK3 has resulted in some interface differences from the prior version. The issues are mostly cosmetic.

Stay tuned and let me know if you happen to try the experimental GTK3 RPM :wink:

3 Likes

Hi Everyone, I have pulled together a repo with all gtk3 gnome inform7 source dependencies, binary dependencies, and build hacks into a single repository. You can either clone the repo if you are familiar with git or you can simply download the zip file of the source tree from github and if my calculations are correct it should build from that as well. Here is the link to the new repository:

In order to build the code you need to:

  1. Either clone the repo or download the source zip file from the github link above (if you are trying to download the zip, look for the green “Code” button to the right of the github repository interface).
  2. Open a terminal into the root of the source directory.
  3. Run the command ./autogen.sh
  4. Run the command ./configure
  5. Run the command make

If you get this far let me know on this thread. If you have problems let me know on this thread. Most people will run into issues with ./autogen.sh and ./configure commands. If you do, just reply on this thread and we can work through the issues here as they come up.

6 Likes

Ubuntu 18.04 Build Test - Working - The code provided in the gtk3-alldeps-gnome-inform7 repository will build on Ubuntu 18.04 as is.

Ubuntu 16.04 Build Test - Not Working - There is a build issue on older debian OS variants. The issue seems to be that some gtk declarations in the code are deprecated.