接下来进行下一步:
$sudo ./configure
将会开始检查环境、配置,应该会返回信息:
checking for OPENSSL... configure: error: Package requirements (openssl) were not met:
No package 'openssl' found
Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.
Alternatively, you may set the environment variables OPENSSL_CFLAGS
and OPENSSL_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.
通过Google搜索结果中,都说的是在这里需要告诉pkg-config这个openssl的相关配置文件(.pc)的位置,通常已安装的软件和包的.pc文件都会出现在/usr/lib/pkg-config下,但我在这里没有找到openssl的.pc文件,并且通过使用命令$sudo apt-get install openssl发现openssl是已安装了的,到这一步就停滞不前了。最后在Ubuntu的package网站里搜索到一个相关的包是libssl-dev,安装这个包:
$sudo apt-get install libssl-dev
安装完libssl-dev之后再接着重复上一步$sudo ./configure又会收到和之前类似的信息,只是这回返回的是:
checking for STUFF... configure: error: Package requirements (sigc++-2.0) were not met:
No package 'sigc++-2.0' found
再次通过Ubuntu的Package网站里搜索到相关软件包是libsigc++-2.0,所以需要安装这个包:
$sudo apt-get install libsigc++-2.0-dev
安装完这个包之后再重复执行$sudo /.configure,可以顺利完成了,接下来的步骤:
$sudo make
$sudo make install
$cd ../rtorrent
$sudo ./autogen.sh
$sudo ./configure
返回*** The ncurses library is required!,安装ncurses开发包:
$sudo apt-get install ncurses-dev
重复$sudo ./configure,再返回信息checking for libcurl... configure: error: Package requirements (libcurl >= 7.15.4),安装libcurl开发包(libcurl-dev是由libcurl4-openssl-dev提供的虚拟软件包):
$sudo apt-get install libcurl4-openssl-dev
重复$sudo ./configure,可以顺利完成并且进行下一步了:
$sudo make
$sudo make install
至此rtorrent编译安装就完成了,在这次编译安装rtorrent可以学习到以下基础经验:
编译所需的东西是首先要安装好的:
$sudo apt-get install build-essential automake
在进行./configure步骤出现找不到的包的情况下先将Package requirement后括号中的关键字词记下来,在Ubuntu Package()搜索一下,就可以知道如何通过apt-get来安装哪个包了。通常情况下所需要安装的是相关包的开发包,所以通常安装的是***-dev这样子的包,比如之前的openssl就是一个典型,编译需要用到openssl的开发包libssl-dev。另外编译安装软件之前应该有个好习惯,是这次编译安装所获得的经验,那就是至少应该先读一读svn下载下来的源码中的README文本文件,在libtorrent目录下的README(用nano README命令打开文本文件)中已说明了库依赖(LIBRARY DEPENDENCIES)libsigc++ 2.0(deb:libsigc++-2.0-dev),g++ >=3.3,而rtorrent目录下的README文本文件里说明了所需库依赖文件是libcurl >=7.12.0,ncurses。所以如果编译之前先阅读了这些说明文件,至少可以事先安装好所需库文件包。