I'm trying to get Star Control II: The Ur-Quan Masters (uqm) running on my Arch Pi. I've downloaded the source and the primary content pack.

First, I untarred the source in /root/, producing the directory /root/uqm-0.7.0. Then, as per the directions in /root/uqm-0.7.0/doc/users/unixinstall, I copied uqm-0.7.0-content.uqm to /root/uqm-0.7.0/content/packages (having to create the packages subdirectory, as it didn't exist).

I've also installed a few dependencies, although I may not be able to remember all of them at this point. But certainly I've done pacman -S gcc, libmikmod, make, automake, and autoconf, while building/installing the low memory branch of Tremor myself for audio (I've also got libogg and libvorbis installed, but the uqm installer refuses to notice them).

When I run the build script's configuration, I get:

/root/uqm-0.7.0/build.sh uqm config
'echo -n' capable echo found.
Sed stream editor found.
tr found.
Make found.
GNU C compiler found.
We have a C preprocessor.
We have a C dependency generator.
We have a C compiler.
We have a linker.
Little-endian machine detected.
Simple DirectMedia Layer version 1.2.15 found.
SDL_image found.
Symbol 'readdir_r' found.
Symbol 'setenv' found.
Symbol 'strupr' not found.
Symbol 'strcasecmp' found.
Symbol 'stricmp' not found.
Symbol 'iswgraph' found.
Type 'wchar_t' found.
Type 'wint_t' found.
Symbol 'getopt_long' found.
Header 'regex.h' found.
Type '_Bool' found.
Preprocessor macro 'WIN32' not found.
Preprocessor macro '__MINGW32__' not found.
OpenGL found.
libmikmod found.
tremor found.
Platform-specific network libraries found.

  -= Main menu =-
   1. Type of build                        Optimised release build
   2. OpenGL graphics support              Include OpenGL graphics support
   3. Sound backend                        Use MixSDL for sound (internal)
   4. Tracker music support                System libmikmod
   5. Ogg Vorbis codec                     Tremor (avoids floating point math)
   6. Network Supermelee support           IPv4 and IPv6
   7. Joystick support                     enabled
   8. Supported file i/o methods           Only direct file i/o
   9. Graphics/Sound optimizations         Platform acceleration (asm, etc.)
  10. Thread library                       SDL-controlled thread library
  11. Installation paths                   [...]

Note that I've changed the default 1. Debug Build to Optimized Release Build. When I /root/uqm-0.7.0/build.sh uqm install, all goes well. But then when I try to run it (/root/uqm-0.7.0/uqm), I get:

  *** FATAL ERROR: Could not load basic content ***

UQM requires at least the base content pack to run properly.
This file is typically called uqm-0.7.0-content.uqm.  UQM was expecting
it in the /root/uqm-0.7.0/content/packages directory.
Either your installation did not install the content pack at all, or it
installed it in a different directory.

Fix your installation and rerun UQM.

When I very clearly have:

ls -l /root/uqm-0.7.0/content/packages/
total 11272
-rwxr-xr-x 1 root root 11538533 Sep 12 01:47 uqm-0.7.0-content.uqm

(I've heard this problem could also occur if zlib weren't installed, but I have whereis zlib return zlib: /usr/include/zlib.h /usr/share/man/man3/zlib.3.gz.)

So my question, after all that, is how do I get uqm running on my Arch-based Raspberry Pi? It doesn't have to be by building from source, I just couldn't find any packages for it in the ARM repository. I know it's possible since it's available for i686 Arch and I've seen people getting it working under Raspbian, so there must be something I'm missing. Because as I'm only recently finding out, Star Control II was a masterpiece. Thanks.


Took me a while, but I figured out a solution. In addition to everything installed on my system as part of the question, I also installed the minimum requirements for building PKGBUILDs by doing

pacman -S --needed base-devel

Then, I went to the ArchARM Repository, which has the PKGBUILD files even if its links to the resultant package are no longer valid. From there, I clicked on Source Files, which took me to a page with info about the following files:

Mode        Name            Size    
-rw-r--r--  PKGBUILD        1730    logstatsplain
-rw-r--r--  config.state    465     logstatsplain
-rw-r--r--  uqm             77      logstatsplain
-rw-r--r--  uqm.desktop     229     logstatsplain
-rw-r--r--  uqm.png         3630    logstatsplain

Clicking on each file name will go to a preview page, with a small link at the top (just after an MD5 hash) that says "plain". Right clicking on that and going to Save Target As... will allow you to save each of the five above files exactly as they should be. (Make sure your browser doesn't automatically add .txt extensions to some of the files; the resultant names must match exactly.)

After that, I uploaded those five files to some directory on my Pi. Then I initiated the command to make a package out of them:

makepkg -Acs

(If you're running as root, it gives you a warning that building the package could break the system. I ran it as root, which means I technically ran makepkg --asroot -Acs.) After that, I had a valid package file which I could install via pacman. Note that your filename may vary:

pacman -U uqm-0.7.0-3-armv6h.pkg.tar.xz

At this point, uqm brings up the game, in all its original glory. But if you (like I) want the extra 3DO sound/voice content, a similar procedure can be repeated with the PKGBUILD file for uqm-sound.

Your Answer

