Up: FreeBSD JPMAN Project | Prev: 2. 入手方法と使い方 | Next: 4. 協力者


3. トラブルシュート

インストールや使い方などに関しての疑問に答えます。

FreeBSD QandA も参考にしてください。 以下の項目にも当てはまらない場合は、是非 man-jp@jp.FreeBSD.ORG まで報告して下さい。 その他、バグレポートやご要望なども jpman Projectまで連絡 していただければ幸いです。 1 バイトの更新でも大歓迎です。


(Q) HTML 版のマニュアルページ (検索ページの検索結果) で、 行末のハイフンが消えてしまっているものがあります。 例えば ssh-keygen.1 などで

                                   および FreeBSD jpman プロジェクト <man
     jp@jp.FreeBSD.org> までお送りください。
と表示されます。

(A) 5.0-RELEASE 用の日本語マニュアルから、直っています。


(Q) jman が LC_ALL, LC_CTYPE, LANG に無関係に常に日本語マニュアルを 検索してしまいます。例えば LANG=C に設定して jman を実行しても、 日本語マニュアルを表示しようとしているようです。

(A) ja-man-1.1j_3 の問題です。 ja-man-1.1j_4 では解決されています。

また、jman(1) 等での環境変数 LC_ALL, LC_CTYPE, LANG に関する記述が曖昧です。 実際には、LC_ALL, LC_CTYPE, LANG をこの順番に調査し、 最初に存在する環境変数に設定されている値を使用します。

下記のjman jman として日本語が出ない、 または化けます。」も参考にしてみてください。


(Q) jman -a getopt が、日本語のマニュアルだけしか表示しないようです。 英語のマニュアルも表示して欲しいのですが…

(A) ja-man-1.1j_2 では、このような制限がありました。 ja-man-1.1j_3 以降では、日本語マニュアルと英語マニュアルの両方を表示します (LANG 等を ja_JP.eucJP に設定している場合)。


(Q) jman の表示がくずれてしまいます。 ifconfig のように、「書式」が複数あるマニュアルを表示すると 改行処理が正しく行われません。 また、複数行に及ぶマニュアルではインデントが乱れてしまいます。

    IFCONFIG(8)             FreeBSD System Manager's Manual            IFCONFIG(8)

    名称
         ifconfig - ネットワークインタフェースのパラメータの設定を行なう

    書式
         ifconfig [-L] interface [address_family] [address [dest_address]]
         [parameters] ifconfig -a [-L] [-d] [-u] [address_family] ifconfig -l [-d]
         [-u] [address_family] ifconfig [-L] [-d] [-u]

(A) groff を ja-groff-0.100_3 に更新してください。 最近のマニュアルエントリ (原文とそれに追従している訳文とも) には以前の mdoc(7) マクロ (以前の ja-groff に 含まれている) では正常に整形できない修正が行われているため、 ja-groff を更新する必要があります。 インストール後、

	# rm -f /usr/share/man/ja/cat*/*

で古い整形済みファイルを削除してください。


(Q) 2000 年 12 月初旬以降の CURRENT や RELENG_4 で、 jman の表示がくずれてしまいます。 mv.1 等でマニュアルのヘッダが出ません。

    $ jman mv

        1  番目の書式の場合、ユーティリティはオペランドで指定される名前の
        ファイルの名前を、オペランドで指定される名前のデスティネーショ ン

(A) 2000 年 12 月初旬以降の CURRENT や RELENG_4 では、 groff を -man ではなく、-mandoc で起動する必要があります (groff 1.17 import 後には、-man が使用可能となるかもしれません)。 ports/japanese/man を ja-man-1.1h_1 以降 (ja-man-1.1i でも OK) にして ports/japanese/man から make install し直すと、 jman は -mandoc を使用して groff を起動するようになります。 インストール後、

	# rm -f /usr/share/man/ja/cat*/*

で古い整形済みファイルを削除してください。


(Q) ja-man-1.1g が次のようなエラーで停止します。

	$ jman jman 
	jman: unable to make sense of the file /etc/manpath.config

(A) ja-man-1.1g またはそれより古いものを 3.3-RELEASE 以降 (正確には 8 月 21 日以降の FreeBSD RELENG_3) で使用されているのでしょう。 この問題を解決した ja-man-1.1h (以降) を使用してください

(A. 日本語マニュアル/ソフトウェア取得 から取得できます)。


(Q) jman -t csh | lpr と入力して PostScript として印刷しようとしたのですが、 どうもページの下の方が欠けて印刷されてしまいます。 A4 の紙の長さ以上に印刷しようとしているみたいです。 man -t csh だとそんなことはなく、 きちんと A4 の紙の下の方にはフッタが印字されます。

(A) ja-groff-0.99 の groff マクロのバグです。 最新の ja-groff-0.99 では直っていますので、インストールしなおしてください。

(A. 日本語マニュアル/ソフトウェア取得 から取得できます)。


(Q) 以下のようなエラーが出て、マニュアルの途中までしか表示されません。 どうも、日本語を含む表のフォーマットができていないようです。

	gtroff: Failed assertion at line 1937, file `env.cc'.
	/usr/local/bin/groff: gtroff: Abort trap

(A) ja-groff-0.99 での、パッチのバグです。 最新の ja-groff-0.99 では直っていますので、インストールしなおしてください。

(A. 日本語マニュアル/ソフトウェア取得 から取得できます)。


(Q) ports から ja-man-doc-2.2.2g インストール時に以下のようなエラーが出ます。

	env: /usr/ports/japanese/man/pkg/INSTALL: Permission denied

または

	env: /usr/ports/japanese/man-doc/files/install-man: Permission denied

(A) ports-current が想定している bsd.port.mk と /usr/share/mk/bsd.port.mk のバージョンが異なるのが原因です。 最新の /usr/share/mk/bsd.port.mk を /usr/share/mk にインストールして下さい (2.1.7.1-RELEASE をご使用の場合は Branch: RELENG_2_1 の最新を選ぶ等、適切な Branch のものを選択してください)。


(Q) jman jman として日本語が出ない、または化けます。

(A) 様々な原因が考えられます。 次のようにしてみてください。


(Q) jman コマンド使用時に以下のエラーが出ます。

	$ jman ls
	Formatting page, please wait...grotty:<standard input>:1: can't find `DESC' file
	grotty:<standard input>:1:fatal error: sorry, I can't continue
	Done.
	(END)

もしくは

	$ jman -t jman
	grops:<standard input>:14: can't find font file `G'
	grops:<standard input>:14:fatal error: sorry, I can't continue
	Error executing formatting or display command.
	system command exited with status 256
	No manual entry for jman

(A) ja-groff-0.99 が古い場合、環境変数 PATH において /usr/bin が /usr/local/bin より先の場合、 /usr/bin/gro{dvi,tty,ps} が /usr/local/bin/gro{dvi,tty,ps} より先に検索されるのが原因です。

解決方法として二通りの方法が有りますが、前者をお勧めします。

(ja-groff-0.99 は、 A. 日本語マニュアル/ソフトウェア取得 から取得できます)。


(Q) ls.1 等でマニュアルのヘッダが出ません。

(A) roff マクロと、日本語オンラインマニュアルの項目名とが不一致であることが原因です。 最新の groff ports にて対応済みですので、 最新の groff ports を使用して下さい。

(ja-groff-0.99 は、 A. 日本語マニュアル/ソフトウェア取得 から取得できます)。


(Q) packages からインストールした jman コマンドが以下のようなメッセージを出力します。

	ld.so failed: Can't find shared library "libxpg4.so.2.0"

(A) 現在配布されている ja-man-1.1c 〜 ja-man-1.1h の packages は FreeBSD 2.2 以降でしか御使用になれません。 お使いの FreeBSD が 2.2 より古いことが原因でしょう。 ports を使用してインストールして下さい。


(Q) make の途中で以下のようなメッセージが出た後、エラーとなります。

	>> Couldn't fetch it - please try to retrieve this
	>> port manually into /usr/ports/distfiles/ and try again.

(A) ports に必要なファイルが置いてある FTP サーバにアクセスできないことが原因です。 ネットワークに接続されていないマシンの場合には、以下のようにして下さい。

  1. 必要なファイルを調べる。
    make fetch-list とすれば分かります
  2. ネットワークに接続している別のマシンにおいて、必要なファイルを FTP get する。
  3. 必要なファイルを /usr/ports/distfiles/ に置く。

本件に関して詳しいことは FreeBSD ハンドブックの 4.2.7 を御覧下さい。


(Q) 2.2 より前の FreeBSD において、 /usr/ports/japanese/man で make 中に次のようなエラーがでます。

	ld: -lxpg4: no match

(A) make 時に -DNOUSE_XPG4LIB を付けなかったことが原因です。 以下の手順で make し直して下さい。

  1. /usr/ports/japanese/man にて make clean を実行する。
  2. /usr/ports/japanese/man にて make -DNOUSE_XPG4LIB install または make -DNOUSE_XPG4LIB package を実行する。

(Q) 2.2 より前の FreeBSD において、 /usr/ports/japanese/man で make 中に次のようなエラーがでる。

	/usr/share/tmac/tmac.an: not found

(A) ports-current が想定している bsd.port.mk と /usr/share/mk/bsd.port.mk のバージョンが異なるのが原因です。 最新の /usr/share/mk/bsd.port.mk を /usr/share/mk にインストールして下さい(2.1.7.1-RELEASE をご使用の場合は Branch: RELENG_2_1 の最新を選ぶ等、適切な Branch のものを選択してください)。 make は、例えば以下の手順で行って下さい。

  1. /usr/ports/japanese/man にて make clean を実行する。
  2. /usr/share/mk/bsd.port.mk を更新する。
  3. /usr/ports/japanese/man にて make install または make package を実行する。

注意: /usr/share/mk/bsd.port.mk を更新したことにより、 次のようなエラーが生じる場合があります。

	# make clean
	make: don't know how to make clean. Stop

これは /usr/ports/japanese/man が依存する /usr/ports/japanese/{groff, less} 等の ports が無いことが原因です。これらの ports を用意するか、 # make -DNOCLEANDEPENDS cleanmake clean のかわりに使用して下さい。


(Q) packages の依存関係が正しく登録されません。

(A) 以下の表示がされる場合には packages の依存関係が正しく登録されていません。

  1. /usr/ports/japanese/man もしくは /usr/ports/japanese/man-doc で packages 作成時、すなわち # make package した時に次のように表示される場合:
    	Registering depends: *** Error code 1 *** Error code 2 Stop. ja-man-1.1c.
          
  2. 自分で作成した packages を pkg_add する時、すなわち # pkg_add ja-man-doc-2.2.2g.tgz した時に次のように表示される場合:
    	Warning: Can't open dependency file '/var/db/pkg/***/+REQUIRED_BY'!
    	        Dependency registration is incomplete.
    	Warning: Can't open dependency file '/var/db/pkg/Error/+REQUIRED_BY'!
    	        Dependency registration is incomplete.
    	Warning: Can't open dependency file '/var/db/pkg/code/+REQUIRED_BY'!
    	        Dependency registration is incomplete.
    	Warning: Can't open dependency file '/var/db/pkg/1/+REQUIRED_BY'!
    	        Dependency registration is incomplete.
    	Warning: Can't open dependency file '/var/db/pkg/***/+REQUIRED_BY'!
    	        Dependency registration is incomplete.
    	Warning: Can't open dependency file '/var/db/pkg/Error/+REQUIRED_BY'!
    	        Dependency registration is incomplete.
    	Warning: Can't open dependency file '/var/db/pkg/code/+REQUIRED_BY'!
    	        Dependency registration is incomplete.
    	Warning: Can't open dependency file '/var/db/pkg/2/+REQUIRED_BY'!
    	        Dependency registration is incomplete.
    	Warning: Can't open dependency file '/var/db/pkg/Stop./+REQUIRED_BY'!
    	        Dependency registration is incomplete.
          
  3. 自分で作成した packages を pkg_delete する時、すなわち、 # pkg_delete ja-man-doc-2.2.2g した時に次のように表示される場合:
    	Couldn't open dependency file `/var/db/pkg/***/+REQUIRED_BY'
    	Couldn't open dependency file `/var/db/pkg/Error/+REQUIRED_BY'
    	Couldn't open dependency file `/var/db/pkg/code/+REQUIRED_BY'
    	Couldn't open dependency file `/var/db/pkg/1/+REQUIRED_BY'
    	Couldn't open dependency file `/var/db/pkg/***/+REQUIRED_BY'
    	Couldn't open dependency file `/var/db/pkg/Error/+REQUIRED_BY'
    	Couldn't open dependency file `/var/db/pkg/code/+REQUIRED_BY'
    	Couldn't open dependency file `/var/db/pkg/2/+REQUIRED_BY'
    	Couldn't open dependency file `/var/db/pkg/Stop./+REQUIRED_BY'
          

これは、make package 時に ports が依存している他の ports のディレクトリが存在しないことが原因です。 /usr/ports/japanese/man と /usr/ports/japanese/man-doc は次の ports に依存しています:

解決策は、/usr/ports/japanese/groff および /usr/ports/japanese/less 以下の ports も用意することです。 その後で、次のようにしてください。

  
	# cd /usr/ports/japanese/man
	# make clean package
	# pkg_delete ja-man-1.1c
	# pkg_add /usr/ports/packages/All/ja-man-1.1c.tgz
	# cd /usr/ports/japanese/man-doc
	# make clean package
	# pkg_delete ja-man-doc-2.2.2g
	# pkg_add /usr/ports/packages/All/ja-man-doc-2.2.2g.tgz
   

pkg_delete 時の Couldn't open dependency file のメッセージは無視して下さい。


このページの最終更新日 $Date: 2003/06/27 06:54:56 $
Copyright (C) 1997, 1998, 1999, 2001, 2002, 2003 Jpman Project All Rights Reserved.
連絡先: man-jp@jp.FreeBSD.org