Need Help Compiling an old Software

Hello Manjaro Users worldwide,

I need your help compiling an old Adventure Game - basically the first Adventure Game ever.

Its Colossal Cave Adventure/Adventure/ADVENT from 1977. I tried to compile it but it didn’t work. I try this for self-education purposes. So here is what i tried:

I followed this Guide ( Its in German language):

1 Step : I cloned the git-Repository by the following terminal command: git clone Eric S. Raymond / open-adventure · GitLab

2 Step: I changed my current directory (pwd) to the directory i just cloned (cd xy). In the Terminal.

3 Step: And now i am lost. The instructions says, that before you can compile the Source Code, you need the following two packages installed on your system: python3-yaml and libedit-dev.

How can I install these on Manjaro? I tried it without these two packages but i didn’t worked.

Python 3 is up to date i think. That is another Question: How i update python 3 to an actual version?

Thanks for any advice.

1 Like

Hi @Pascal,

The game is available in the AUR:

$ pamac search open adventure
wanderers-git  r97.054c1cd-2                                                                                                                                                                                                 AUR
An open world adventure and dungeon crawling game
solarus-git  1.5.3.r2217.gcbb29669e-1                                                                                                                                                                                        AUR
An open-source adventure 2D game engine (git version)
open-adventure  1.16-3                                                                                                                                                                                                       AUR
Port of the 'Colossal Cave Adventure' text-based adventure game
gog-pine  1.13-1                                                                                                                                                                                                             AUR
Pine is an open world action adventure simulation game.

And it can be installed with:

pamac build open-adventure

Just tested it on my machine, and it works:

$ advent

Welcome to Adventure!!  Would you like instructions?

>
1 Like

Thanks for your answer. I know that, but i originally wanted to compile it myself. I have never used an AUR before i think. In the readme from the developer of the project i have found these:

So i think the only problem i how to install the package libedit-dev. Maybe it has another name on manjaro?

Maybe, maybe not. In the first step on that page it says:

Install libedit from Editline Library (libedit) - Port of NetBSD Command Line Editor Library (aka: editline) on your system.

The key might be (aka: editline), which is in the extra repository:

$ pamac search editline
[...]
editline  1.17.1-4                                                                                                                                                                                                         extra
A readline() replacement for UNIX without termcap (ncurses)

So it can be easily installed with:

pamac install editline

I don’t know if it will solve the issue, but it might. I’m no expert.

Edit:

I am unsure, but I think:

pamac install python-yaml

What do you mean an actual version? a Custom one? a Newer one? Look at:

  1. the AUR; and/or
  2. a virtual environment manager, such as uv (that I use.)

Giving the actual errors you get would be more helpful than just saying it did not work.

I can see some install instructions in the INSTALL.adoc file which is part of the repo you cloned: INSTALL.adoc · master · Eric S. Raymond / open-adventure · GitLab

I tried running make in the cloned directory and it just worked. I have libedit installed and you may find that package is enough.

Python 3 is up to date i think. That is another Question: How i update python 3 to an actual version?

What do you get when you run python --version and what version do you think you need?

Thank you Phemisters and Mirdarthos for your answers.

I just found out that when i just type ./adventure the game starts - without editline.

I didn`t tried that because i was sure i get errors before, when typing make and make check.

Typing make gives me the following output: make. advent is already actual.

When i type make check it throws this output:

/bin/sh: Zeile 1: pylint: Kommando nicht gefunden
make: [Makefile:73: pylint] Fehler 127 (ignoriert)
/bin/sh: Zeile 1: cppcheck: Kommando nicht gefunden
make: [Makefile:70: cppcheck] Fehler 127 (ignoriert)
make: batchspell: Datei oder Verzeichnis nicht gefunden
make: *** [Makefile:79: spellcheck] Fehler 127


Its in german. Kommando nicht gefunden = Command not found.

Fehler=Error

So it is throwing out Errors i think. But it works anyway?

Yes, it looks like the make check runs tests which require extra packages, but these packages are not required by the game.

You can run some of the tests by installing a couple of packages

sudo pacman -Syu python-pylint cppcheck

Not sure about batchspell at the moment. :thinking:

Edited: looking at the Makefile, batchspell is only being used to spell check a couple of docs, so it is not important for the running of the application.

1 Like

ok thanks

If you look inside the PKGBUILD provided at AUR (en) - open-adventure I am sure will succeed in the end :slight_smile:

The dependencies listed at the referenced gitlab is debian or ubuntu package names.

You will need to convert those to the arch linux equivalents.

Hallo Pascal. :germany:

As people said, an easy answer is to look up: PKGBUILD - aur.git - AUR Package Repositories

To build the binary

sudo pacman -S libedit

make advent

To build the manpage

sudo pacman -S asciidoctor
make advent.6

man ./advent

I did a lot of refactoring and porting over the past decades.
I just suspended the refactoring of AUR (en) - vectoroids.

While I find it challenging and interesting to mess around with old code like this, it can be very time-consuming, and there are actually very few occasions where this knowledge is truly rewarding. I used to be a reverse engineer, so I guess it’s just a habit - a form of cognitive maintenance that keeps certain neural networks active.

So, can you elaborate on your motivations for doing this?

I mean, such projects - even with tests - but with a lot of custom style and workflows can be very daunting. And in the end, it’s ‘only’ a text adventure, and its analysis can be broken down into a few things.

Are you trying to look into other areas, like
GNU Make, C, CMake, C++, Rust?

I added a picture of my refactoring of Vectoroids, which used to be a single monolithic C file with over 3k lines of code.

I mean, I learned about asciidoctor here, which is a totally different tech-universe; meanwhile I do all of my docs in Markdown.

BTW: Eric S. Raymond is on X/Twitter

:waving_hand:

1 Like