Namazu-win32-users-ja(旧)


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

Re: Namazu のコンパイルと日本語/英語



寺西です。

# 引用が前後しますが。

Yuichiro Sawatari wrote:
> 
> Namazu-2.0.12 から 2.0.13 にして、コンパイルしました。
>   $ CC="gcc -mno-cygwin" ./configure --prefix=/namazu
>   $ make
>   $ make install
>   $ objdump -p namazu.cgi.exe | grep DLL
> としたところ、やはり cgywin1.dll と KERNEL32.dll が表示され、

まず、cygwin 版を作りたいのか、Win32 ネイティブ 版を作りたいのか
どちらでしょう。

HACKING.txt を参考にしていることと上記のコマンドからすると 
Win32 ネイティブ版を作りたいように見えますが、出来上がっているのは 
cygwin 版ですね。(cygwin1.dllが objdump で現れますから)

環境の構築がきちんとできていないのでは? まずはそこをきちんと整理
した方が良いです。

で、今までは cygwin 版の話をしていたのですが、Win32 版の話をした
方が良いでしょうか?

cygwin 版と Win32 ネイティブ版は別物です。
そして、Win32 ネイティブ版は MinGW 環境でコンパイルする方法と、
cygwin を使ってコンパイルする方法の 2 種類があります。
(インストーラ付きで配布されている Namazu は Win32 ネイティブ版です。)

なお、cygwin 版を作るのが一番楽で、MinGW 環境で Win32 ネイティブ版
を作るのが次に楽じゃないかと思います。

何にしても、UNIX 環境の知識が一通り必要です。それに加えて、cygwin 
と MinGW の関係について理解できていないと、コンパイルは難しいで
しょう。
# Win32 ネイティブ版のコンパイルは、UNIX 環境でのコンパイルより
# 敷居が高いですから。

> デフォルトの cygwin には gettext がなかったので、
> setup.exe を用いて、gettext を含む cygwin を再インストールしたところ、
> gettext は、/usr/local ではなく /usr/bin にありました。
>   $ which gettext
>   /usr/bin/gettext
> これを /usr/local にコピーすればよいのでしょうか?

いや、そのまま、そのまま。gettext コマンドを直接使っているわけ
ではありませんから。

そして、それは cygwin 版なので、MinGW 版なら /mingw/bin に gettext.exe
/mingw/lib に libintl.a 等が入っているでしょうか?

# /mingw は /usr/mingw かも知れない。その場合は /mingw を /usr/mingw 
# に読み替えてください。

> Namazu-2.0.12 から 2.0.13 にして、コンパイルしました。
>   $ CC="gcc -mno-cygwin" ./configure --prefix=/namazu
>   $ make
>   $ make install
>   $ objdump -p namazu.cgi.exe | grep DLL
> としたところ、やはり cgywin1.dll と KERNEL32.dll が表示され、
> cygintl-2.dll が認識されません。
> どうすれば、cygintl-2.dll を認識するようになりますか?

(cygwin 環境ではなくて)MinGW 環境で

 $ ./configure --prefix=/namazu --with-libintl-prefix=/mingw
 $ make 
 $ make install
 $ objdump -p /namazu/libexec/namazu.cgi.exe | grep DLL

とすれば、libintl-2.dll, KERNEL32.dll, msvcrt.dll, USER32.dll 等
が表示されるはずです。(この時、cygwin1.dll は表示されないのが
正解です。)
 
> Cygwin 版ではなく MinGW 版 gcc でコンパイルしようとしたのですが、
> 他の方の過去ログにもあるとおり、うまくいきません。
> http://www.namazu.org/ml/namazu-win32-users-ja/msg01544.html

対処方法も書いてあるので、その通りに対処しましょう。

> 今まで、Kakasi と ActivePerl しか用意していなかったのですが、
> http://www.namazu.org/doc/tutorial.html#prep-make
> を見て、日本語の表示には nkf が必要なのかと、

日本語メッセージの表示に nkf は使っていません。(日本語処理で
使いますが。)

> nkf204.tar.gz をダウンロードしたのですが、解凍できません。
>   $ gzip -dc nkf204.tar.gz | tar xvf -
>   gzip: nkf204.tar.gz: not in gzip format
> 解凍の仕方が違うのでしょうか?

nkf204.tar.gz が壊れているのでしょう。
nkf204.tar.gz のサイズは107085バイトです。確認してみてください。

なお、Active Perl に NKF Perl モジュールをインストールしている
のなら、nkf のインストールは不要です。
-- 
=====================================================================
寺西 忠勝(TADAMASA TERANISHI)  yw3t-trns@xxxxxxxxxxxxxxx
http://www.asahi-net.or.jp/~yw3t-trns/index.htm
Key fingerprint =  474E 4D93 8E97 11F6 662D  8A42 17F5 52F4 10E7 D14E