Namazu-win32-users-ja(旧)


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

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



寺西です。

Yuichiro Sawatari wrote:
>  
> 更新された namazu-2.0.13/config.h の HAVE_VSNPRINTF は同じです。
>     138 /* Define to 1 if you have the `vsnprintf' function. */
>     139 /* #undef HAVE_VSNPRINTF */
>
> 続けて make すると、前回とは違うエラーになったので、
> _vsnprintf はリンクされたようです。

うーむ。良いのだろか。ま、リンクしているので、とりあえずは良いのかな。

>   extracting exported symbol list from `libintl-2.dll'
>   test -f .libs/impgen.c || \ sed -e "/^# \/\* impgen\.c starts here
> \*\//,/^# \/\* impgen.c ends here \*\// { s/^# //;s/^# *$//; p; }" -e d <
> ../libtool > .libs/impgen.c
>   ../libtool:  sed: command not found
>   make[2]: *** [namazu.exe] Error 127
>   make[2]: Leaving directory `/c/namazu-2.0.13/src'
>   make[1]: *** [all-recursive] Error 1
>   make[1]: Leaving directory `/c/namazu-2.0.13'
>   make: *** [all] Error 2
...
> 何が足りないのでしょうか?

来ました。このエラーは、

> 手元の MinGW 環境だと namazu 2.0.13RC3 の後からコンパイルに失敗しま
> した。
> どうやら libtool 1.5.4 を使って tarball を作ったのが敗因のようで、
> libtool 1.4.3 で tarball を作り直すと、コンパイルできました。
> それ以上、原因は追究していません。

と書いたエラーです。
configure 後に生成された libtool の中に以下の部分があるかと
思います。

# The commands to extract the exported symbol list from a shared
archive.
extract_expsyms_cmds="test -f \$output_objdir/impgen.c || \\\\
      sed -e \\\"/^# \\\\/\\\\* impgen\\\\.c starts here \\\\*\\\\//,/^#
\\\\/\\
\\* impgen.c ends here \\\\*\\\\// { s/^# //;s/^# *\$//; p; }\\\" -e d <
\$0 > \
$output_objdir/impgen.c~
      test -f \$output_objdir/impgen.exe || (cd \$output_objdir && \\\\
      if test \\\"x\$HOST_CC\\\" != \\\"x\\\" ; then \$HOST_CC -o impgen
impgen.
c ; \\\\
      else \$CC -o impgen impgen.c ; fi)~
      \$output_objdir/impgen \$dir/\$soroot >
\$output_objdir/\$soname-def"

この中で、 行末が \\\\ で終わっている3箇所を削除するとコンパイルが
できます。
具体的には

# The commands to extract the exported symbol list from a shared
archive.
extract_expsyms_cmds="test -f \$output_objdir/impgen.c || 
                                                          ^^^^^ここと
      sed -e \\\"/^# \\\\/\\\\* impgen\\\\.c starts here \\\\*\\\\//,/^#
\\\\/\\
\\* impgen.c ends here \\\\*\\\\// { s/^# //;s/^# *\$//; p; }\\\" -e d <
\$0 > \
$output_objdir/impgen.c~
      test -f \$output_objdir/impgen.exe || (cd \$output_objdir && 
                                                             ここと^^
      if test \\\"x\$HOST_CC\\\" != \\\"x\\\" ; then \$HOST_CC -o impgen
impgen.
c ; 
  ここ^^
      else \$CC -o impgen impgen.c ; fi)~
      \$output_objdir/impgen \$dir/\$soroot >
\$output_objdir/\$soname-def"

# メールは折り返しているので注意。

編集後、make clean を実行し、make し直してください。
それで、やっとコンパイルが通るでしょう。
 
> perl は ActivePerl ではなく、msys の perl を用いているのですが、
> 不都合があるでしょうか?
>   $ perl -v
>   This is perl, v5.6.1 built for msys

はい。ActivePerl のパスが先に来るよう環境変数を修正してください。
-- 
=====================================================================
寺西 忠勝(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