namazu-ml(ring)


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: namazu-1.3.1.0-pre-3 (Re: namazu-1.3.1.0-pre-2)



清水@住友林業です。

配送されなかったメールですが、高林さんには直接送っています。

Thu, 04 Feb 1999 16:49:36 +0900 に、
Satoru Takabayashi <ccsatoru@xxxxxxxxxxxxxxxxxx> さんは書きました ;

> automake で作成した Makefile.in は読むのが大変ですね。動作を追いか
> けるのに苦労しています。

悩みは ローレベルな OS/2 ユーザでも同じです :-)

まず、autoconf は OS/2 に移植されているのですが、automake と aclocal 
と makeinfo はまだです。で、そのためかどうかよく判らないのですが、何
かおかしい動きをしています。具体的には make all なら compile が実行
されるのに、make だけでは configure をやり直しているようなメッセージ
を出しています。ハテ?

# ちなみに、OS/2 では ./configure から始めるわけにはいかず、
# autoconf から始める必要があります。configure から作りなおし。


また、configure で作成された src/Makefile の LDFLAGS と SYSTEM を
OS/2 用に手で修正してから make all しているのですが、以下の警告が
出ます。特に実害はないようです。

 makefile:224: warning: overriding commands for target `.s.o'
 makefile:221: warning: ignoring old commands for target `.s.o'


また、Makefile.in の 153行目がこうなっていますが、

  DEFS = @DEFS@ -I. -I$(srcdir) -I..

以下のようにして下さると OS/2 と Win32 では手間が減って嬉しいです。

  DEFS = @DEFS@ -D$(SYSTEM) -I. -I$(srcdir) -I..

ここらへん、変数 SYSTEM  も LDFLAGS も configure の引数指定変更で
修正されるように、configure.in と Makefile.in を勉強してみます。

とりあえず namazu.exe はできました。
v1.3.0.2 の mknmz で作成したインデックスを対象に数パターンでテスト
しましたが、問題なく動いているようです。こちらの問題は Makefile を
いかに簡単に作るか、だけのようです。


ところが、mknmz でエラーが出ます。とりあえず使用法画面を見ようと、

 % perl ./mknmz 

とやってみたのですが、以下のようになります。ちなみに nkf と Kakasi は
Perl Module が configure で検出されています。

 Use of uninitialized value at ./mknmz line 119.
 Can't spawn "module_nkf": No such file or directory
 |module_nkf -s: No such file or directory

このエラーの2行目・3行目は、mknmz.pl の337行目からの

sub preparation_process () {
    my $file_segment = 0;
    my ($output_dir, $target_dir) = get_commandline_opt();

    require_modules();
    dbnamechange($output_dir);

の部分で、require_modules(); を get_commandline_opt(); より
先に呼び出すように修正すると回避できます。


エラーの1行目は、mknmz.pl の以下のブロックの最後で出ています。
$LIBDIR で出るとは思えないので $1 の方が抵触しているのだと思うの
ですが、なんでエラーになるのかチトわかりません。


sub initialize () {
    $SYSTEM = $^O;
    if (($SYSTEM eq "MSWin32") || ($SYSTEM eq "os2")) {
	$PSC = "\\";
	$CCS = "sjis";
 	$0 =~ m#^([A-Z]:)(/|\\)#i, 
	$LIBDIR = $1 . $LIBDIR if ($LIBDIR !~ /^[A-Z]:/i);


以上、とりあえずの報告です。

end
--
  住友林業株式会社  情報システム部   清水 和佳
 
  TEL: +81-3-5322-6672  FAX: +81-3-5322-6658  Niftyserve: XLW01034
  e-mail: <kshimz@xxxxxxxxx>