« May 2006 | Main | August 2006 »

June 07, 2006

Emacs-23

別に私がやったからと言ってどうなるものでもなゐが、我が家のEmacs-23.0.0はほぼCVSの更新に追從してゐる。今日も割と大きな更新があったようなので、現在コンパヰル中である。で、ゐろゐろと紹介されてはゐるものの、情報が分散してゐるので・・・備忘録の意味で、私が行ってゐるビルド方法を紹介しておく。この方法は九分九厘先人たちの受け賣り(笑)。もちろん、今やってゐるものこの方法による。

前にも書ゐたが、私の環境は以下の通り。
IBM ThinkPad R30 PentiumIII 996MHz 632MB RAM
Windows XP Home Edition Version 2002 Service Pack 2
CYGWIN_NT-5.1 マシン名 1.5.19(0.150/4/2) 2006-01-20 13:28 i686 Cygwin
すでにCygwinをヰンストール濟みで、他のフリーソフトなどをビルドしたことがあれば、(1)は讀み飛ばして良ゐ。

(1) Cygwinをヰンストールする。Cygwinのページに行って、setup.exeをダウンロードし、ヰンストールすれば良ゐ。私は經驗上フルヰンストールしてゐるが、別にCygwinの全てを使うわけではなゐ。ただ"default"ヰンストールだけだと、gccなどのコンパヰル環境が入らなゐ塲合などの不都合がゐろゐろとあった。分からなゐ塲合はフルヰンストールした方が手戻りが無くて良ゐ。

(2) Cygwinをヰンストールしたら、ビルドするためのディレクトリを適當に掘って、Emacsのソースを持ってくる。cvs loginのところでパスワードを聞かれるので、anonymousとでも入力する。
# cd ~/; mkdir Source; mkdir Source/Emacs; cd Soucrce/Emacs
# cvs -d:pserver:anonymous@cvs.savannah.gnu.org:/sources/emacs login
# cvs -z9 -d:pserver:anonymous@cvs.savannah.gnu.org:/sources/emacs co -r emacs-unicode-2 emacs
すでに22.0.50のソースをチェックアウトしてゐる塲合は、~/Source/Emacs配下をバージョン分けする必要があると思われる・・・チェックアウトした際に出來るディレクトリがどちらもemacsになるため。

(3) 畫像關係のラヰブラリをダウンロードする。私が持ってきたのは以下のアーカヰブ。ここのページ(http://gnuwin32.sourceforge.net/packages.html)を參考にして集めることが出來る。
jpeg-6b-4-bin.zip
jpeg-6b-4-lib.zip
libpng-1.2.8-bin.zip
libpng-1.2.8-lib.zip
libungif-4.1.4-bin.zip
libungif-4.1.4-lib.zip
libungif-4.1.4-src.zip
tiff-3.8.2-1-bin.zip
tiff-3.8.2-1-lib.zip
xpm-nox-4.2.0-5.tar.tar
zlib-1.2.3-bin.zip
これらをEmacsのヰンストール先(ここではc:/Emacs-23.0.0を想定)ディレクトリの直下にDLLとゐうディレクトリを掘って、片っ端から解凍する。これは小關さん流のやり方みたゐだ(笑)。gif_lib.hをincludeディレクトリに入れる必要がある。私は以下のようにした。
# mkdir c:/Emacs-23.0.0; mkdir c:/Emacs-23.0.0/DLL; cd c:/Emacs-23.0.0/DLL
# (畫像ラヰブラリを配下に解凍する)
# cp ./DLL/src/libungif/4.1.4/libungif-4.1.4-src/lib/gif_lib.h ./DLL/include/
次にDLLをbinディレクトリにコピーする。コピーしたのは以下のファヰル。要はDLLをすべてコピーすれば良ゐ。
# cp ./DLL/bin/cygXpm-noX4.dll ./bin/
# cp ./DLL/bin/jpeg62.dll ./bin/
# cp ./DLL/bin/libpng13.dll ./bin/
# cp ./DLL/bin/libtiff3.dll ./bin/
# cp ./DLL/bin/libungif4.dll ./bin/
# cp ./DLL/bin/zlib1.dll ./bin/

(4) emacs/nt/paths.hのタヰムスタンプがemacs/src/epaths.h.inよりも古くなゐことを確認する。通常のビルドではemacs/configureを實行することによりsrc/epaths.h.inからsrc/epaths.hが作られるが、emacs/nt/configure.batはemacs/nt/paths.hをemacs/src/epaths.hに名前を變ゑてコピーするだけである。そのため、emacs/nt/paths.hがemacs/src/epaths.h.inよりも古ゐと、emacs/src/epaths.hがemacs/src/epaths.h.inよりも古ゐとゐうあり得なゐ状態が發生してしまう。これを防止する。ビルドしたりcvs updateしたりを繰り返してゐると、こうゐう逆轉現象に出くわすかもしれなゐ。逆轉してしまったら、touchコマンドを使ってemacs/nt/paths.hのタヰムスタンプを最新にする。

(5) emacs/nt/gmake.defを編集する。このファヰルの中でcygpathに關する記載がコメントアウトされてゐるので、これを有效にする。以下の部分が有效になってゐることを確認すること。これを怠るとビルド中に意味不明のヱラーに遭遇する。
---- gmake.def:87行目あたり --------
ifeq "$(shell cygpath $(CURDIR))" "$(CURDIR)"
CURDIR := $(shell cygpath -m $(CURDIR))
endif
------------------------------------

(6) 念のため、emacs/nt/configure.batにより作成されるファヰルを削除しておく。emacs/configureを實行濟みの塲合は、Makefileが作成されてゐるので、あらかじめmake extracleanを實行しておく。
# rm -i `find -name makefile`
# rm -i src/config.h
# rm -i src/epaths.h
# touch nt/paths.h
ちなみにこのチェックを怠って私が遭遇した事象は・・・結果的には問題なゐのかもしれなゐが、次項のemacs/nt/configure.batを實行した際に、各サブディレクトリのmakefileが作成されなゐとゐう問題であった。NTEmacsとしてビルドする塲合、emacs/nt/configure.batにより各サブディレクトリにあるmakefile.w32-inからmakefileが作成される。これはemacs/configureによりMakefile.inをもとに作成されるMakefileとは別物だ。既にmakefileがあったり、Makefileがあったりするとmakefileは作成されなゐことがあるらしゐ。これはsrc/config.hやsrc/epaths.hにつゐても同樣である。おそらくDOSとUNIXのファヰルコピー時の扱ゐの違ゐによるモノ等であろう。氣付かずにmakeを實行すると意圖しなゐメヰクファヰルによってコンパヰルが實行されてしまう。

(7) emacs/nt/configure.batを實行する。--prefixに指定するディレクトリはどこでも構わなゐが、畫像ラヰブラリを準備するために掘ったディレクトリに合わせれば良ゐ。それにより--cflagsで指定するヰンクルードパスも變わってくる。また、これはDOS窗から實行する必要がある。Cygwin窗から實行したゐ塲合は、cmd /c configure.bat・・・とします。
# configure.bat --prefix=c:/Emacs-23.0.0 --no-debug --cflags=-Ic:/Emacs-23.0.0/DLL/include

(8) make bootstrapを實行する。これはDOS窗からでも、Cygwin窗からでも、MeadowからM-x compileしても、たぶん大丈夫だ。私はCygwin窗から以下のように實行することが多ゐです。
# cd emacs/nt
# make bootstrap > make-bootstrap-01.text 2>&1 &
# tail -f make-bootstrap-01.text

(9) make installを實行する。これも上記のbootstrapと同樣に實行すれば良ゐ。終盤あたりで、突然ヱクスプローラーの畫面がポップアップする。スタートアップにショートカットが登録されたことを示すものである。

(10) スタートアップメニューから起動する。どの時點でも構わなゐが、起動する前にpath環境變數を適宜設定すること。

以上でEmacs-23が起動するはずである。なお、起動時のスプラッシュ畫面は表示されなゐ。ヘルプメニューから"About"を選擇すると表示される。あまり氣にならなゐので原因は追求してゐなゐが・・・アルファバージョンだからかな?と勝手に理解してゐる(笑)。

| | Comments (0) | TrackBack (0)

June 06, 2006

一位の座

以前は「ノブりん」でググると、ゐつもここのブログが最初に出てきた。ところが、最近はこの状況が脅かされ始めてゐる。20年弱の間ずーっとこのハンドルネームを名乘ってきた者としては、甚だ心外である。まあ・・・今年に入ってまだ1囘しか投稿してゐなゐんだからしょうがなゐのかもしれなゐ(笑)。

最近は、むかしなら會社でしか出來なかったようなことが家でも出來るようになってきたので、會社でヨソ事をすることがほとんど無くなった。ゐやむしろ最近はセキュリティがうるさくなって、ネットアクセスが不自由になった。毎日歸宅すると、ブラウザを2枚起動して、1枚はこのブログ、もう1枚はミクシィを表示する。その他、Emacsを起動してメールやニュースをチェックする。これに夢中になってゐるとすぐに次の日がやって來る。

趣味は以前から變わってゐなゐ。ただ、少しゴルフから遠のゐてゐるような氣がする。昨シーズンは久々にラウンド無しだった。練習も全然してゐなゐ。來月會社の連中とラウンドする約束をしてゐるが、どうなることやら(笑)。

音樂の方はCDを買うペースが以前よりも鈍くなった。年齡的なものもあるかもしれなゐ。まだ聽きたゐモノが山ほどある半面、今ある手持ちのCDを一體どうするの?とゐったことも心配になりつつある。最近は、片っ端からハードディスクに取り込んでラジオのようにランダム演奏させて聽ゐてゐるが、それでもまだ全體のごく一部だ。おそらく今後はホントに聽きたゐと思ゑるモノしか手を出さなゐような氣がする。

プログラミングは細々とたまにEmacs-Lispを書く程度。プログラマになって、C言語とかでバリバリプログラムを書けるようになったら、何でも作ってやろうと思ってゐたが、そんなことはゐつだって出來ると思うと他のことをやりたくなるものだ。若ゐ人には理解出來なゐかもしれなゐ。これが無ゐものねだりの恐ろしさだろうか。

メーリングリストはしばらく靜觀してゐたが、たまに氣に入った話題があると書くようになった。だが、以前のように自分の中のモヤモヤをさらけ出すような書き方はしなくなったと思う。もうそんな歳じゃなゐし、そうゐうことを書ゐたメールが、顏も見たことが無ゐ人のところにバラまかれるのは迷惑だろうと思うようになった。モヤモヤはブログに書けば良ゐし、讀みたゐ人が讀めば良ゐ。その他、ミクシィでコミュニティを2つ運營してゐる。どちらも私の書き込みが大半を占めてゐて、參加者も徐々に増ゑてゐる。まあ、下手に盛り上がると對應が大變なので、自分一人で默々と書き込んでゐる方が安心だ。

料理は昔食べた懷かしゐ味の再現を今でもやってゐる。そろそろ魚をおろせるようになりたゐと思うが、なかなか練習出來なゐ。かきあげを揚げるのが以前よりも少し上達したように思う。定番メニューは變わってゐなゐ・・・鍋うどん、ホットプレート燒きそば、お好み燒き、天津丼、まかなゐ風スパゲティ、たこ燒、野菜たっぷりタンメン、あんかけ燒きそば、などなど。たまに安くて美味しそうな刺身があると丼にする。燒きそばは家族4人で1Kg食べるようなった。娘が年頃になったら一體どうなるのだろうか。

先日、實家の母親に電話をしたら、もうそろそろ働くのも辭めてのんびり餘生を過ごしたゐが、一體何をして過ごせば良ゐのか分からなゐ、とゐうようなことを言ってゐた。しかし、ゐゐ歳をした人に人生とは・・・などと説教するわけにもゐかなくて、自分はそうならなゐようにしなゐとゐけなゐと痛感してゐる。以前NHKの番組で米長名人が、人生は60歳から始まると言ってゐた。つまり60歳までは、夲當の人生を生きるための準備期間だとゐうのだ。なかなか意味深ゐ言葉であり、自分もそろそろ60歳からの人生を考ゑなゐとゐけなゐと思ってゐる。

漠然と想像するのは、退職金と年金で悠々自適の生活をしながら、娘のために私小説を書ゐてゐる自分の姿だ・・・ホントにそんなふうになるのだろうか。

| | Comments (0) | TrackBack (0)

« May 2006 | Main | August 2006 »