trouble with files bigger than 4GB

Daniel Solaz ds.erl@REDACTED
Wed Apr 23 22:18:49 CEST 2003


On Tuesday 22 April 2003 09:34 Raimo Niskanen wrote:

> Daniel Solaz wrote:
> > Yes, this is described in the lfcompile(5) man page.
> > I'll try to hack the appropriate Makefile(s) and recompile so I can
> > check whether this is enough to get the code working, where working
> > means "like in FreeBSD".

> Well, I will fix the simple bug i mentioned above, but if off_t is 4
> bytes, there is not much to do on such a system. There is no high
> word to make use of. File size (or absolute position) 4294967296 is
> indistinguishable from 0. Absolute position 4294967295 is the same as
> error return value -1 from lseek().

Great,  FreeBSD issue solved.  Thanks.

On 32bit Solaris, adding -D_FILE_OFFSET_BITS=64 to the cc call does the 
trick: off_t becomes 8 bytes long, fopen() means fopen64(), etc.  
However, according to the docs, this does interact badly with some 
other OS subsystems.

So I'd like to try this first and report whether things work, or at 
least seem to.  But I lack the expertise required to hack configure so 
that it compiles the off_t size test with -D_FILE_OFFSET_BITS=64 and 
generates new Makefiles with -D_FILE_OFFSET_BITS=64 in them.  Can 
anyone give me a pointer?

-Daniel



More information about the erlang-questions mailing list