[TriLUG] compiling binaries w/ large file support

Tom Bryan tbryan at python.net
Sat Jul 24 03:34:14 EDT 2004


On Saturday 24 July 2004 11:03 am, Douglas Kojetin wrote:

> I did this, but it did not appear to resolve the issue.  I also noticed
> that I could use the program 'strace' to see if the file open's used
> the O_LARGEFILE flag -- which they apparently do not.
>
> I know the most efficient way of getting this resolved might be to have
> the original author of the code do it, but can anyone point me toward
> some references in adding the O_LARGEFILE flag in the file open's?
> (i'm using gcc, by the way).

The other problems that you may have is any things like assumptions about the 
size of a variable that holds offsets into the file.  For example, lseek's 
man page shows that the second type is an off_t.  That's either 32 bits or 64 
bits, depending on whether you've compiled the program to permit large file 
support.  Of course, there's nothing stopping the original author from using 
an int to hold the offset to lseek.  In that case, even if you open the file 
properly and compile the code with the right flags, you may overflow the 
offset variable.  If he declared it as an off_t, then the compile flag will 
take care of changing the variable's size.  Otherwise, you'll have to go find 
where he has something like
int file_offset
and change it to
off_t file_offset

Like I said, good luck.  Hacks like this (just want it to support this one 
large file) take a few minutes...or all weekend.  :-)

---Tom




More information about the TriLUG mailing list