[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[FDclone-users:00081] Re: AIX でのコンパイルエラーについて
- Subject: [FDclone-users:00081] Re: AIX でのコンパイルエラーについて
- From: SHIOTA Shoichi <Shoichi.Shiota@lightwell.co.jp>
- Date: Wed, 05 Feb 2003 12:58:34 +0900
潮田です。
Takashi SHIRAI <shirai@unixusers.net> wrote:
> しらいです。
> AIX 対応は確か 4.1 で終わっていたと思います。その後はユー
> ザからの報告が無いので support 出来ていません。
そうでしたか。
では、事後ですが AIX 3.2.5, 4.2.2, 4.2.3, 5.1.0 で使用させて
いただいました(一部は、います)。
4.2.3 と 5.1.0 は、このスレッドの開始で書きました状態です。
ファイルのタイムスタンプの操作がメインなので、あの状態でも
使用させてもらってます。
(オリジナルの FD でも、そのために使用していました)
> 実際に動くかどうかはともかく、compile 用の対処としては下記
> patch のようにすべきなんじゃないかと思います。
> AIX 4.1 からの類推で「_AIX43」という識別子が有効になってい
> ると過程しましたが、もしそうでないならそれに相当する識別子を
> 見つけ出して下さい。「cc -E -v config.h」で確認出来ないでし
> ょうか?
(省略)
> +# define STATFSARGS 4
> # endif
> #endif
> ---- Cut Here ----
FD-2.02a.tar.gz を展開し、示された変更だけを加えて make した
ところ、以下のようなエラーでとまりました。
$ make
cp config.hin config.h
cc -DFD=2 -O -DCCCOMMAND='"cc"' -o mkmfsed mkmfsed.c
./mkmfsed > mkmf.sed
sed -f mkmf.sed Makefile.in > Makefile.tmp || (rm -f Makefile.tmp; exit 1)
make SHELL=/bin/sh -f Makefile.tmp
cc -DAIX=1 -O -o kanjicnv kanjicnv.c
(省略)
cc -DFD=2 -DAIX=1 -O -c -o system.o -DDEFRUNCOM='"'/etc/fd2rc'"' system.c
"system.c", line 2571.9: 1506-007 (S) "union wait" が定義されていません。
"system.c", line 2603.18: 1506-285 (S) 不完全な構造体または共用体へのポインターに間接演算子を適用することはでき
ません。
"system.c", line 2668.27: 1506-099 (S) 使用している引数が正しくありません。
"system.c", line 2674.31: 1506-099 (S) 使用している引数が正しくありません。
"system.c", line 2693.9: 1506-007 (S) "union wait" が定義されていません。
"system.c", line 9754.24: 1506-099 (S) 使用している引数が正しくありません。
"system.c", line 9907.44: 1506-099 (S) 使用している引数が正しくありません。
"system.c", line 9931.52: 1506-099 (S) 使用している引数が正しくありません。
make: 1254-004 最後のコマンドからのエラー・コードは 1 です。
停止します。
make: 1254-004 最後のコマンドからのエラー・コードは 2 です。
停止します。
$
kjm さんへ示されている #define USESTATVFSH も追加してみましたが、
このエラーに変化はありませんでした。
また、 _AIX43 に関する類推はあたっているようです。
使用しているコンパイラーは、実行 OS に応じて
-D_AIX32,-D_AIX41,-D_AIX43,-D_AIX50,-D_AIX51,-D_AIX52
を引数に加算していきます。
(4,3,3 だと -D_AIX32 -D_AIX41 -D_AIX43 という具合に)
しかし、これらの define は標準ヘッダー内には見当たりません。
ユーザー側が使用するために開放されているのかな。
> 例えば「fd -PAGER=:」とすると、何もしないで返る内部コマン
> ドを PAGER に指定します。これでも SIGSEGV になるようでしたら
> 確実に FDclone 自身の問題ですね。
> 一方、PAGER=cat なら支障ないのに PAGER=less だと支障あると
> いった風だと、端末制御に失敗して落ちていそうですね。
(最初のメールの、実用に耐えないモジュールでの結果です)
PAGER=: の時は、問題ありませんでした。
(無論、なにも起こらないという意味で)
PAGER=cat では、表示するものの最後まで表示したのち、すこし
停止してから Segmentation fault で shell へ落ちました。
more, less, pg, vi, vim, xemacs と試しましたが、どの例でも
その終了コマンド(q とか :q) を実行後、少し間があいた後
Segmentation fault で shell へ落ちました。
潮田