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

[FDclone-users:01014] Re: HP-UX make error について



 しらいです。

In Message-Id <130510103453.M0123139@avkkgw3.avkk.yamaha.co.jp>
        mhirano@avkk.yamaha.co.jp (Mitsuyuki HIRANO)さんwrites:
> 平野です。

> HP-UX 11i の環境で久しぶりに FDclone を使用する機会があったため
> 最新の FD-3.01 を make してみました。
> 
> 何もせずに make してみたらエラーが発生しました。

 HP-UX は結構癖のある OS で、POSIX を謳っておきながらその実
単なる System V 独自拡張なもんで、色んなところで通るべきコー
ドが通らないんですよね。


> cc -DHPUX=1 -D_FILE_OFFSET_BITS=64     -DFD=3 -c -o term.o term.c
> "term.c", line 1051: error #2020: identifier "TCIFLUSH" is undefined
> 	arg = FLSHIN;
> 1 error detected in the compilation of "term.c".
> 
> ということで、バージョンを遡って make してみたところ

 HP-UX だと TERMIOS の代わりに TERMIO を使ってるんですが、
実装が古いと TCIFLUSH が未定義なんでしょうね。
 今しがた TERMIO で検索してみたら、AIX の man page には「引
数 0 を使え」と書いてあるので、System V 的には TCIFLUSH が未
定義なのが正解なのかも知れません。
 HP-UX の tty(7) には「FREAD を使え」と書いてあるそうですが、
これだと値が 1 になって TCOFLUCH の意味になっちゃいますね。
man page に大嘘書くとは流石 HP quality。

 という訳でこんな patch で如何でしょう?

---- Cut Here ----
diff -u ../old/FD-3.01/termio.h ./termio.h
--- ../old/FD-3.01/termio.h	Fri Aug  3 00:00:00 2012
+++ ./termio.h	Fri May 10 23:46:15 2013
@@ -93,9 +93,9 @@
 #define	REQSETP			TCSETAF
 #define	REQSETD			TCSETAW
 #define	REQSETN			TCSETA
-#define	FLSHIN			TCIFLUSH
-#define	FLSHOUT			TCOFLUSH
-#define	FLSHIO			TCIOFLUSH
+#define	FLSHIN			0
+#define	FLSHOUT			1
+#define	FLSHIO			2
 #endif	/* !USETERMIO */
 
 #ifdef	USESGTTY
---- Cut Here ----

                                               しらい たかし