Monday, November 30, 2009

[nslu2-linux] Problem with perl and large files

 

Hi,

I hope, that anyone in this group can give me a hint about the maintainer of the perl ipkg-package of the cs08q1armel branch.
I found an issue with the pert stat() function, that fails for files larger than 2GByte on my QNAP TS119. This function is used from the rsnapshot-diff script to get all informations about a certain file for comparing different backup snapshots. It seems that perl is compiled without 64Bit support for file sizes, with 32Bit one can only store size numbers up to 2GByte. Here a little test script to verify this issue.

test.pl
--- cut here ---
#! /opt/bin/perl

@mystat = stat($ARGV[0]);
print "$ARGV[0]: file size: $mystat[7]\n";
--- cut here ---

Run test.pl FILE

If file is smaller than 2GByte it will display the right file size, if it is larger then the file size will be empty caused by the failed stat().
Can anyone tell me why perl is compiled without the
-D_FILE_OFFSET_BITS=64 option? Is it a restriction of the ARM architecture or glibc? Or has the usage of this option unwanted side effects or was it simply forgotten?
Thank you in advance

Jörg

__._,_.___
.

__,_._,___

No comments:

Post a Comment