Hi Victor,

Normally the large file creation should not fail on the 32 bit builds. And
-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 will create other side effects
such as off_t getting to long long rather than long and similar with size_t
(I guess).

The solution is to access/create the file along with the following flag
O_LARGEFILE option. Please note that this option is not needed for FreeBSD
as this OS uses 64 bit offsets by default.

For windows, if you have to create a file larger than 4 GB, then you have to
have NTFS file system and not FAT32 (FYKI)

HTH,

Regards,
Jayavasanthan J.


On 8/21/07, Victor Secarin <[EMAIL PROTECTED]> wrote:
>
> Having built sqlite 3.4.2 for Enterprise 3, 4, Fedora 5 and Solaris 8,
> both 32 and 64 bits, I then ran the fulltest on each. As it takes a long
> time and produces a large output, one looks first at the end, and if it
> says "0 errors" one thinks everything is as expected.
>
> By chance, I later discovered the following:
>
> ================================================
> > ./testfixture ../sqlite-3.4.2/test/bigfile.test
> bigfile-1.1... Ok
> **** Unable to create a file larger than 4096 MB. *****
> Memory leaked: 0 bytes in 0 allocations
>
> soft-heap-limit changed by this script from 0 to
> Thread-specific data deallocated properly
> 0 errors out of 2 tests
> Failures on these tests:
> ==================================================
>
> This happens on all my 32 bit builds. Not on the 64 bit ones.
> In order to get large file functionality one has to configure with
> CFLAGS="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
>
> The problem is that "Unable to create a file larger than 4096 MB" is not
> considered a failure, so that people who only see the "0 errors out of
> 409660 tests" at the end of the log file will not  know they have the
> problem.
> It is really difficult to read the whole log file.
> I suggest to
> (a) make this a counted error,  or else
> (b) add an extra test specially for this problem, or else
> (c) categorize the messages, prefixing them with a small number of
> standard words, like "ERROR:" and "WARNING:" and "INFO:", which would
> enable one to use grep or search in an editor. Then  the problem above
> could be a WARNING rather than a counted ERROR.
>
>
> yours truly,
> Victor Secarin
>

Reply via email to