10.31. Bzip2-1.0.3 64 Bit

#### Cross-Compiled Linux From Scratch - Version 1.0.0rc2-Sparc64-Multilib

### Chapter 10. Installing Basic System Software

- Prev

  Bzip2-1.0.3 32 Bit Libraries

- Next

  Diffutils-2.8.7

- Up.
- Home

# 10.31. Bzip2-1.0.3 64 Bit

The Bzip2 package contains programs for compressing and decompressing files. Compressing text files with bzip2 yields a much better compression percentage than with the traditional gzip.

## 10.31.1. Installation of Bzip2

Apply a patch to install the documentation for this package:

    patch -Np1 -i ../bzip2-1.0.3-install_docs-1.patch

The bzgrep command does not escape '|' and '&' in filenames passed to it. This allows arbitrary commands to be executed with the privileges of the user running bzgrep. Apply the following patch to address this:

    patch -Np1 -i ../bzip2-1.0.3-bzgrep_security-1.patch

The bzdiff script depends on tempfile. We remove that dependency with this patch:

    patch -Np1 -i ../bzip2-1.0.3-remove_tempfile-1.patch

We need to change the default lib path to `lib64`:

    sed -i 's@/lib\(/\| \|$\)@/lib64\1@g' Makefile

The Bzip2 package does not contain a configure script. Compile it with:

    make -f Makefile-libbz2_so CC="gcc ${BUILD64}" CXX="g++ ${BUILD64}"
    make clean

The `-f` flag will cause Bzip2 to be built using a different `Makefile` file, in this case the `Makefile-libbz2_so` file, which creates a dynamic `libbz2.so` library and links the Bzip2 utilities against it.

Recompile the package using a non-shared library.

    make CC="gcc ${BUILD64}" CXX="g++ ${BUILD64}"

### Note

If reinstalling Bzip2, perform `rm -vf /usr/bin/bz*` first, otherwise the following make install will fail.

Install the programs:

    make install

Install the shared bzip2 binary into the `/bin` directory, make some necessary symbolic links, and clean up:

    cp -v bzip2-shared /bin/bzip2
    cp -av libbz2.so* /lib64
    ln -sv ../../lib64/libbz2.so.1.0 /usr/lib64/libbz2.so
    rm -v /usr/bin/{bunzip2,bzcat,bzip2}
    ln -sv bzip2 /bin/bunzip2
    ln -sv bzip2 /bin/bzcat

## 10.31.2. Contents of Bzip2

Installed programs: bunzip2 (link to bzip2), bzcat (link to bzip2), bzcmp, bzdiff, bzegrep, bzfgrep, bzgrep, bzip2, bzip2recover, bzless, and bzmore
Installed libraries: libbz2.a, libbz2.so (link to libbz2.so.1.0), libbz2.so.1.0 (link to libbz2.so.1.0.3), and libbz2.so.1.0.3

### Short Descriptions

bunzip2 | Decompresses bzipped files
bzcat | Decompresses to standard output
bzcmp | Runs cmp on bzipped files
bzdiff | Runs diff on bzipped files
bzgrep | Runs grep on bzipped files
bzegrep | Runs egrep on bzipped files
bzfgrep | Runs fgrep on bzipped files
bzip2 | Compresses files using the Burrows-Wheeler block sorting text compression algorithm with Huffman coding; the compression rate is better than that achieved by more conventional compressors using “Lempel-Ziv” algorithms, like gzip
bzip2recover | Tries to recover data from damaged bzipped files
bzless | Runs less on bzipped files
bzmore | Runs more on bzipped files
`libbz2*` | The library implementing lossless, block-sorting data compression, using the Burrows-Wheeler algorithm

- Prev

  Bzip2-1.0.3 32 Bit Libraries

- Next

  Diffutils-2.8.7

- Up.
- Home.