Porting Teyjus to OpenBSD

In the off chance that the intersection of the set of OpenBSD users with the set of λProlog users is not a singleton, you might find these notes on installing Teyjus on OpenBSD useful. When I find the time I'll create a port for it—here it is.

Other BSDs

It is quite possible that the same instructions would help someone port Teyjus to other *BSD systems like FreeBSD, NetBSD, and DragonFly BSD. But I have only tested it on OpenBSD, and only on the amd64 platform.


To summarize, the problems with Teyjus are:

The solutions ugly hacks I describe here are respectively:

All of these problems are simple to fix (most of them are linuxisms, with standard alternatives available). Hopefully the developers of Teyjus will address the problems and their system's portability will increase. Until then...

How to install the latest release: 2.0-b2

Try my lang/teyjus port, which fixes all applicable problems mentioned above (1-4).

How to install the current (devel) version

As this is the current branch, some tweaks might be needed, some things might break, some things might need changing. I will try to keep this list updated, but that's not a promise. My patches were committed (thanks Fabian!) in the repository of Teyjus, so everything should work fine.

  1. First the dependencies. Install devel/bison, lang/ocaml, devel/omake, and textproc/gdiff (needed for the tests):
    # pkg_add -i bison ocaml omake gdiff
  2. Checkout the latest version:
    # svn checkout http://teyjus.googlecode.com/svn/trunk/ teyjus
    # cd teyjus
  3. Compile:
    # omake all
  4. (Optional: you can skip this step if you do not want to run the tests.)
    If you are feeling lucky, actually run the tests (2GB were enough for my OpenBSD/amd64):
    # ulimit -Sd 2097152
    # omake test

That's it!

Running Teyjus

Following the instructions above, the binaries should be installed on the working directory. Copy them somewhere on your PATH, or create some appropriate symlinks.

Keep in mind that Teyjus is rather resource-hungry, so even simply running tjsim will require quite some memory. (This is the reason for the ulimit command above.)

Enjoy λProlog!

Back to my website...

Last update: Wed Aug 21 23:11:25 CEST 2013