[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[debian-users:38478] Re: File size limit exceeded
At Fri, 17 Oct 2003 11:30:56 +0900,
TAKAHASHI Hideaki wrote:
> fotranのユーザープログラムで2GBを越えるファイル出力を行った
> ところ,File size limit exceededで落ちてしまいました.
C の場合、_FILE_OFFSET_BITS=64 にすると、ファイルに関連する
システムコール、関数、型などが 64 ビット対応のものに置き換えられます。
ファイルのサイズに size_t、オフセットに off_t を
ちゃんと使っているなら、
$ gcc -D_FILE_OFFSET_BITS=64 foo.c
で OK なんですが、FORTRAN はどうするか知らないです。
もちろん、カーネルとライブラリが 64 ビットなファイルに
対応している必要がありますけどね。
(Woody + Linux 2.4 系統なら OK だと思う)
Debian なら /usr/share/doc/libc6/NOTES.gz に、
Solaris なら largefile(5) あたりにその辺りの説明があります。
FORTRAN で駄目なら、f2c で FORTRAN → C に変換してみるとか?
> 制限は以下のようにunlimitedです.
setrlimit(2), ulimit(3) による制限ではありません。
> これは,2GBを越えるファイルを扱えないという制限で,プログラ
> ムで対策するしか方法はないのでしょうか?
利用しているシステムコールが largefile に対応していないためです。
--
-- Name: SATOH Fumiyasu -- Home: http://www.sfo.jp (in Japanese only)
-- Mail: fumiya @net-thrust.com, @samba.gr.jp, @namazu.org or ...