pcompress/INSTALL
Moinak Ghosh 31b1f56902 Fix issue #14
Updated fix for issue #12
Add check for correct Libarchive version.
Update header checks to abort if not found.
2014-01-14 21:59:32 +05:30

130 lines
4.7 KiB
Text

Copyright (c) 2012 Moinak Ghosh
Prerequisites
=============
64-bit System.
GCC 4.4 (with mpfr, ppl and cloog support packages for loop
vectorization).
libz (zlib) and development packages.
Libbz2 and development packages.
OpenSSL version 0.9.8 or greater.
Libarchive 3.x or greater and its development packages.
Basic Installation
==================
The simplest process to build and install this utility is:
./config
make
make install
The current makefiles and config scripts assume Gcc compiler is
in the PATH. Please update PATH before running config if that is
not the case.
In order to remove all binaries:
make clean
Remove all binaries and the generated Makefile:
make distclean
Strictly speaking the 'make install' step is not required to
run the utility as it is a single stand alone program for now.
The config script controls various compile time parameters and
generates the actual Makefile. You can get a short description
of all the options by running:
./config --help
NOTE: Basic Installation does not enable support for Libbsc, a
new block-sorting compressor (similar to but better than
Bzip2). See below for details.
Testing
=======
After running make as given above you can run:
make test
This will generate some data files from /usr/bin /usr/share and
/usr/include directories and then run a whole lot of tests. These
execute pcompress with a wide variety of combinations of options.
For every test both compression and decompression are performed
and after every decompression the decompressed file is verified
byte for byte with the original using the diff utility.
It takes a long time to run all the tests. The complete test log
is stored in the file test.log. Test failures are indicated by the
error message starting with the word "FATAL". All other error
messages visible in the log are a result of negative testing where
the utility is expected to exit with an error.
The files test/t1.tst, test/t2.tst and so on are individual test
suites. It is possible to run a single test suite. For example to
run test/t4.tst the following command can be used:
make test TESTSUITE=4
Custom Installation
===================
The options to the config script are detailed below. Note that this
is not the usual GNU Autoconf script.
./config [<options>]
<options> can be one of the following:
--prefix=<val> The installation prefix.
This is set to /usr by default. However alternate
prefix needs to eb used during packaging.
--enable-debug Enable debug mode compilation.
This reduces the compiler optimization level to
basic and taks out all the loop optimization flags.
This is primarily to aid debugging.
--disable-allocator Disable use of internal memory allocator mechanism.
The internal allocator can be totally disabled by
setting this build time flag. It is also possible
to dynamically disable the allocator by setting the
following env variable:
ALLOCATOR_BYPASS=1
--enable-debug-stats Enable printing of some verbose debug info.
This at present shows some info related to Dedupe
efficiency.
--with-zlib=<path to zlib installation tree> (Default: System)
Enable building against an alternate Zlib installation.
--with-bzlib=<path to Bzip2 library installation tree> (Default: System)
Enable building against an alternate Bzip2 and library
installation.
--with-libarchive=<path to libarchive installation tree> (Default: System)
Enable building against an alternate libarchive installation.
NOTE:
Pcompress only uses basic Libarchive functionality of
creating PAX archives. No other functionality or filter
support is used. So a local static libarchive build with
most features disabled can be used with this option.
--no-sse-detect Do not try to detect the CPU's SSE capability. This
mode will simply use SSE2 as the fallback default.
Using SSE4 and later improves performance significantly.
--no-1.3-archive-compat Disable compatibility with compressed archives created with Pcompress
version 1.3 (default: retain compatibility). Hash formats changed from
version 1.3 to 1.4 so this option is required if files created using
1.3 need to be decompressed by version 1.4 onwards.
--use-key256 Use 256-bit encryption keys. Default key length is
128-bit.
--help Display the help message.
Additional compilation flags can be passed to make like this:
make EXTRA_CPPFLAGS=<...> EXTRA_LDFLAGS=<...>