| 1 | ------------------------------------------------------------------ | 
|---|
| 2 | This file is part of bzip2/libbzip2, a program and library for | 
|---|
| 3 | lossless, block-sorting data compression. | 
|---|
| 4 |  | 
|---|
| 5 | bzip2/libbzip2 version 1.0.4 of 20 December 2006 | 
|---|
| 6 | Copyright (C) 1996-2006 Julian Seward <jseward@bzip.org> | 
|---|
| 7 |  | 
|---|
| 8 | Please read the WARNING, DISCLAIMER and PATENTS sections in the | 
|---|
| 9 | README file. | 
|---|
| 10 |  | 
|---|
| 11 | This program is released under the terms of the license contained | 
|---|
| 12 | in the file LICENSE. | 
|---|
| 13 | ------------------------------------------------------------------ | 
|---|
| 14 |  | 
|---|
| 15 | bzip2-1.0.4 should compile without problems on the vast majority of | 
|---|
| 16 | platforms.  Using the supplied Makefile, I've built and tested it | 
|---|
| 17 | myself for x86-linux and amd64-linux.  With makefile.msc, Visual C++ | 
|---|
| 18 | 6.0 and nmake, you can build a native Win32 version too.  Large file | 
|---|
| 19 | support seems to work correctly on at least on amd64-linux. | 
|---|
| 20 |  | 
|---|
| 21 | When I say "large file" I mean a file of size 2,147,483,648 (2^31) | 
|---|
| 22 | bytes or above.  Many older OSs can't handle files above this size, | 
|---|
| 23 | but many newer ones can.  Large files are pretty huge -- most files | 
|---|
| 24 | you'll encounter are not Large Files. | 
|---|
| 25 |  | 
|---|
| 26 | Early versions of bzip2 (0.1, 0.9.0, 0.9.5) compiled on a wide variety | 
|---|
| 27 | of platforms without difficulty, and I hope this version will continue | 
|---|
| 28 | in that tradition.  However, in order to support large files, I've had | 
|---|
| 29 | to include the define -D_FILE_OFFSET_BITS=64 in the Makefile.  This | 
|---|
| 30 | can cause problems. | 
|---|
| 31 |  | 
|---|
| 32 | The technique of adding -D_FILE_OFFSET_BITS=64 to get large file | 
|---|
| 33 | support is, as far as I know, the Recommended Way to get correct large | 
|---|
| 34 | file support.  For more details, see the Large File Support | 
|---|
| 35 | Specification, published by the Large File Summit, at | 
|---|
| 36 |  | 
|---|
| 37 | http://ftp.sas.com/standards/large.file | 
|---|
| 38 |  | 
|---|
| 39 | As a general comment, if you get compilation errors which you think | 
|---|
| 40 | are related to large file support, try removing the above define from | 
|---|
| 41 | the Makefile, ie, delete the line | 
|---|
| 42 |  | 
|---|
| 43 | BIGFILES=-D_FILE_OFFSET_BITS=64 | 
|---|
| 44 |  | 
|---|
| 45 | from the Makefile, and do 'make clean ; make'.  This will give you a | 
|---|
| 46 | version of bzip2 without large file support, which, for most | 
|---|
| 47 | applications, is probably not a problem. | 
|---|
| 48 |  | 
|---|
| 49 | Alternatively, try some of the platform-specific hints listed below. | 
|---|
| 50 |  | 
|---|
| 51 | You can use the spewG.c program to generate huge files to test bzip2's | 
|---|
| 52 | large file support, if you are feeling paranoid.  Be aware though that | 
|---|
| 53 | any compilation problems which affect bzip2 will also affect spewG.c, | 
|---|
| 54 | alas. | 
|---|
| 55 |  | 
|---|
| 56 | AIX: I have reports that for large file support, you need to specify | 
|---|
| 57 | -D_LARGE_FILES rather than -D_FILE_OFFSET_BITS=64.  I have not tested | 
|---|
| 58 | this myself. | 
|---|