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

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/shangyexin/article/details/80968192

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

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

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

最简单方法:

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

sudo apt-get install libbz2-dev

手动编译:

但是我使用的账户没有安装权限,只能自己手动编译

下面是具体步骤:

1.下载bzip2源码

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

2.安装头文件

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

tar -xzvf bzip2-1.0.6.tar.gz

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

#include <bzlib.h>

改为

#include "bzlib.h"

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

/usr/bin/ld: cannot find -lbz2

3.编译动态库

进入解压后的目录:

cd bzip2-1.0.6

配置编译为动态库:

make -f Makefile-libbz2_so

编译&&安装:

make && make install

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

4.Enjoy

展开阅读全文

没有更多推荐了,返回首页