annotate src/bzip2-1.0.6/README.COMPILATION.PROBLEMS @ 169:223a55898ab9 tip default

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