Glulx on FreeBSD?

Does anyone have a working Glulx terp on FreeBSD? How’d you do it?

1 Like

Gargoyle used to be able to be built in FreeBSD:

But I don’t know if those instructions are still up to date. Gargoyle unfortunately is not in a great place at the moment.

You could also almost certainly compile cheapglk or glkterm.

And there’s always Quixe.

seems so

$ git clone https://github.com/erkyrath/glulxe.git
$ git clone https://github.com/erkyrath/glkterm.git
$ cd glkterm
#  edit Makefile, uncomment the CC=cc line
#  and comment the CC=gcc one
$ gmake
$ cd ..
$ cd glulxe
#  edit Makefile, uncomment the three
#  glkterm lines
$ gmake
$  ./glulxe ….blorb
1 Like

Those FreeBSD-specific Gargoyle instructions are actually out of date. There is now a FreeBSD section in the Jamrules file, and Gargoyle builds (and even installs) just fine. Now I can run the individual terps directly, but the gargoyle binary can’t find them; it pops up the message “Unable to locate executable path”. If I knew where it’s looking for them I could create some symlinks, or maybe the better solution is to patch the source and recompile. I don’t know what I’m doing; any ideas?

There are a couple of problems. The first is that, by default, Gargoyle will install based on the variables $_BINDIR, $_APPDIR, and $_LIBDIR, which are empty. The second is that Gargoyle doesn’t have code to handle finding the executable on FreeBSD now that FreeBSD no longer mounts procfs by default.

The first can be fixed by installing in a manner like:

_BINDIR=/usr/local/libexec/gargoyle _APPDIR=/usr/local/libexec/gargoyle _LIBDIR=/usr/local/lib jam install

Gargoyle assumes interpreters are in the same directory as the gargoyle launcher, so that’s why _BINDIR and _APPDIR are the same. You can make a symlink of the launcher into /usr/local/bin to put gargoyle in the path.

But as I mentioned, Gargoyle doesn’t understand modern FreeBSD. I just pushed a fix for that, so if you grab the lastest master from Git, it should work on FreeBSD.

The install process is, without question, not very clean. I’ve been intermittently working on replacing Jam with CMake, which, if I ever get it done, will make installation a lot simpler on all platforms.

1 Like