[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[debian-users:29155] Bug#JP/1459: can not compile ewb (on m68k) with jikes
At Mon, 9 Jul 2001 17:18:02 +0900,
Atsuhito Kohda wrote:
> > # gcj -o mkpdfmark --main=MkPDFmark MkPDFmark.java Imkpdfmark.java
> >
> > とやれば、各プラットフォーム毎のバイナリが作成できます。
>
> このバイナリ版の mkpdfmark で ewb-3.2/tools/mkpdfmark/sample.dat
> を処理すると
>
> /Creator (\376\377\0\105\0\127\0\102)
> /Author (\376\377\116\55\221\316\0\40\214\342)
>
> のように半角(だと思うのですが)バックスラッシュが全角になる
> 気がするのですが違うでしょうか?
げげっ、言われてみれば...
ちょっと libgcj (gcc)のソースを覗いた感じでは、
gcc-3.0/libjava/gnu/gcj/convert/Unicode_to_JIS.cc
142 /* key: 0x5b */ 0x5b,
143 /* key: 0x5c */ 0x2140,
142 /* key: 0x5d */ 0x5d,
の部分のようです。円マークと明確に区別するために、大文字のバックスラッ
シュに変換するようにしているのでしょうね。
これは、実行時の Runtime の話なので、gcj -C でクラスファイルを生成した
場合には、問題ありません。実際に、gcj -C で *.class ファイルを生成し、
sample.dat に対して SUN の Java VMで実行した場合には、 SUN のjavac で
コンパイルした場合と同じ結果が得られました。
ついでに色々調べてみると、Kaffe でもそのままでは動かないことが判明しま
した。原因は、下記の2点です。
(1) Kaffe には、EUCJISというエンコーダが無い。(EUC_JPで代用する必要あ
り)
(2)同じように、バックスラッシュの変換が正しく行われていない。
gcj の問題と Kaffe の(2)の問題は持ち帰り調査したいと思います。
ありがとうございました。
# ひょっとして、結論としては、JDKが提供されているプラットフォームで無
# いと動かないということですかね? ぐふぉ(喀血)
追伸:
control ファイルの Build-Depends 欄に libncurses-dev を加えておいて
下さい。これがないと build できませんでした;)
ではでは。
----
岡本隆史