D_msg - Dコマンドのメッセージ

[ 英語 | 日本語 ]

[Dホームページへ]

説明

Dコマンドは寡黙なプログラムで必要のないメッセージは出力しない。 しかし、それでもエラーメッセージに加えいくつかの警告メッセージもある。

メッセージのフォーマットは次のようになっている。

コマンド: メッセージテキスト.

command は、コマンドラインから入力したコマンド名。 メッセージテキストは以下にリストしたものである。

メッセージも出力もないとき

これがもっともやっかいな場合である。 バグだと疑うことも多いだろう。 しかし、それを疑う前に、チェックすべき事がある。

1. 入力待ちになっていないか?
著者でさえ、次のような間違いを時々おかす。

Djoin -o xx file-1 file-2
DfromLine file-1

いずれの場合も、必須引数が指定されていないため、 file-1をフィールド名と思って標準入力からの入力を待つことになる。
2. 正常に実行中ではないか?
たとえば、 DfdDfreqDmeans、 や Dsort は、全入力レコードを読んで処理をした後でないと出力を行わない。 入力ファイルがそれなりに大きければ、処理時間もそれなりにかかる。 小さいで同じコマンドを実行して、処理時間の目安をつけることは しばしば有効な方法である。
3. 本当にバグのとき。
著者にメールを書くか、 自分で直す。(ソースも公開されている。)

アルファベット順メッセージリスト

A
absolute position of the field field is not allowed in Dpack/Dunpack.
(Dコマンド: DpackDunpack)。 これらのコマンドの仕様である。フォーマット指定を間違えていないかチェックすること。
-a option must be 'f' or 'nXXX'.
(D-command: DfromXml)。 本コマンドの仕様による。 コマンド自体を間違えていないかチェックすること。
B
C
can't allocate necessary memory!
(Dコマンド: DedDprDselectDtailDupdate)。 プログラムの初期化またはDlの実行中に 何らかの理由でメモリの確保ができない。 通常、こういう事は起きないはずである。 したがってバグの可能性がある。 あるいは Dprで 非常に大きなページを出力しようとすると起きる。 この場合 -x-y に小さい値を指定してやると解決する(かもしれない)。
can't allocate storage for storage-name=size.
(Dコマンド: すべて)。 プログラム初期化時に、この名前の変数を割り当てようとして 割り当てられなかった。通常こうい事とは起きないはずである。
can't create tmpfile number.
(Dコマンド: Dsort)。 Dsort が、一時ファイルを割り当てようとして失敗した。 一時ファイル用ディレクトリのあるディスクが満杯の可能性が多い。 -TオプションやTMPDIRTEMP環境変数で与えたディレクトリが 適当でなかったかもしれない。
can't open file-name.
(Dコマンド: すべて)。 入力ファイル名を間違えるとでる、よく見るメッセージ。 あるいは、オプションの指定を間違えて入力ファイルにとられてしまった可能性もある。
can't resize storage-name
(Dコマンド: すべて)。 このメッセージがでるのは、メモリーに読み込めないほど大きなDレコードを処理 しようとした場合、あるいは、処理に要するメモリー量が足りない場合である。 たとえば、Djoinで同一キー値のレコードが 非常に多くあった場合などにおこる。 また、(まちがえて)存在しないフィールド名を 上記のコマンドに与えた場合にもおこる。 (全レコードがNULLキー値として扱われるため)。 本当に実行したいのならば、、システムの仮想記憶を拡げるという手はあるが、 あまり有効でないことがほとんどのようである。 バグで出たのでない限り、能力を超えていると考えて 迂回する方法を見つける方が効果的と思われる。
cfmt is not allowed with f option in the field field-name.
(Dコマンド: DfromLineDpackDtieDunpackDuntie)。 Dフォーマットの仕様である。
code error in D-file file-name(rec#).
(Dコマンド: すべて)。 入力Dファイルがカレントロケールのもとで正しいエンコーディングになっていない。 異なるロケールで作成されたDファイルを読んだときに起こる。 あるいは、誤ってバイナリファイルを読んだなどが考えられる。
code error in the type argument.
(Dコマンド: すべて)。 type引数がカレントロケールのもとで正しいエンコーディングに なっていない。これが起こるのは異なるロケールのもとで作られた シェルスクリプトを走らせた場合であろう。
code error in the option option.
(Dコマンド: すべて)。 option引数がカレントロケールのもとで正しいエンコーディングに なっていない。これが起こるのは異なるロケールのもとで作られた シェルスクリプトを走らせた場合であろう。
code error in the file file-name(line).
(Dコマンド: DedDgrepDfromLine, DfromCsv, Dselect)。 file-nameファイルのline行目に カレントロケールでエンコーディングの正しくない データがある。 これは DedDselectDl入力ファイル、 Dgrep のパターン入力ファイル、 または DfromLineDfromCsv, の入力ファイルで、 これらのファイルがテキストファイルでなかったり、 異なるロケールのもとで編集されたりした場合におこる。 あるいは、データがコード空間の未定義部分を、 私用文字として利用していた場合にもおこりうる。
D
-D name is unknown.
(Dコマンド: すべて)。 -Dは、name=valueという形式を取る。 nameを間違えたか、 形式を間違えたかであろう。 -Dの後ろのコマンド引数をチェックすること。
E
encoding name is not supported by iconv.
(D-command: DfromHtml)。 このエンコーディングは使えない。 nameを誤っていないか調べる。 あるいは、互換性があって使用可能なエンコーディング名称を探す。 使用できるエンコーディング名称は大抵のUNIXでは、 iconv -lコマンドで得ることができる。 WINDOWSの場合、README.txtファイルを参照のこと。
encoding name in the input file file name is not supported by iconv.
(D-command: DfromHtml)。 file nameの中にcharsetが指定されているが、これが使用できない。 誤ったcharset名でないならば、かなり希なものであろう。 エンコーディング名を-eオプションで与えることができる。 使用できるエンコーディング名称は大抵のUNIXでは、 iconv -lコマンドで得ることができる。 WINDOWSの場合、README.txtファイルを参照のこと。
end position and * conflicts in the format of the field field-name.
(Dコマンド: DfromLineDunpackDuntie)。 Dフォーマットの仕様である。 Dフォーマットの指定をどこかで間違えている可能性が大きい。
exclusive list is not allowed for -L/S option.
(Dコマンド: DunbundleDtie)。 リーディングフィールドアルゴリズムやシーケンスブレークアルゴリズムでは リーディングフィールドやフィールド順が明示されなければならないが 排他フィールドリストではこれができない。 リーフフィールドリストにすべてのフィールドを明示しなければならない。 D_lsa参照。 あるいは、フィールド名に"^"を含んでいるのなら、 "\"を使ってエスケープしなければならない。
exclusive list is not allowed in argument.
(Dコマンド: DfromHtmlDprDrenameDtoLineDuntie)。 識別用フィールド、フィールドフォーマットリスト、 フィールドリネームリストは 排他であってはならない。 オプションを間違えていないか確認する。 あるいは、フィールド名に"^"を含んでいるのなら、 "\"を使ってエスケープしなければならない。
F
field field-name cfmt has more than one % at file-name(rec#).
(Dコマンド: DfromLineDunpackDuntie)。 Dフォーマットの仕様による。 単にフォーマットの指定を間違えただけでないかチェックすること。
field field-name current position exceeds end position at file-name(rec#).
(Dコマンド: DtoLineDpackDtie)。 出力フォーマットにおいて、出力を行おうとしたところ、 カレントポジションが既にエンドポジションより大きかった。 出力フォーマット指定においてミスをした可能性が大きい。
field field-name end position is smaller than the start at file-name(rec#).
(Dコマンド: DfromLineDunpackDuntie)。 入六フォーマットにおいて、入力をしようとしたところ カレントポジションが既にエンドポジションを越えていた。 前のフォーマット指定を間違えた可能性が高い。
field field-name start position exceeds the end of line at file-name(rec#).
(Dコマンド: DfromLineDunpackDuntie)。 入力フォーマットにおいて入力しようとしたとき スタートポジションが行の終端より大きかった。 入力データが予定したものでなかったか、 カラムの計算を間違ったかした可能性が高い。 なお、文字位置はバイトでなく文字で数えられることに注意。
field field-name start position over at file-name(rec#).
(Dコマンド: DtoLineDpackDtie)。 出力フォーマットにおいて出力しようとしたとき スタートポジションが既に出力された行長より小さかった。 以前のフィールドでフォーマット指定を間違えた可能性が大きい。
field field-name truncated by the end of line at file-name(rec#).
(Dコマンド: DfromLineDunpackDuntie)。 入力フォーマットにおいて入力しようとしたとき 入力文字列が指定のエンドポジションより短かった。 入力行が考えていたものと違った、あるいは フォーマット指定のミスをした可能性が高い。
field-format-list is missing.
(Dコマンド: DfromLineDpackDunpackDuntie)。 必須コマンド引数field-format-listがない。 コマンド引数をチェックすること。
field-list is missing.
(D-command: DmeansDorderDproj)。 必須コマンド引数field-listがない。 コマンド引数をチェックすること。
field-list is required for -g/p.
(Dコマンド: Dpr)。 これらのフィールドリストはNULLリストではいけない。
field-name is missing.
(D-command: Duntie)。 必須コマンド引数field-nameがない。 コマンド引数をチェックすること。
field-rename-list is missing.
(D-command: Drename)。 必須コマンド引数field-rename-listがない。 コマンド引数をチェックすること。
f option of the field field-name is not allowed in Dpack/Dunpack.
(Dコマンド: DpackDunpack)。 これはDコマンドの仕様である。 フォーマット指定の中で間違っていないか確認すること。 あるいは-zオプションの中でf オプションを使っていないか確認する。
format delimiter or pattern matches null in the field field-name.
(Dコマンド: DfromLineDunpackDuntie)。 入力フォーマット中で delimiter/../)やpattern@..@) はNULL文字列にマッチしてはならない。 (そうでないとNULL文字列値ばかりしか読み込めない)。 たとえば/\ */(0個以上のスペース) はNULL文字列にマッチする。このような場合、 /\ +/(1個以上のスペース)を使用すること。 フォーマットの区切り字パターンをチェックすること。
format syntax error in the field field-name at 'char'.
(Dコマンド: DunbundleDfromLineDtoLineDpackDunpackDtieDuntieDpr)。 D_fmtのマニュアルを勉強すること。 -t オプションを使うことも有効である。
G
H
HTML read error in file name: detail.
(D-command: DfromHtml. file nameファイルの読み込み中、 detailで示されるエラーがあった。 これは通常、入力ファイルの文字コードエラーでおこる。 -eオプションで、入力ファイルを処理できる エンコーディング名を与えることができる。
I
input-file is missing.
(D-command: DjoinDpasteDupdate)。 必須コマンド引数input-fileがない。 key-field-listの指定を忘れたおそれがある。 Dpasteの場合、最低ひとつはinput-fileが必要である。 コマンド引数をチェックすること。
insufficient storage-name
(Dコマンド: すべて)。 現在のバージョンではこのメッセージは出ないはずである。 乞連絡 - 著者。
insufficient xmem(size) at file-name(rec#).
(Dコマンド: Dsort)。 file-namerec#番目のレコードが -D xmem=で与えられた(またはでフォールトの) メモリサイズに入らない。 xmemの値を大きくする。 あるいは入力ファイルが考えていたものと違っていないか?
invalid datautf value (value).
(Dコマンド: すべて)。 datautfの値は0、8、16または32でなければならない。 マイナスはidatautfでのみ使用可能。 Ddatautf環境変数および-D datautf=オプションをチェックすること。 UTF入出力機能参照。
invalid idatautf value (value).
(Dコマンド: すべて)。 idatautfの値は0、8、16、32、-16または-32でなければならない。 Didatautf環境変数および-D idatautf=オプションをチェックすること。 UTF入出力機能参照。
invalid left hand of '=' for Dselect.
(Dコマンド: DedDselect)。 代入演算をDselectの中で使えるのは VARまたはSTATICに対してのみである。
invalid odatautf value (value).
(Dコマンド: すべて)。 odatautfの値は0、8、16または32でなければならない。 マイナスはidatautfでのみ使用可能。 Dodatautf環境変数および-D odatautf=オプションをチェックすること。 UTF入出力機能参照。
invalid option -option
(Dコマンド: すべて)。 オプションをチェックすること。
J
K
key-field-list is missing.
(Dコマンド: DbundleDfreqDjoinDmaxDsortDupdate)。 必須コマンド引数key-field-listがない。 コマンド引数をチェックすること。
key sequence error, stop at file-name(rec#)!
(Dコマンド: DjoinDupdate)。 これらのコマンドでは、入力ファイルは与えられたキー順に なっている必要がある。 しかし、file-nameファイルのrec#番目のレコードで キー順が崩れていた。
L
leaf-field-list is missing.
(D-command: DtieDunbundle)。 必須コマンド引数leaf-field-listがない。 コマンド引数をチェックすること。
locale encoding name is not supported by iconv.
(Dコマンド: DfromHtmlDfromXml)。 レアケースであろう。 オペレーティングシステムのバージョンが古いことが考えられる。 ロケールの設定を他のものに変えることで何とかなるかもしれない。
M
missing '}' after … .
(Dコマンド: DedDselect)。 与えられたDlで '{'があるのに対応する'}'がない。 これらのトークンは空白文字で区切らなければならないことに注意。
missing arg after 'CONST' at … .
(Dコマンド: DedDselect)。 与えられたDl の最後の語が"CONST"であった。 連続行の間違いをしていないかチェック。 この語をリテラルとしてあるいはフィールド名として 使いたい場合、しかるべきキーワードの後ろに置くこと。
missing field name after 'FIELD' at … .
(Dコマンド: DedDselect)。 与えられたDl の最後の語が"FIELD"であった。 連続行の間違いをしていないかチェック。 この語をリテラルとしてあるいはフィールド名として 使いたい場合、しかるべきキーワードの後ろに置くこと。
missing variable name at … .
(Dコマンド: DedDselect)。 与えられたDl の最後の語が"STATIC"であった。 連続行の間違いをしていないかチェック。 この語をリテラルとしてあるいはフィールド名として 使いたい場合、しかるべきキーワードの後ろに置くこと。
N
-N must be prefix=URI.
(Dコマンド: DfromXml)。 コマンド引数をチェックすること。
new-field-name is missing.
(D-command: Dtie)。 必須コマンド引数new-field-nameがない。 コマンド引数をチェックすること。
no new field name for the field field-name.
(Dコマンド: Drename)。 フィールドリネームリストはold-name:new-name の形である。
O
OUTPUT is not allowed in Dselect.
(Dコマンド: Dselect)。 OUTPUTDselectでは使えない。
P
pattern is missing.
(D-command: Dgrep)。 必須コマンド引数patternがない。 コマンド引数をチェックすること。
pattern is not allowed in output format in the field field-name.
(Dコマンド: DunbundleDfromLineDtoLineDpackDunpackDtieDuntieDpr)。 フォーマットリストをチェックすること。 あるいはコマンド名を間違えていないかチェックすること。
program error (identifier).
(Dコマンド: DedDselect)。 乞連絡 - 著者。
Q
R
-r and -g is exclusive.
(Dコマンド: Dmeans)。 Dmeansの仕様による。 双方の結果がほしい場合、 -r指定 と -g指定 との2回実行すること。
record-number-list syntax error at position.
(Dコマンド: Dextract)。 レコード番号リストのミスタイプかコマンドのミスタイプであろう。
regular expression error (detail) in position
(Dコマンド: DedDfromLineDgrepDselectDunpackDuntie)。 正規表現パターンは必要な時点でコンパイルされる。 このコンパイル時detailで示されるエラーが起こった。 positionはエラーの起こったの正規表現、 ファイル名とレコード番号、 オプション名などを示す。
S
skips a NULL character in the file file-name(rec#).
(Dコマンド: DedDgrepDfromLineDselect)。 file-nameファイルのrec#番目の行でNULL文字が あったことを示す。その文字は無視される。 これがおこるのは Dgrepのパターンファイルや DfromLineの入力ファイルが テキストファイルでなかったか、異なるロケールで作成された場合であろう。 あるいはDedまたはDselectで、 file-nameが"QX operator"の場合、 QXのコマンドがNULL文字を出力している。
なお、入力DファイルにおけるNULL文字は報告されずに除去される事にも注意。
start > end error in the field field-name.
(Dコマンド: DunbundleDfromLineDtoLineDpackDunpackDtieDuntieDpr)。 field-nameフィールドの絶対位置指定が終了位置より大きい。 何かの間違いでしょう。
syntax error at the arguemnt number (value).
syntax error at the end of arguemnt (number).
syntax error at line number, char position.
(Dコマンド: DedDselect)。 Dlのシンタックスエラー。 フィールド名や定数と思っているものが予約語でないかチェックする。 演算子や括弧などにクォーティングの必要がないかチェックする。
-t delimiter matches null string.
(Dコマンド: DfromLineDunpackDuntie)。 入力フォーマットで -tオプションで与えた区切り字パターンは、 ほかの区切り字パターンやパターンと同様NULL文字列にマッチしてはならない。 (さもないと、NULL文字列値しか読み込めない。) たとえば/ */(0個以上のスペース) はNULL文字列にマッチする。このような場合、 / +/(1個以上のスペース)を使用すること。
T
tmpfile exhausted (number).
(Dコマンド: Dsort)。 このメッセージがでるのは一時ファイルの数が21176個をこえて 必要となったときである。ソートしているファイルはよほど大きいに違いない。 もし、本当にそうであればxmemを増やす必要がある。
too long -i fields!
(Dコマンド: Dpr)。 識別用フィールドが1ページの幅に入らない。 識別用フィールドが考えているようなものでない可能性はないか?
too small page size, stop!
(Dコマンド: Dpr)。 ページの高さ(-yオプション)がヘッダー行も入らない大きさである。 -yの値を増やすか、ヘッダー行を減らすこと。
U
unexpected eof after continuation line at file-name(rec#).
(Dコマンド: DfromLine)。 -cオプション付きで入力中、 入力ファイルの最後の行が連続行であった。 この最後の行は無視される。
unexpected eof in QUOTATION MARK at file-name(rec#).
(Dコマンド: DfromCsv)。 入力ファイル中でQUOTATION MARKが 閉じる前にEOFがあらわれた。
unknown key flag 'flag' in position.
(Dコマンド: DcatDfdDfreqDbundleDmeansDsortDjoinDupdateDpr)。 キーフラグは"b", "d", "f", "i", "n", "r"の組み合わせでなければならない。
unknown token word at … .
(Dコマンド: DedDselect)。 Dlの非予約語wordが予期せぬ場所に現れている。 キーワードをミスタイプした可能性が高い。
unknown qualifier.
(Dコマンド: DedDselect)。 Dlのフィールド名の後ろにCOLONでつけられるのは 数値限定子:nだけである。 これはキーフラグやフォーマットではない。
unterminated quotation from line number char position.
(Dコマンド: DedDselect)。 Dl入力ファイル中、クォーティングが閉じられていない。 QUOTATION MARK、APOSTROPHEまたはREVERSE SOLIDUSをどこかで ミスタイプしていないかチェックすること。
UTF is not supported in this locale (name)
(Dコマンド: DfromHtmlDfromXml)。 SOLARISオペレーティングシステムでは UTF入出力機能 の使用は制限されている。 UTF-8ロケールに変更すること。
V
W
with -c option, -o option's top must be '1'.
(Dコマンド: Djoin)。 Djoinのコアジョイン機能を用いる場合、第1ファイルを含まない出力指定は許されないという仕様になっている。
X
XML parser can't successfully parse file name.
(Dコマンド: DfromXml)。 file nameは正しいxmlファイルではない。 間違ったファイルを指定したのかもしれない。 XMLがわかっていれば、何らかのツールで直すことができるかもしれない。 わかっていなければ、本で勉強するか、人に聞く。
XML read error in file name: detail.
(D-command: DfromHtml, DfromXml). file nameファイルの読み込み中、 detailで示されるエラーがあった。 これは通常、入力ファイルの文字コードエラー または、必須の外部リソースがあることによっておこる。 文字コードエラーの場合、 -eオプションでエンコーディング名を与えることができる。 外部リソースの場合、普通無視できる。 もし、必要な部分が外部リソースにある場合、 別途その外部リソースを入手して処理する必要がある。
XPath error: detail.
(D-command: DfromHtml, DfromXml)。 -p Xpathを解析中にdetailで示されるエラーが発生。 正しいXpath式にすること。
XPath evaluation error in file name: detail.
(D-command: DfromHtml, DfromXml)。 XPath式をfile nameファイル中で検索中 detailで示されるエラーが発生。
Y
Z
-z option error 'character'.
(Dコマンド: DunbundleDfromLine, DtoLine, DpackDunpackDtieDuntieDpr)。 フォーマットオプションが正しくない。 D_fmt参照。
zero division at file-name(rec#).
(Dコマンド: DedDselect)。 Dl式の評価中、ゼロによるわり算が発生。 もしfile-namerec#とがでていない場合、 実行前の定数評価中に発生している。
zero length field repeats in the field field-name.
(Dコマンド: DfromLineDunpackDuntie)。 入力フォーマットのlengthはリピートのない場合のみゼロで あり得る。さもなければ、ループしてしまう。

参照

Dintro

AUTHOR

MIYAZAWA Akira


miyazawa@nii.ac.jp
2003-2007