README.COMPILATION.PROBLEMS 2.4 KB

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