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

[FDclone-users:00664] Re: Linux 2.6.18 で dosdisk.c コンパイルエラー (_syscall5 マクロ)



濱崎です。

_FILE_OFFSET_BITS=64 なら、USELLSEEK を無効にしてもいいんでしょうか?
もしそうなら、machine.h の中で判定して無効にすれば
件の箇所は、コンパイル対象から外れます。
私は

--- FD-2.09a/machine.h	2006-10-31 00:00:00.000000000 +0900
+++ fdclone-2.09a/machine.h	2006-12-08 14:43:51.000000000 +0900
@@ -545,6 +545,9 @@
 && (!defined (PPC) || !defined (__GNUC__) || __GNUC__ >= 3)	/* for bug */
 # define	USELLSEEK
 # endif
+#if defined (USELLSEEK) && (_FILE_OFFSET_BITS == 64)
+# undef USELLSEEK
+#endif
 #define	SIGFNCINT
 #endif
 
のようにしてみました。
対処として合っていますか?

<20061207131629.4B9B540C03E@yuka.unixusers.net>の記事において
shirai@unixusers.netさんは書きました。

>>  そもそも llseek(2) を使っているのは古い Linux 用なんですよ。
>> 新しめの Linux なら -D_FILE_OFFSET_BITS=64 が効くから普通の
>> lseek(2) で十分だし。
>>  その肝腎の古い Linux で使えなくなるようだと本末転倒なので、
>> 新旧どの Linux も救済される仕組みを選ばなくてはなりません。

--------------------------------------------------
    濱崎 健 E-mail: hma@syd.odn.ne.jp