annotate src/bzip2-1.0.6/README.COMPILATION.PROBLEMS @ 83:ae30d91d2ffe

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