未だCentOS5を使っているといろいろと不都合が生じてきます。まず、最新のアプリケーションを使おうとすると、デフォルトで入っているライブラリ群が古く全くインストールできません。
今回はCentOS5.11にbzip2-1.0.6をインストールしてみます
ダウンロード
1 2 3 4  | $ cd /usr/local/src $ wget http://www.bzip.org/1.0.6/bzip2-1.0.6.tar.gz $ tar xzvfp  bzip2-1.0.6.tar.gz $ cd bzip2-1.0.6  | 
コンパイル
シェアードライブラリも同時にコンパイルします
 まずは本体
1 2  | $ make # make install  | 
次にシェアードライブラリ
1 2 3 4 5 6 7  | $ make -f Makefile-libbz2_so  $ make gcc -shared -Wl,-soname -Wl,libbz2.so.1.0 -o libbz2.so.1.0.6 blocksort.o huffman.o crctable.o randtable.o compress.o decompress.o bzlib.o /usr/bin/ld: blocksort.o: relocation R_X86_64_32 against `a local symbol' can not be used when making a shared object; recompile with -fPIC blocksort.o: could not read symbols: Bad value collect2: ld はステータス 1 で終了しました make: *** [all] エラー 1  | 
ここでエラーが
解決方法
どうもfPICをつけてコンパイルしないとダメなようです
 本体側も修正、Makefileを修正します
1 2  | CFLAGS=-Wall -Winline -O2 -g $(BIGFILES) -fPIC  # -fPICを追加 CXXFLAGS=-fPIC   # 行追加  | 
コンパイル
1 2 3  | $ make clean $ make # make install  | 
次にシェアードライブラリ。Makefile-libbz2_soを修正
1  | CXXFLAGS=-fPIC # 行追加  | 
コンパイル
1 2  | $ make -f Makefile-libbz2_so  # mv libbz2.so.1.0* /usr/local/lib  |