Compiling ScummVM on (X)ubuntu

Ask for help with ScummVM problems

Moderator: ScummVM Team

Post Reply
Pyjamarama
Posts: 14
Joined: Thu Feb 23, 2006 3:40 pm

Compiling ScummVM on (X)ubuntu

Post by Pyjamarama »

Hi there,

Having been a long-time Windows-user, I recently decided to give Linux a try by installing Xubuntu 6.06.1 on my secondary computer. The transition was relatively easy, but I have failed at successfully compiling ScummVM on my machine. What I have done so far:

1) Extract the latest version from SVN using

Code: Select all

svn co https://svn.sourceforge.net/svnroot/scummvm scummvm
(I did download many unnecessary files, though, because I was not quite sure where exactly to put "/trunk" in that line: At least

Code: Select all

svn co https://svn.sourceforge.net/svnroot/scummvm/trunk scummvm 
did not seem to work.)

2) Install all the required and optional libraries using Xubuntu's packet manager. (Perhaps "tetex" and "tetex-extra" should be added to the list of required packages from the "Readme" since I got an error message when they were not installed.)

3) Open up a terminal, change the directory to "scummvm/scummvm/trunk" and run "sudo ./configure" to prepare the compiler.

4) Run "sudo make deb"

After step 4) the compiler (gcc 4.0.3) starts working happily for a while, but then it exits with an error message like this one:

Code: Select all

./engines/scumm/intern.h:60: Fehler: long, short, signed oder unsigned ist ungültig für (invalid for)»dr«
./engines/scumm/intern.h:60: Fehler: complex ungültig für »dr«
./engines/scumm/intern.h&#58;60&#58; Fehler&#58; »__restrict__«-Qualifizierer können nicht auf »DetectorResult« angewendet werden &#40;Qualfier cannot be applied to >>DetectorResult<<&#41;
./engines/scumm/intern.h&#58;60&#58; durch frühere Fehler verwirrt, Abbruch &#40;confused by previous errors, exiting&#41;
make&#91;2&#93;&#58; *** &#91;engines/scumm/he/wiz_he.o&#93; Fehler 1
make&#91;2&#93;&#58; Leaving directory `/home/jan/scummvm/scummvm/trunk'
make&#91;1&#93;&#58; *** &#91;scummvm&#93; Fehler 2
make&#91;1&#93;&#58; Leaving directory `/home/jan/scummvm/scummvm/trunk'
make&#58; *** &#91;deb&#93; Fehler 2
Interestingly enough, running the compiler again results in varying error messages, another one being "engines/sword2/mouse.cpp:28: interner Compiler-Fehler (internal compiler error): Segmentation fault".

Being a linux-newbie and not generally not having a clue about compiling software, I would appreciate any help as to what I may be doing wrong.

Thanks

Jan
Pyjamarama
Posts: 14
Joined: Thu Feb 23, 2006 3:40 pm

Post by Pyjamarama »

As it turns out, it may be a hardware issue after all. Sorry about the confusion.

The machine that I was trying to compile ScummVM is an old Celeron 600, running at 900MHz. Usually, it runs quite stable in spite of being overclocked, but when I just tried running it at 600Mhz, compiling ended without error messages (not as deb, though, but simply using "sudo make"). I haven't managed to start the program yet, but I hope that I'll be able to figure out how to do that...
whatever
Posts: 27
Joined: Fri Jun 30, 2006 5:21 pm

Post by whatever »

as far as i know "make deb" is broken in svn. use the simple "make" instead.
Pyjamarama
Posts: 14
Joined: Thu Feb 23, 2006 3:40 pm

Post by Pyjamarama »

I guess you're right about "make deb" being broken.

A simple "make" did work, though, and I ended up with a functionable binary. Since I cannot use "dpkg" to register non-debian packages, I am not able to run it from a terminal (i.e. by typing "scummvm"), even if I change to the directory that includes the file.

I can still run ScummVM by double-clicking it from Thunar (the file manager included with Xubuntu), but this way I cannot run it with any additional parameters, e.g. to select the fancy orange GUI that I'm used from the Windows daily builds. Is there anything that I can do to make ScummVM run from a terminal anyway?
User avatar
DrMcCoy
ScummVM Developer
Posts: 595
Joined: Sat Dec 17, 2005 1:33 pm
Location: Braunschweig, Germany
Contact:

Post by DrMcCoy »

Since the current directory normally isn't in the PATH, you have to type "./scummvm" when you're in the directory. Alternatively, you can, as root, "make install", that will copy the binary to /usr/local/bin/ (and the documentation to /usr/local/share/doc/scummvm/), allowing you to run ScummVM by typing "scummvm" from anywhere. This will of course by-pass your distribution's packet manager.

If you've got a bit knowledge about Debian's packeting-system (I'm assuming it's the same in Ubuntu, I'm using Debian myself and don't know that much about Ubuntu), you could copy the directory dists/debian (in the source-directory) directly to the source (i.e. "cp -r dists/debian/ ."), try a dpkg-buildpackage and try to repair what's broken...
User avatar
eriktorbjorn
ScummVM Developer
Posts: 3561
Joined: Mon Oct 31, 2005 7:39 am

Post by eriktorbjorn »

Pyjamarama wrote:I am not able to run it from a terminal (i.e. by typing "scummvm"), even if I change to the directory that includes the file.
That's because the ScummVM executable is not in any of the directories listed in the PATH environment variable. (The PATH may include the current directory, but from what I understand, it traditionally doesn't.)

You can, of course, specify a path explicitly, e.g. by typing "./scummvm" to refer to scummvm in the current directory.

For more information about the command-line shell that can be digested by the average human being, please see the "bash" or "sh" documentation (which may or may not be the same thing), or the one for whatever shell you are using.
Pyjamarama
Posts: 14
Joined: Thu Feb 23, 2006 3:40 pm

Post by Pyjamarama »

Thanks for your helpful explanations as well as for pointing me in the right direction as to where to find further information. :)
Post Reply