コンパイルまとめ

  • 投稿日:
  • by



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