比如你想安装无损音乐解码包flac就需要以下几步:

从官网或源码网站上下载源码包:

我一般从

http://packages.debian.org

上下载。

搭建编译环境

这里主要是安装一些编译工具,如gcc(g++)、autoconf、automake、build-essential等

~$ sudo apt-get install gcc g++ autoconf automake build-essential

这里,我早就装过了,所以没有什么多余的安装信息。

解压软件包,并进入源码文件夹

~$ tar -xvf flac_1.3.0.orig.tar.xz

~$ cd flac-1.3.0

根据需要选择合适的编译参数

~$ ./configure --help

(1)这里演示禁用ogg的支持,即选用编译参数 --disable-ogg

(2)同时将flac库装在用户主目录下的inst文件夹下,即设置参数--prefix=$HOME/inst

编译flac源码

(1)检查编译环境能否完成编译,生成Makefile文件

~$ ./configure --prefix=$HOME/inst --disable-ogg

(2)进行编译

~$ ./make -j $(nproc)

这里多核心的cpu可以通过 -j 选项加速编译过程

(3)安装

~$ make install (安装的目录当前用户有读写权限)或

~$ sudo make install(安装的目录当前用户没有读写权限)

安装完毕,将编译好的库和可执行文件添加到搜索路径中

~$ cd $HOME/inst

~$ export PATH=$HOME/inst/bin:$PATH

~$ export LD_LIBRARY_PATH=$HOME/inst/lib:$LD_LIBRARY_PATH

~$ export PKG_CONFIG_PATH=$HOME/lib/pkgconfig:$PKG_CONFIG_PATH

这里,如果是安装到/usr或/usr/local文件夹内,一般是不需要设置这些参数的。

整个编译安装过程中容易出现问题的地方就是5.(1)(生成Makefile)和5.(2)(编译源码)这两个地方。

5、(1)出的问题一般是:

(1)待编译库的依赖库没有安装。这就必须先安装依赖库

(2)环境变量未设置好,即使依赖库安装了也找不见。这必须设置好LD_LIBRARY_PATH、PATH和PKG_CONFIG_PATH这三个环境变量或者根据./configure --help中所给定的--with-xxx=/path/to/dependent/library来指定依赖的库

5、(2)出的问题一般是:

(1)有些源码文件编译不过。这要么搜贴查找解决方法,要么放弃编译(实在无能为力),因为这些错误有可能是潜在的或者已经出现的bug。。。

(2)链接时某些库链接不上。这需要在生成Makefile之前设置CFLAGS或CXXFLAGS环境变量来实现,一般为:export CFLAGS="-I/path/to/some/library's/include/dir -L/path/to/some/library's/lib/dir -lsomelibrary"。

源码编译中的库依赖是十分令人头痛的,祝你好运。。。