View Full Version : Ubuntu Noob Needs Your Help!!

December 22, 2009, 16:33
Hi all ... I'm trying to compile the latest hengband source under ubuntu 9.10 and I'm not getting far. Basically, I am clueless being a Windows guy all my life.

Here is what I did:
>svn checkout http://svn.sourceforge.jp/svnroot/hengband/Hengband/trunk hengband

readme_eng.txt says to run "./configure --disable-japanese". I get no such program. There is a file ./configure.in that says it needs to be processed with autoconf. I sudo apt-get install autoconf, but autoconf barfs on the file with something about undefined macros. Also, I couldn't figure out how to pass the required switch to disable japanese.

So, I skip that, and do:
cd src
cp makefile.std makefile
gedit makefile&

I commented out the Japanese stuff, and tried the following options (section labelled "Compile for Linux"):
CFLAGS = -Wall -O2 -pipe -g -D"USE_XAW" -D"USE_GCU"
LIBS = -L/usr/X11R6/lib -lXaw -lXext -lSM -lICE -lXmu -lXt \
-lX11 -lcurses

I had to remove the -m486 switch as gcc blew up with that option.

I then make just fine until:
main-xaw.c:23:29: error: X11/Xaw/SimpleP.h: No such file or directory
main-xaw.c:24:28: error: X11/Xaw/Simple.h: No such file or directory
main-xaw.c:25:29: error: X11/Xaw/XawInit.h: No such file or directory

So I am missing X11 headers but I don't have a clue how to get them.

Any ideas? I'll keep poking ...

Thanks in advance,

December 22, 2009, 16:49
Shoot ... libxaw7-dev has the athena headers, but the description suggests this toolkit is obsolete.

I went back to
CFLAGS = -Wall -O2 -fno-strength-reduce -pipe -g -D"USE_X11" -D"USE_GCU" -I/usr/X11R6/include
LIBS = -L/usr/X11R6/lib -lX11 -lncurses

This failed the first time I tried. Works now. The other gotcha is that running "hengband" doesn't work :( Need to type "./hengband" on linux.

I suck :)

Sorry for the noise,

December 22, 2009, 17:55
About all I can help you with is the running "hengband" vs. running "./hengband". Basically this is because the search path for programs in Linux does not include the current directory. Generally I would consider this to be a Good Thing (because it reduces the likelihood of you accidentally running the wrong thing) but I suspect it's one of those things that could provoke a holy war. Anyway, if you want to be able to do "hengband" to run the game, you'll have to either install it somewhere that your search path looks in, or modify your search path to always include the local directory. Your search path is the environment variable $PATH, so you can look at it withecho $PATHand modify it withexport PATH=$PATH:/path/to/new/directory

December 22, 2009, 18:32
Thanks. I'm OK with "./hengband". I just work with Windows all day, so I forget ... I probably messed up the initial configure the same way.

On a side note, I just spent quite a few hours figuring out how to set fonts! Fun Fun:

export ANGBAND_X11_FONT='-*-courier-bold-r-normal--24-*-*-*-m-*-iso8859-1'
./hengband -g -- -n1&

I found details on what the string meant here (Its a sequence of 14 hyphen separated fields):

Does everybody else in the world just know this stuff? I feel stupid :)