On Mon, Mar 14, 2011 at 11:55 AM, Henrik Størner <user-ce4a2c883f75@xymon.invalid> wrote:
MAKE="gmake" sh -x ./build/lfs.sh
+ echo Checking for Large File Support ...
Checking for Large File Support ...
+ cd build
+ gmake -f Makefile.test-lfs clean
+ uname -s
+ tr [/] [_]
OS=SunOS
gmake: *** [clean] Error 2
+ gmake -f Makefile.test-lfs
gmake: Nothing to be done for `all'.
+ [ 0 -ne 0 ]
+ ./test-lfs-std 4
STDRES=4:1:-78191077919555584
+ test 4:1:-78191077919555584 != 4:1:0 -a 4:1:-78191077919555584 != 8:1:0
+ echo ERROR: LFS support check failed for standard file support
ERROR: LFS support check failed for standard file support
+ exit 1
This is bizarre.
What this does is that it builds a tiny test program using standard
compiler-flags first, and then the flags that you would normally use when
compiling for large file support (LFS).
When compiled without LFS, I expect the normal file offset "off_t" variable
to be 32 bits (4 bytes); with LFS, I would expect it to be 64-bits (8
bytes). To test that, the program prints out
1) The value of "sizeof(off_t)"
2) A boolean (0/1) value to see if sizeof(off_t) is what I expect
3) The value of an off_t variable that has been cleared to zero using
memset() - we need to print these values occasionally (e.g. for keeping
track of how long into a logfile we have already scanned).
1) and 2) look OK, but the value prints as "-7819...." There is no way I can
see how that can happen - that variable has been cleared to 0 just a few
lines above the print-statement.
Just to see if I'm completely wrong, could you try running this for me:
cd build
rm test-lfs-std test-lfs-lfs
OS=SunOS gmake -f Makefile.test-lfs
./test-lfs-std 4
./test-lfs-lfs 8
The output from the last line would be interesting.
root at solaris { ~ }$ rm test-lfs-std test-lfs-lfs
root at solaris { ~ }$ OS=SunOS gmake -f Makefile.test-lfs
root at solaris { ~ }$ OS=SunOS gmake -f Makefile.test-lfs
test-lfs.c: In function 'main':
test-lfs.c:11:2: warning: incompatible implicit declaration of
built-in function 'memset'
test-lfs.c: In function 'main':
test-lfs.c:11:2: warning: implicit declaration of function 'memset'
test-lfs.c:11:2: warning: incompatible implicit declaration of
built-in function 'memset'
root at solaris { ~ }$ ./test-lfs-std 4
4:1:-78191077919555584
root at solaris { ~ }$ ./test-lfs-std 8
4:0:-78191077919555584
Thanks,
Henrik
--
Asif Iqbal
PGP Key: 0xE62693C5 KeyServer: pgp.mit.edu
A: Because it messes up the order in which people normally read text.
Q: Why is top-posting such a bad thing?