linux下如何手动编译安装bzip2库

在编译bsdiff时,遇到如下错误:

fatal error: bzlib.h: No such file or directory

发现缺少 bzlib.h 头文件,原因是系统没有安装libbz2库

最简单方法:

在ubuntu下最简单的方法是使用apt命令安装

1
sudo apt-get install libbz2-dev

手动编译:

但是我使用的账户没有安装权限,只能自己手动编译 下面是具体步骤:

1.下载bzip2源码

下载地址:http://www.bzip.org/downloads.html

2.安装头文件

当前bzip2最新的版本时1.0.6,下载完成后首先解压源码包

1
tar -xzvf bzip2-1.0.6.tar.gz

将其中的bzlib.h头文件复制进/usr/include或者自定义的include路径
比如我因为没有安装权限,所以直接放置在当前路径

1
#include <bzlib.h>

改为

1
#include "bzlib.h"

这时候还要编译动态库,否则报错:

1
/usr/bin/ld: cannot find -lbz2

3.编译动态库

进入解压后的目录:

1
cd bzip2-1.0.6

配置编译为动态库:

1
make -f Makefile-libbz2_so

编译&&安装:

1
make && make install

实际上还是因为没有安装权限,我最终编译出来的库是使用gcc的-L参数才完成bsdiff编译的,这里不做细表。

4.Enjoy


linux下如何手动编译安装bzip2库
https://www.shangyexin.com/2018/05/23/bzip2/
作者
Yasin
发布于
2018年5月23日
许可协议