So I finally got around to installing a version of Linux (Ubuntu, to be exact) on one of my computers. Then I hooked up the ethernet cord and installed the tome 3.0 package (at least, I think I did). Then I try to run it... wait.

How, exactly, do I do that?

It doesn't show up in the applications dropdown menu, and I can't find a way to run it. I *did* find a 'tome3' binary in /usr/bin/, but I can't seem to open it.

I gather I'm missing something very important that you need if you're going to do anything in Linux besides run the prepackaged programs, and I have no idea what it is. >_<

NeilStevens: ToME 3 alpha series is not for players. ToME 2.3.4 is. For ToME 2.3.4, if you're running in X11, make sure you compile the X11 version. For ToME 3, when the time comes that it leaves alpha and is ready for playtesting, compile the X11 or SDL version.

Derakon: I don't know how much experience you have with Linux, but there's frequently two different versions of a given program - the "X" version and the "console" version. The former is the one with all the graphical stuff, like multiple windows, graphics, buttons, and so on. The latter is designed to run from within a single text window and doesn't feature anything more complicated than colored text. Disregarding that you want the 2.3.4 version, I suspect the reason why ToME didn't show up in your applications dropdown is because you got a console version, not the X version. That's what Neil was talking about when he said "make sure you compile the X11 version".

AntonioRegidor:I had the same problem. First I downloaded the 2.3.4 version's sources but they contain no instructions to compile them. Since I could not compile them, I continue searching in the homepage and after some time I found a "Linux port" and downloaded it (I supposed the source was for unix, like rogue, there should be in the download page some indication of which O.S. the sources are for). There is a linux port only for the 3.0.0 series (at least in the download page). I installed the package but there was no instructions to run the game. After reading this page I knew that the command is tome3. I run it and obtained some error messages about libsdl libraries. I installed the necessary libraries and it worked :) BTW, how can I compile the 2.3.4 sources under linux?

JohnGilmore: "make -f Makefile.std" But I first edit it and change "LIBDIR" to "./lib/". The defaults only work if you're doing a system-wide install, which I never do because I have multiple versions. You may also which to select a variation further down. Most people will be fine with the default "both X11 and ncurses in one binary" compile. On some older versions, I recall having to change "-lcurses" to "-lncurses" but I think that was fixed at some point.

AntonioRegidor:Thanks. I compiled it but obtained a lot of warnings and the program does not work. I will fill a proper bug report.

JohnGilmore:Are you compiling 3.0 or 2.x? If it's 2.x, then don't file the bug report, it compiles and runs fine on linux, and I'd be happy to help you get the settings correct. If for 3.0, are you sure that's what you wanted? And maybe it does work, do you get error messages? The tome.cfg thing is (imho) a major headache.

AntonioRegidor:It's 2.3.4. I compiled it as root without any change in the makefile. I obtained warnings about values that are computed but not used, for example:

init2.c: In function ‘init_misc’: init2.c:5921: warning: value computed is not used init2.c:5931: warning: value computed is not used init2.c:5949: warning: value computed is not used

and about signs of pointer targets, for example:

init1.c: In function ‘init_player_info_txt’: init1.c:2712: warning: pointer targets in passing argument 1 of ‘grab_one_class_flag’ differ in signedness

and also this one:

util.o: In function `path_temp': /home/yo/tome-234-src/src/util.c:284: warning: the use of tmpnam' is dangerous, better use mkstemp'

Finally, when trying to run tome, it complains:

tome_dofile_anywhere(): file ./lib/mods(mods_aux.lua) doesn't exist in ./lib/mods/mods_aux.luo tome_dofile_anywhere(): file ./lib/mods(modules.lua) doesn't exist in ./lib/mods/modules.luo LUA: error: attempt to call a nil value LUA:

and shows the message:

Welcome to ToME, you must select a module to play, either ToME official module or third party ones. Press 8/2/4/6 to move, Return to select and Esc to quit.

but there is no module to choose and Return has no effect.

NeilStevens: The game compiled fine but is installed incorrectly. If your LIBDIR isn't set to ./lib, make sure you do a make install after you build.

JohnGilmore: Yes. It's basically a failure to find the "lib" directory. You can configure where tome expects to find it by changing the makefile. And if it's expecting ./lib to exist, then you MUST start tome from the directory where "lib" exists. Otherwise you'll get the error you got. And note that it's not the location of the tome executable that matters, it's what your working directory is. (which directory you "cd"'d into)

Oh, and please prefix you posts with you name. Makes it MUCH easier to tell where your comments start and others' leave off.

AntonioRegidor: Sorry, I was not able to register yesterday. Apparently, the wiki doesn't accept usernames with only 1 capital letter, but it doesn't display any warning about that. Anyway, the LIBDIR was set to ./lib/, I din't change it. Now I changed it to /usr/lib/games/tome/ and created this directory. It doesn't compile at all, so I downloaded the sources again and changed the LIBDIR to /usr/lib/games/tome/ again. This time it compiled. I obtained similar warnings and the behaviour of the program is the same, invoked from the src directory, from /usr/lib/games/tome and from /usr/lib/games. Also, make install doesn't work (there is no rule to make the target "install").

JohnGilmore: Does the directory /usr/lib/games/tome/lib exist? If not, cd <srcdir> and "sudo cp -r lib /usr/lib/games/tome". Haveing recompiled, and copied the lib directory to where the makefile says the lib directory should be, you'll be able to run "tome" (which executable should now be copied to /usr/bin or /usr/local/bin) from any location.

This is because of the difference between an "absolute path" and a "relative path". An absolute path begins with "/" and is found starting at the root directory (also known as "/") while a relative path begins with anything else. Relative paths may (or may not) start with an explicit "." to indicate the current directory. Google it for more info if still unclear. Note especially the use of the special directories "." and "..". And Google it anyway for a more extensive document, there are still traps for the unwary here. You started with "./lib/" which is a relative path, and ended with "/usr/lib/games/tome" which is absolute.

AntonioRegidor: It didn't exist. Now I copied it from <srcdir> but obtained the same error :S BTW, there is a package for 2.3.4? Oh, and I'm not the first poster, I have 3-4 years of experience with linux.

ZizzoTheInfinite: Are we still talking Ubuntu? Debian's ToME package is up to 2.3.4 in testing, so Ubuntu's is bound to be. This forum thread on the subject is kind of old, but it seems to cover the basics.

AntonioRegidor: Actually I'm using debian testing. I didn't find the package with synaptic because it is non-free. It works great, thanks to all.

GeneralDiscussion/Running ToME in Ubuntu Linux (last edited 2007-02-24 12:20:40 by AntonioRegidor)