[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[FDclone-users:00078] Re: AIX でのコンパイルエラーについて
- Subject: [FDclone-users:00078] Re: AIX でのコンパイルエラーについて
- From: KOJIMA Hajime / 小島肇 <kjm@rins.ryukoku.ac.jp>
- Date: Wed, 05 Feb 2003 01:33:27 +0900
超久しぶりに AIX な機械に login したら、まあ遅くて遅くて……。
いや実際、本来は廃棄されているべき機械だからなあ。
「コンパイルが遅いので -O を外す」なんて行為は何か月ぶりだろう。
題名: [FDclone-users:00077] Re: AIX でのコンパイルエラーについて
(<20030204141614.2BE9B53C5B@yuka.unixusers.net>) において
Takashi SHIRAI さんがおっしゃるには:
|
| > #ifdef SVR4
| > #define SYSV
| > #define USEMKDEVH
| > #endif
| >
| > と browse.c の
| >
| > #ifdef USEMKDEVH
| > #include <sys/mkdev.h>
| > #else
| > # ifdef USEMKNODH
| > # include <sys/mknod.h>
| > # else
| > # ifdef SVR4
| > # include <sys/sysmacros.h>
| >
| > は矛盾するような気がするのですが、SVR4 の場合はどうなることが予
| > 想されているのでしょう。なお、AIX 4.1 には sys/mkdev.h はありま
| > せん。
|
| 典型的な SVR4 には sys/mkdev.h があるのですが、もしそれを
| 持たないような SVR4 があるのならば、sys/sysmacros.h を見て、
| それでも major/minor が無ければ 64bits 拡張された major/minor
| を使いましょう、という意味です。
| SVR4 の場合、優先順位が sys/mkdev.h -> sys/sysmacros.h ->
| 64bits major/minor となっています。
|
| machine.h で SVR4 -> USEMKDEVH となっているのは、その例外
| を見つけられなかったからで、AIX という実例が出て来た以上、こ
| の記述は AIX 以外の SVR4 に分散して記述すべきなんでしょうね。
| そもそも「SVR4」という分類が曖昧で、営業的な謳い文句に過ぎ
| ないことも多いので、何を信じてその OS が SVR4 であるとすれば
| 良いのかが良く判りません。
なるほど……困ったものですね。
| 因みに、AIX 4.1 ではどこに落とすのが最適なんでしょうか?上
| の優先順位に当てはまれば良いのですが。
AIX 4.1 は sys/sysmacros.h だけを持っています。
| > AIX 4.1 でも statfs() の引数は 2 個でした。4 つあるのは AIX 3.2
| > 以前のようです。
|
| んー、その辺りの code は 1.03 の頃からずっとそのままなので、
| 小島さんが AIX 4.1 で動作確認して下さっている筈なのですが。
| 私は実機を持っていないのでその報告を信じるしかない訳で。
困った事に、もとのままでもコンパイル通ってしまうので……。さっき
man してみたら引数が 2 つしかなくて「あれ?」と思ったのです。
| 因みに 2 つあるのは BSD の流儀なので SYSV 陣営な AIX が 4
| -> 2 という変遷を辿るのは妙ですね。多分 AIX 4.x では statfs()
| ではなく statvfs() の方を使うというのが正しいのかも知れませ
| ん。
なるほど。
| その辺りの周辺状況から見ると、AIX 3 -> AIX 4 の過程で SYSV
| -> SVR4 に変わったと見るべきなんでしょうか。
AIX 4 は 3 に比べて、より SVR4 化している、とは思います。
| > -PAGER=: はだいじょうぶです。
| > -PAGER=cat では Killed になります。
|
| だとすると fork() & exec() で失敗していそうですね。memory
| 管理?
| 因みに fdsh や EXECUTE_SH で手動で起動された外部コマンドは
| どうなんでしょう?cat だと端末制御は関係ないと思うので、多分
| process 制御で失敗していると思うんですが。
このあたりは明日 (って日付変更線超えているけど……) 調べてみます。
- kjm