GPL3で公開されたSimCityをfedoraでそのまま動かしてもマップが表示されない場合のパッチ当て~コンパイル手順のメモです。
ソースはここからダウンロード。
http://www.donhopkins.com/home/micropolis/
ファイルはこちら
micropolis-activity-source.tgz
これを解凍します。
$ tar -xzvf micropolis-activity-source.tgz
micropolis-activityディレクトリが出来ますので、ここでパッチを当てます。
パッチはこちらから
http://rmdir.de/~michael/micropolis_mac-osx.patch
micropolis-activityの1個上のディレクトリに置きます。
いくつかのファイルでファイル名を聞かれるので、src以下のパスを含めて指定します。
- pオプション付けてパッチをあてます。(のばでぃ6さんご指摘ありがとうございます。)
[syasuda@localhost tmp]$ patch -p0 <micropolis_mac-osx.patch
patching file micropolis-activity/Micropolis
patching file micropolis-activity/src/sim/g_map.c
patching file micropolis-activity/src/sim/g_smmaps.c
patching file micropolis-activity/src/sim/headers/sim.h
patching file micropolis-activity/src/sim/makefile
patching file micropolis-activity/src/sim/w_x.c
patching file micropolis-activity/src/tcl/tclunix.h
patching file micropolis-activity/src/tclx/ossupp/makefile
patching file micropolis-activity/src/tclx/src/tclxgdat.y
patching file micropolis-activity/src/tclx/src/tclxint.h
srcディレクトリに入って、makeです。
[syasuda@localhost src]$ make
cd tcl ; make all
make[1]: ディレクトリ `/tmp/micropolis-activity/src/tcl' に入ります
gcc -O3 -I. -DTCL_LIBRARY=\"/usr/local/lib/tcl\" -DIS_LINUX -c -o regexp.o regexp.c
・・・
gcc -O3 -DIS_LINUX -DIS_INTEL -L/usr/X11/lib -Iheaders -I -I/usr/include/X11 -I../tcl -I../tclx/src -I../tk sim.o s_alloc.o s_disast.o s_eval.o s_gen.o s_init.o s_msg.o s_power.o s_scan.o s_sim.o s_traf.o s_zone.o s_fileio.o g_setup.o g_ani.o g_bigmap.o g_map.o g_smmaps.o w_stubs.o w_sound.o w_resrc.o w_keys.o w_util.o w_con.o w_eval.o w_budget.o w_graph.o w_date.o w_update.o w_tool.o w_x.o w_tk.o w_sim.o w_editor.o w_map.o w_sprite.o w_piem.o w_inter.o w_cam.o g_cam.o w_net.o rand.o random.o ../tclx/libtk.a ../tclx/libtcl.a -lm -lX11 -lXext -lXpm -o sim
make[1]: ディレクトリ `/tmp/micropolis-activity/src/sim' から出ます
make installします。
[syasuda@localhost src]$ make install
cd tcl ; make all
make[1]: ディレクトリ `/tmp/micropolis-activity/src/tcl' に入ります
make[1]: `all' に対して行うべき事はありません.
・・・
(cd ../res ; rm -f sim)
cp sim/sim ../res/sim ; strip ../res/sim
実行はプロジェクトルートでスクリプトを叩きます。
[syasuda@localhost src]$ cd ..
[syasuda@localhost micropolis-activity]$ ./Micropolis
わたしはpatchを普段使うことがないので、ちょっと右往左往しましたが、あとはすこぶる順調でした。
環境:
fedora8
コメント