ページ

2013年2月12日火曜日

久しぶりに JNetHack がやりたくなった。

昔なつかしのJNetHackを調べると Debian Package にはもうないようだ。

自分でコンパイルするの面倒くさいと思いながらも、ないものは仕方がないので、参考URLに書いてある方法でコンパイルしたらできた。

参考URL:
http://rltm9940.blogspot.jp/2011/08/debian-gnu-linux-602squeezejnethack.html

NetHack本体
http://sourceforge.jp/projects/jnethack/downloads/9091/nethack-343-src.tgz/

JNetHackのパッチ
http://sourceforge.jp/projects/jnethack/downloads/30862/jnethack-3.4.3-0.10.diff.gz/

以下手順
必要そうなパッケージを入れる。
# su
# aptitude install bison build-essential flex libncurses-dev

今回はホームディレクトリに入れる。
hoge$ whoami
hoge
hoge$ mkdir ~/nethack
hoge$ cd ~/nethack

nethack-343-src.tgz と jnethack-3.4.3-0.10.diff.gz を ~/nethack に保存。

hoge$ tar zxvf nethack-343.tgz
hoge$ cd nethack-3.4.3
hoge$ zcat ../jnethack-3.4.3-0.10.diff.gz | patch -p1
hoge$ sh sys/unix/setup.sh

hoge$ vi Makefile

PREFIX = /home/hoge/nethack/usr
GAMEUID = hoge
GAMEGRP = hoge


hoge$ vi src/Makefile

# flags for Linux
#   compile normally
CFLAGS = -O2 -fomit-frame-pointer -I../include
# LFLAGS = -L/usr/X11R6/lib

hoge$ vi util/Makefile

# flags for Linux
#   compile normally
CFLAGS = -O2 -fomit-frame-pointer -I../include
# LFLAGS = -L/usr/X11R6/lib

hoge$ vi include/unixconf.h

#define SYSV        /* define for System V, Solaris 2.x, newer  
#define LINUX   /* Another Unix clone */
#define TERMINFO    /* uses terminfo rather than termcap */
#define TIMED_DELAY     /* usleep() */

hoge$ vi include/config.h

Debianの場合gzipは/usr/bin/gzipに存在しないようだ。

#define DLB     /* not supported on all platforms */
#define COMPRESS "/bin/gzip"    /* FSF gzip compression */
/*# define XI18N*/

hoge$ make all
hoge$ make install
hoge$ cd ~/nethack/usr/games
hoge$ ./jnethack

NetHack, Copyright 1985-2003
         By Stichting Mathematisch Centrum and M. Stephenson.
         See license for details.

NetHack[日本語版], Copyright 1993 - 1996
         By I. Numata , S. Miyashita and N. Hamada.
    for 3.4,  Copyright 2002 - 2008
         By K.Shirakata.


キャラクターの種族,職業,性別,属性を適当に選んでよろしいですか?[ynq]





実行できた。めでたしめでたし。