1*0ac9a9daSXin Li------------------------------------------------------------------ 2*0ac9a9daSXin LiThis file is part of bzip2/libbzip2, a program and library for 3*0ac9a9daSXin Lilossless, block-sorting data compression. 4*0ac9a9daSXin Li 5*0ac9a9daSXin Libzip2/libbzip2 version 1.0.8 of 13 July 2019 6*0ac9a9daSXin LiCopyright (C) 1996-2019 Julian Seward <[email protected]> 7*0ac9a9daSXin Li 8*0ac9a9daSXin LiPlease read the WARNING, DISCLAIMER and PATENTS sections in the 9*0ac9a9daSXin LiREADME file. 10*0ac9a9daSXin Li 11*0ac9a9daSXin LiThis program is released under the terms of the license contained 12*0ac9a9daSXin Liin the file LICENSE. 13*0ac9a9daSXin Li------------------------------------------------------------------ 14*0ac9a9daSXin Li 15*0ac9a9daSXin Libzip2 should compile without problems on the vast majority of 16*0ac9a9daSXin Liplatforms. Using the supplied Makefile, I've built and tested it 17*0ac9a9daSXin Limyself for x86-linux and amd64-linux. With makefile.msc, Visual C++ 18*0ac9a9daSXin Li6.0 and nmake, you can build a native Win32 version too. Large file 19*0ac9a9daSXin Lisupport seems to work correctly on at least on amd64-linux. 20*0ac9a9daSXin Li 21*0ac9a9daSXin LiWhen I say "large file" I mean a file of size 2,147,483,648 (2^31) 22*0ac9a9daSXin Libytes or above. Many older OSs can't handle files above this size, 23*0ac9a9daSXin Libut many newer ones can. Large files are pretty huge -- most files 24*0ac9a9daSXin Liyou'll encounter are not Large Files. 25*0ac9a9daSXin Li 26*0ac9a9daSXin LiEarly versions of bzip2 (0.1, 0.9.0, 0.9.5) compiled on a wide variety 27*0ac9a9daSXin Liof platforms without difficulty, and I hope this version will continue 28*0ac9a9daSXin Liin that tradition. However, in order to support large files, I've had 29*0ac9a9daSXin Lito include the define -D_FILE_OFFSET_BITS=64 in the Makefile. This 30*0ac9a9daSXin Lican cause problems. 31*0ac9a9daSXin Li 32*0ac9a9daSXin LiThe technique of adding -D_FILE_OFFSET_BITS=64 to get large file 33*0ac9a9daSXin Lisupport is, as far as I know, the Recommended Way to get correct large 34*0ac9a9daSXin Lifile support. For more details, see the Large File Support 35*0ac9a9daSXin LiSpecification, published by the Large File Summit, at 36*0ac9a9daSXin Li 37*0ac9a9daSXin Li http://ftp.sas.com/standards/large.file 38*0ac9a9daSXin Li 39*0ac9a9daSXin LiAs a general comment, if you get compilation errors which you think 40*0ac9a9daSXin Liare related to large file support, try removing the above define from 41*0ac9a9daSXin Lithe Makefile, ie, delete the line 42*0ac9a9daSXin Li 43*0ac9a9daSXin Li BIGFILES=-D_FILE_OFFSET_BITS=64 44*0ac9a9daSXin Li 45*0ac9a9daSXin Lifrom the Makefile, and do 'make clean ; make'. This will give you a 46*0ac9a9daSXin Liversion of bzip2 without large file support, which, for most 47*0ac9a9daSXin Liapplications, is probably not a problem. 48*0ac9a9daSXin Li 49*0ac9a9daSXin LiAlternatively, try some of the platform-specific hints listed below. 50*0ac9a9daSXin Li 51*0ac9a9daSXin LiYou can use the spewG.c program to generate huge files to test bzip2's 52*0ac9a9daSXin Lilarge file support, if you are feeling paranoid. Be aware though that 53*0ac9a9daSXin Liany compilation problems which affect bzip2 will also affect spewG.c, 54*0ac9a9daSXin Lialas. 55*0ac9a9daSXin Li 56*0ac9a9daSXin LiAIX: I have reports that for large file support, you need to specify 57*0ac9a9daSXin Li-D_LARGE_FILES rather than -D_FILE_OFFSET_BITS=64. I have not tested 58*0ac9a9daSXin Lithis myself. 59