[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[FDclone-users:00078] Re: AIX でのコンパイルエラーについて



  超久しぶりに 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