Vine Linux バグトラッキングシステム

課題の詳細を表示 コメントにジャンプ ] 課題の履歴 ] 印刷 ]
IDプロジェクトカテゴリ登録日最終更新
0000434Vine Linux1 バグ2006-12-11 22:472008-03-17 19:31
報告者anonymous 
担当者 
優先度再現性不明 
状態完了解決状況保留 
バージョン4.0 
修正予定バージョン修正済バージョン 
概要0000434: a2ps で日本語が文字化け
説明Vine 4.0 で a2ps を使って日本語を含むファイルを ps に変換すると、日本語部分がどうも変になります。
タグ設定されていません。
archx86
パッケージa2ps-4.13b-53vl1
添付ファイル? file icon foo.ps [^] (18,938 バイト) 2006-12-17 13:56
? file icon synaptic.status.calamus.2006.1226 [^] (33,007 バイト) 2006-12-25 22:04

- 関連

-  コメント
(0002249)
anonymous (参照)
2006-12-11 23:00

> Vine 4.0 で a2ps を使って日本語を含むファイルを ps に変換すると、日本語部
> 分がどうも変になります。

(すみません。本文書く前に送信してしまいました。)

上記に付いて、出力された ps ファイルを見てみると、
どうも日本語の部分で、2byte 出力されるべきところが、
下位1byteのみ出力されているように見えます。

例えば、

      This is a test.
      これはテストです。

とだけかかれたファイルを変換した場合、Vine 3.2CR の a2ps と Vine 4.0 の a2ps で変換した物どうしを
比べると、以下のような違いがあります。
違いは、(This is a test.) の次の行の () の中で、byte 数が半分になっています。
また、上(Vine 3.2CR のもの) のbyte列のうち1つおきのデータが下(Vine 4.0)のbyte列に現れます。
おそらく、入力か出力のところで、上位byteが落ちていると思うのですが、これ以上の原因追求はできませんでした。

なお、環境変数は、LANG=ja_JP.eucJP としてあり、また、--encoding euc-jp を付けても同じ現象が起きます。

また、Vine 3.2CR のa2psのバイナリをVine4.0に持ってきて動かしても、やはり日本語が化けます。
逆にVine4.0のバイナリをVine3.2に持っていくと、ちゃんと表示されます。

なんとなく、ライブラリがおかしい気がするのですが、ちょっとわかりません。

----------------------------------------------------------------------------------------------
% diff -patch foo.txt.v3.ps foo.txt.v4.ps
*** foo.txt.v3.ps 2006-12-11 22:46:11.000000000 +0900
--- foo.txt.v4.ps 2006-12-11 22:45:46.000000000 +0900

*** 770,781 ****
  /y0 y v get bfs th add sub store
  x0 y0 moveto
  (This is a test.) p n
! (\244\263\244\354\244\317\245\306\245\271\245\310\244\307\244\271\241\243) N
! (stdin) (1/1 \245\332\241\274\245\270) (06\307\257 12\267\35611\306\374 22:40) title
  border
  grestore
--- 770,781 ----
  /y0 y v get bfs th add sub store
  x0 y0 moveto
  (This is a test.) p n
! (\263\354\317\306\271\310\307\271\243) N
! (foo.txt) (1/1 \245\332\241\274\245\270) (06\307\257 12\267\35611\306\374 22:45) title
  border
  grestore
(0002250)
anonymous (参照)
2006-12-17 13:56

私も a2ps はたまに使うのでテストしてみましたが、特に問題は見られませんでした。

a2ps は、
# apt-get update
# apt-get install a2ps
で入れました。(psutils なども一緒に入りました。)

$ cat foo.txt
This is a test.
これはテストです。
$ file foo.txt
foo.txt: EUC text
$ a2ps foo.txt > foo.ps
[foo.txt (プレーン): 1ページ, 1シート]
[合計: 1ページ, 1シート] 標準出力へ転送します
$ cat foo.ps (からの抜粋)
(This is a test.) p n
(\244\263\244\354\244\317\245\306\245\271\245\310\244\307\244\271\241\243) N
となりました。evince で見ても化けていません。
参考のため foo.ps を添付します。

というわけで、必ず出る症状というわけではないのではないでしょうか。
私の環境は、
CPU は Pentium M 1.4GHz。
Vine 4.0 を CD からクリーンインストール。
言語関係は日本語を選択。
インストールクラスはデスクトップで、パッケージは TeX など使う予定のないものを除外。
シェルは bash。
環境変数などは Vine デフォルトに多少追加した程度。(削除や上書きはないつもり)
$ uname -a
Linux hoge.localdomain 2.6.16-0vl60 0000001 SMP Fri Oct 27 03:39:46 JST 2006 i686 i686 i386 GNU/Linux
です。

症状を再現させる条件として何か思い当たることはありませんか?

--
森口
(0002251)
anonymous (参照)
2006-12-25 22:04

> 症状を再現させる条件として何か思い当たることはありませんか?

返事が遅くなりました。

たしかにインストールした素の状態で、a2ps のみ install するとうまくいきました。
ただ、添付したsynaptic の設定ファイルで指定されたパッケージ群をインストールすると
文字化けを起こすようになります。

この設定ファイルにはできるだけ欲張ってインストールするよう、コンフリクトしない限り多くのパッケージを指定してあります。(なので問題が起きている?)
ただ、インストール中には特にワーニングは出ていないようです。

これまでの現象から、なにかしら shared library が置き換わってしまっているようと想定して、
現在、怪しそうなパッケージを1つづつインストールしてみて、いつ文字化けが起きるかを見てみているのですが、数が多すぎてうまくいっていません。

なにか有効な方法などあるのでしょうか?
(0002252)
anonymous (参照)
2007-01-07 20:44

> たしかにインストールした素の状態で、a2ps のみ install するとうまくいきま
> した。
> ただ、添付したsynaptic の設定ファイルで指定されたパッケージ群をインストー
> ルすると
> 文字化けを起こすようになります。

症状再現できました。
libsafe が入っていると起こります。

何をどう直すべきなのかまではわかりません。

--
森口
(0002253)
anonymous (参照)
2007-04-05 21:38

> 症状再現できました。
> libsafe が入っていると起こります。
>
> 何をどう直すべきなのかまではわかりません。

正しい対処法ではないのですが、私の環境(一般ユーザIDでも root ID でも) では
少なくとも LD_PRELOAD という環境変数に /lib/libsafe.so.2.0.16 という値が入っています。
これを、外して a2ps を実行するとうまくいきます。具体的には、

    env LD_PRELOAD= a2ps

とすると、ちゃんと日本語も変換できました。

なぜ LD_PRELOAD がセットされているのか、libsafe が入っているとなぜダメなのか、
それはまだわかりません。
(0002254)
kazutaka (開発者)
2008-03-17 19:31

> なぜ LD_PRELOAD がセットされているのか、libsafe が入っているとなぜダメな
> のか、
> それはまだわかりません。

LD_PRELOAD は、libsafe に含まれる /etc/profile.d/libsafe.sh (or .chs)
によりセットされているようです。

少し調べてみたものの、「libsafe が入っていると a2ps で化ける」理由
までは分かりませんでした。

現状では「a2ps で日本語を扱う場合は libsafe をインストールしない」
というのが現実的な対応だと思います。(バッドノウハウ的でいやですが…)

今後の参考のためにも、保留として残しておきます。

- 課題の履歴
変更日 ユーザー名 項目 変更内容
2006-12-11 22:47 anonymous 新規課題
2006-12-11 23:00 anonymous コメント追加: 0002249
2006-12-17 13:56 anonymous 添付ファイル追加: foo.ps
2006-12-17 13:56 anonymous コメント追加: 0002250
2006-12-25 22:04 anonymous 添付ファイル追加: synaptic.status.calamus.2006.1226
2006-12-25 22:04 anonymous コメント追加: 0002251
2007-01-07 20:44 anonymous コメント追加: 0002252
2007-04-05 21:38 anonymous コメント追加: 0002253
2008-03-17 19:31 kazutaka 状態 新規 => 完了
2008-03-17 19:31 kazutaka 解決状況 不明 => 保留
2008-03-17 19:31 kazutaka コメント追加: 0002254


Copyright © 2000 - 2024 MantisBT Team
Copyright © 2012 - 2024 Project Vine
Powered by Mantis Bugtracker