[ << ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
CVS の使用に問題があれば、この付録が役立つかもしれません。特定の エラーメッセージが出ているなら、そのメッセージをアルファベット順に探す ことができます。そうでない場合は、他の問題の章を眺めて説明されているか どうかを知ることができます。
F.1 エラーメッセージの部分的一覧 | CVS のエラーの部分的一覧 | |
F.2 CVS サーバに接続をしようとするときの問題 | ||
F.3 他のよくある問題 |
これは CVS で起こるかもしれないエラー・メッセージの部分的な一覧で す。完全な一覧ではありません--CVS はたくさん、たくさんのエラー・ メッセージを印字する能力があり、しばしば一部分はオペレーティング・シス テムにより提供されます。しかし、ここでの意図はよくあるもの、混乱する可 能性のあるエラー・メッセージの、両方もしくはどちらかにあてはまるものの 一覧を挙げることです。
メッセージはアルファベット順ですが、`cvs update: ' のような前置き の文章は順番にするときには省かれています。
この一覧は古いバージョンの CVS で印字されるメッセージがある場合も あります (使用者は特定の時にどのバージョンの CVS を使用しているか を必ずしも知らないというのが理由の一つです)。
cvs command: authorization failed: server host rejected access
これは pserver のサーバに接続しようとして、それが特定の理由を教えるこ
となく認証を拒否することを選んだときの一般的な反応です。指定された使用
者名とパスワードが正しいことと、指定された CVSROOT
が
`inetd.conf' の `--allow-root' で使用可になっているこを確認
してください。
file:line: Assertion 'text' failed
システムによってこのメッセージの正確な形式は異なります。これは CVS のバグを示し、CVS かこのマニュアルのバグに対処する で説明されているように扱うことができ ます。
cvs command: conflict: removed file was modified by second party
このメッセージは、あなたがファイルを消去し、誰か別の人がそれを修正した ということを示します。衝突を解消するために、まず `cvs add file' を実行します。それが望まれていれば、他の人々の修正を見てま だそれを消したいかどうかを決定します。消したくなければ、ここで止めます。 消去したければ、 `cvs remove file' を実行して、削除を格納し ます。
cannot change permissions on temporary directory
Operation not permitted |
このメッセージは、Red Hat Linux 3.0.3 と 4.1 でクライアント/サーバのテ
スト一式を実行しているときいに、再現不可能な方法でときどき発生しました。
我々は何がそれを起こしたのか、また linux (もしくは、このマシンそのもの!)
に特有かどうかも分かりません。他の unix でも問題が発生した場合は、おそ
らく `Operation not permitted' は `Not owner' や当のシステム
が unix の EPERM
エラーで使用している他のものになっているでしょ
う。追加の情報があれば、CVS かこのマニュアルのバグに対処する で説明されているように我々に知らせ
てください。もし CVS を使用していてこのエラーを経験したときは、そ
れを発生させた操作をもう一度繰り返すとちゃんと動作するでしょう。
cvs [server aborted]: Cannot check out files into the repository itself
このメッセージの明らかな原因は (特にクライアント/サーバでない CVS
のときは)、CVS のルートが例えば `/usr/local/cvsroot' で、
`/usr/local/cvsroot/test' のようなサブディレクトリにファイルを取
り出そうとしたことです。しかしながら、サーバの一時ディレクトリがルート
のサブディレクトリに設定されている (これも許可されていません) というよ
り微妙な場合もあります。これが問題の原因であるなら、一時ディレクトリを
別のところに設定してください。例えば、`/var/tmp' に。一時ディレク
トリの設定のしかたは、CVS に影響する全ての環境変数 の TMPDIR
を
参照してください。
cannot open CVS/Entries for reading: No such file or directory
これは一般的に CVS の内部エラーを示し、他の CVS のバグと同様 に扱うことがきます (see section CVS かこのマニュアルのバグに対処する)。たいていの場合、対策があります--正 確な方法は状況に依りますが、おそらく見付け出すことができるでしょう。
cvs [init aborted]: cannot open CVS/Root: No such file or directory
このメッセージは無害です。もし他のエラーと一緒にでなければ、操作は成功 しています。現在のバージョンの CVS では出ないはずですが、CVS 1.9 以前のために説明されています。
cvs [checkout aborted]: cannot rename file file to CVS/,,file: Invalid argument
このメッセージは Solaris 2.5 上での CVS 1.9 でときどき発生することが報 告されています。原因は不明です。原因についてさらに知っていれば、 CVS かこのマニュアルのバグに対処する で説明されているように我々に知らせてください。
cvs [command aborted]: cannot start server via rcmd
この残念ながらあまり詳しくないメッセージは、CVS のクライアントを
実行していてサーバとの接続に問題があったときに CVS 1.9 が印字しま
す。現在のバージョンの CVS はもっと詳しいエラーメッセージを印字す
るようになっています。クライアントを実行しようとはしていないのにこのメッ
セージが出たときは、おそらく リポジトリ で説明されている方法で
:local:
を指定することを忘れたのでしょう。
ci: file,v: bad diff output line: Binary files - and /tmp/T2a22651 differ
CVS 1.9 以前は RCS が正しくインストールされていないときにバイナリ ファイルを格納しようとしたときにこのメッセージを印字します。RCS の配布とともに取得している指示をもう一度読んで、CVS 配布の INSTALL ファイルを読んでください。代替法として、RCS を経由し ないで自分自身でファイルを格納する現在のバージョンの CVS に変更す ることもできます。
cvs checkout: could not check out file
CVS 1.9 では、これは co
プログラム (RCS プログラムの一部で
す) が失敗の値を返したということです。他のエラーメッセージがその前にあ
るはずですが、別のエラーメッセージなしに発生することも確認されており、
原因はよくわかっていません。現在のバージョンの CVS は co
を実行
しないので、このメッセージが別のエラーメッセージとともに現れなければ、
それは間違いなく CVS のバグです (see section CVS かこのマニュアルのバグに対処する)。
cvs [update aborted]: unexpected EOF reading file,v
`EOF in key in RCS file' を参照。
cvs [login aborted]: could not find out home directory
これはホームデレクトリの位置を特定するために CVS が使用する環境変数を
設定する必要があるということです。CVS に影響する全ての環境変数 の
HOME
, HOMEDRIVE
, HOMEPATH
の議論を参照してくださ
い。
cvs update: could not merge revision rev of file: No such file or directory
CVS 1.9 以前は rcsmerge
プログラムを見つけるときに問題が発生し
たときにこのメッセージを印字します。それが PATH
にあることを確
認するか、外部 rcsmerge
プログラムを必要としない現在のバージョ
ンの CVS に更新してください。
cvs [update aborted]: could not patch file: No such file or directory
これは patch
プログラムの探索に問題があったということです。それ
が PATH
上にあるとを確認してください。メッセージの外観とは違っ
て、file を見つけるかどうかについて言っているのではないこ
とに注意してください。クライアントとサーバが現在のバージョンの
CVS を実行しているなら、外部 patch プログラムは必要ではなく、この
メッセージを見ることはないでしょう。しかし、クライアントかサーバが
CVS 1.9 を実行していれば、patch
が必要です。
cvs update: could not patch file; will refetch
これは、何らかの理由により、クライアントはサーバが送った patch を適用 できなかったということです。メッセージは心配するようなものではありませ ん。これは、patch の適用ができなかったというのはちょっと作業を遅らせる だけで、CVS が実行することには影響しないからです。
dying gasps from server unexpected
CVS 1.9.18 以前のサーバにはこれを発生する既知のバグがあります。私 は、`-t' 広域オプションを使用しているときに再現可能です。もし興味 があれば、それは Andy Piper の1997年11月4日の src/filesubr.c への変更 で修正されました。このメッセージが出たときは、おそらく失敗した操作をた だもう一度試すことができます。また、この原因に関して情報を発見したなら、 CVS かこのマニュアルのバグに対処する に書かれているように我々に知らせてください。
end of file from server (consult above messages if any)
このメッセージの一番多い原因は、外部 rsh
プログラムを使用してい
て、それがエラーを出して終了するというものです。この場合 rsh
プログラムは、上のメッセージの前にメッセージを印字しているはずです。
CVS のクライアントとサーバの設定の情報は 別のマシンのリポジトリ を参照してください。
cvs commit: Executing 'mkmodules'
これはリポジトリが CVS 1.8 より前のバージョンの CVS で設定さ れているということです。CVS 1.8 以降を使っていると、上記のメッセー ジの前に以下のものがでます。
cvs commit: Rebuilding administrative file database |
両方のメッセージが表示されれば、データベースは2回再構築されていて、こ
れは不必要ですが、無害です。重複を避けたくて、CVS 1.7 以前を使っ
ていないなら、modules
ファイルにある全ての -i mkmodules
を消してください。modules
ファイルの情報は The modules file を参照
してください。
missing author
普通これは使用者名が空の RCS ファイルを作成したときに発生します。CVS は、間違って author 部分に値のない不正な RCS ファイルを作成します。解 決策は、使用者名が空でないことを確認して、RCS フィルを再作成することで す。
*PANIC* administration files missing
これは普通は CVS という名前のディレクトリがあるけれど、CVS が CVS ディ レクトリに置く管理ファイルがないということです。もし問題が CVS 以外の 何らかの機構で CVS ディレクトリを作ったというものであれば、CVS 以外の 名前を使ってください。もしそうでなければ、それは CVS のバグを示してい ます (see section CVS かこのマニュアルのバグに対処する)。
rcs error: Unknown option: -x,v/
このメッセージの後には RCS の使用法のメッセージが続きます。それは 古いバージョンの RCS (おそらくオペレーティングシステムと共に提供 されたものでしょう) があるということです。CVS は RCS バージョン 5 以降でのみ動作します。
cvs [server aborted]: received broken pipe signal
これは、CVS かそれが実行されているシステムの追跡が困難なバグ (良 く判っていません--我々はまだ追いかけていません!) により発生するようで す。CVS コマンドが完了した後でのみ発生するようで、メッセージは無 視できます。しかしながら、その原因に関する情報を発見したなら、 CVS かこのマニュアルのバグに対処する で説明されているように我々に知らせてください。
Too many arguments!
このメッセージは普通は CVS のソース配布の `contrib' ディレク トリにある `log.pl' スクリプトにより印字されます。CVS のバー ジョンには、`log.pl' が既定の CVS インストールに含まれている ものもあります。`log.pl' スクリプトは `loginfo' 管理ファイル から呼ばれます。`loginfo' で渡されている引数があなたのバージョン の `log.pl' が期待するものとあっているか調べてください。特に、 CVS 1.3 以前の `log.pl' はログファイルを引数として期待します が、CVS 1.5 以降の `log.pl' はログファイルは `-f' オプ ションで指定されることを期待します。もちろん、`log.pl' が必要でな ければ、`loginfo' 中で註釈にして、使用しないようにすることができ ます。
cvs [login aborted]: unrecognized auth response from server
このメッセージは普通はサーバが適切に設定されていないことを意味します。 例えば、`inetd.conf' が存在しない cvs 実行ファイルを指していると きです。これをデバッグするためには、inetd が書くログファイル (`/var/log/messages' やあなたのシステムの inetd が使うその他のも の) を見つけてください。詳細は CVS サーバに接続をしようとするときの問題 と パスワード認証のためのサーバの設定 参照。
cvs commit: Up-to-date check failed for `file'
これはあなたが最後に cvs update
を実行した後に誰かが変更を格納
したということです。ですから、cvs commit
を継続する前に
cvs update
をする必要があります。CVS はあなたのした変更と他の人
がした変更をマージします。衝突が発見されなれば、`M cacErrCodes.h'
のように報告され、cvs commit
を実行する準備が整っています。もし
衝突が発見されれば、その由を印字し、`C cacErrCodes.h' と報告され、
手で衝突を解消する必要があります。この過程の詳細は 衝突の例 を参照してください。
Usage: diff3 [-exEX3 [-i | -m] [-L label1 -L label3]] file1 file2 file3
Only one of [exEX3] allowed |
これは diff3
と rcsmerge
のインストールに問題があること
を示しています。特に rcsmerge
は GNU diff3 を探すようにコンパイ
ルされているけれど、代わりに unix の diff3 が使われています。一番簡単
な解決法は外部の rcsmerge
や diff3
プログラムに頼らない
現在のバージョンの CVS に更新することです。
warning: unrecognized response `text' from cvs server
もし text が有効な応答 (`ok' のようなもの) で、続きに余分な キャリッジリターンがあると (多くのシステムではこれはメッセージの2番目 の部分が1番目の部分を上書きします)、おそらく、既定では透過的なデータス トリームを提供しない、多くの unix でない rsh のバージョンで `:ext:' 接続方法を使用としているのでしょう。その様な場合はたぶん `:ext:' の代わりに `:server:' を試みるのが良いでしょう。 text が何か他のものなら、CVS サーバに問題があることを表します。 CVS サーバを設定するための指示を見てインストールを再度確認してください。
cvs commit: [time] waiting for user's lock in directory
これは普通のメッセージであり、エラーではありません。詳細は 同時に CVS の実行を試みる複数の開発者 参照。
cvs commit: warning: editor session failed
これは CVS が使用しているエディタが非零の値で終了したということで
す。vi のバージョンにはファイルの編集に問題がなかったときでさえそうす
るものがあります。もしそうなら、環境変数 CVSEDITOR
を以下のよう
な小さなスクリプトを指すようにしてください:
#!/bin/sh vi $* exit 0 |
この章は CVS サーバに接続しようとしたときに問題が起こったときに何 をすれば良いかということを書いています。 Windows で CVS コマンド ライン・クライアントを実行しているなら、まず CVS 1.9.12 以降に更 新してください。以前のバージョンのエラー報告は、問題がどうであったかに ついて、ほとんど情報を提供しません。クライアントが Windows でなければ、 CVS 1.9 は問題ありません。
問題を追いかけるためにエラー・メッセージが十分でなければ、次の手段は使 用している接続方法によってかなり異なります。
:ext:
コマンド行からの rsh プログラムの実行を試してください。例えば: "rsh servername cvs -v" は CVS のバージョン情報を印字します。もしこれ が動作しなければ、CVS の問題を気にする前にそれを修正する必要があ ります。
:server:
この接続方法を使用するためにコマンド行の rsh プログラムは必要ではあり ませんが、rsh プログラムがあれば、デバッグ道具として役に立つでしょう。: ext: のところの指示に従ってください。
:pserver:
良いデバッグ道具は "telnet servername 2401" です。接続後、任意のテキス ト (例えば、"foo" リターン)。CVS が正しく動作していれば、以下のよ うに反応するはずです。
cvs [pserver aborted]: bad auth protocol start: foo |
これの動作に失敗すれば、inetd が正しく動作しているか確認してください。 `inetd.conf' での起動を cvs の代わりに echo プログラムに変更して ください。例えば:
2401 stream tcp nowait root /bin/echo echo hello |
その変更をして、inetd に設定ファイルを再読み込みするように指示した後で は、"telnet servername 2401" はテキスト hello を表示して、サーバが接続 を切るはずです。これが動作しなければ、CVS の問題を気にする前にそ れを修正してください。
AIX システムでは、システムにポート 2401 を使おうとするプログラムがあり ます。これは、ポート 2401 は CVS での使用に登録されているという点 で AIX の問題です。この問題を解決するために AIX のパッチがあるというこ とを聞いたことがあります。
他の良いデバッグツールは inetd に `-d' (debugging) オプションを付 けることです。詳しい情報はシステムの説明文書を調べてください。
接続はできているようですが、次のようなエラーが出る場合は:
cvs server: cannot open /root/.cvsignore: Permission denied cvs [server aborted]: can't chdir(/root): Permission denied |
`inetd.conf' で `-f' を指定しなかったか、inetd により実行さ
れているプログラムの HOME
環境変数をシステムが設定しているとい
うことです。後者の場合は、 inetd に HOME
を未設定にして
CVS を実行するシェルスクリプトを実行させるようにするか、CVS
を純粋な環境で実行するために env
を使うことができます。
これは上の分類には合わない問題の一覧です。順番には特に意味はありません。
Windows で、CVS コマンドを実行したときに30秒くらいの遅れがあると
きは、ホームディレクトリが例えば `C:/' に設定されているということ
かもしれません (CVS に影響する全ての環境変数の HOMEDRIVE
と
HOMEPATH
参照)。 CVS はホームディレクトリがスラッシュで終わらな
いことを期待しています。例えば、`C:' や `C:\cvcs' です。
CVS 1.9.18 以前を実行していて、衝突の例 で説明され
ているように、cvs update
が衝突を発見し、マージを試みたけれど、
衝突があることを報告しなかったら、RCS の古いバージョンが存在しま
す。一番簡単な解決は、おそらく外部 RCS プログラムを使用しない現在
のバージョンの CVS に変更することです。
[ << ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
This document was generated by Akihiro Sagawa on June, 15 2005 using texi2html 1.70.