The declaration for lseek() is done manually in rtio.h following an inclusion of <sys/types.h>, which is included by standard.h, which is included by holo.h (and thence by rholo.h). So, it should be declared properly. I logged onto radiance-online and checked it with cc -E, and lseek() is declared in rholo.c and holofile.c without the <unistd.h> inclusion.
The reason we did this rather than including <unistd.h> is because this header is not found on all systems, most notably Windows. The declaration in rtio.h appears to match the Linux declaration, unless -D_FILE_OFFSET_BITS=64 is assigned. I noticed that this macro was recently added to the default makeall by schorsch (version 1.7, 2003/07/12), and this seems to be the trouble.
I guess the solution is to include the new "platform.h" for all files that use lseek(), which are the following by my search:
Since "platform.h" includes <unistd.h> on all UNIX systems, this should solve the problem, I would think. (Schorsch, do you agree?)
P.S. For some reason, the source auxiliary files are not included in the HEAD distribution. The following files are missing:
Please add them, as makeall depends on them for proper operation.