一.引
Centos6是我最常用的系统,稳定而且上手之后棒棒的,然而有个问题一直比较尴尬,就是很多软件在Centos6的源里版本落后太多,甚至已经不更新了,这真的尴尬啊,aria2就是这样……作为一款在Rpmforge(Repoforge)源中已经停更的软件(Rpmforge本身都已经放弃维护了),它的版本永远停留在了1.16.4,然而截止目前来说,aria2最新版本已经到了1.27.1,最蛋疼的是这玩意的1.18版本是个坎,很多的配置项都要求在1.18版本以上,特别是rpc-secret这个安全性更新,所以,没办法了,只能上编译大法了。
二.续
PS.最近发现确实是不少人来看这篇文章,我觉得有必要先说明一点,这个是我当初没找到有人发布静态编译的时候手动编译的过程,说实在话比较烦人,如果有想上手即用的建议参考我这篇文章中的静态编译版本,只需要解压然后加个可执行权限就能用——>传送门
首先是一堆依赖包,是的……作为一个强迫症我努力把依赖尽可能满足,所以多了一大堆包_(:з」∠)_,你们可以随意哟
|
yum install bison libssh2-devel expat-devel gmp-devel nettle-devel libuv-devel libssh2-devel zlib-devel c-ares-devel cppunit-devel gnutls-devel libgcrypt-devel libxml2-devel sqlite-devel gettext lzma-devel xz-devel gperftools gperftools-devel gperftools-libs jemalloc-devel |
其中最后的gperftools和jemalloc二选一,第一个是TCMalloc要求,第二个是JEMalloc要求,其中libuv-devel、cppunit-devel都是可选的,要不要随意~\(≧▽≦)/~啦啦啦
然后就是编译啦,最新版本目前是1.27.1,还真是快呢,前两个星期我编译的时候还是1.26.1
|
cd /opt wget https://github.com/aria2/aria2/releases/download/release-1.27.1/aria2-1.27.1.tar.gz tar xzf aria2-1.27.1.tar.gz cd aria2-1.27.1 ./configure --enable-static=yes --enable-shared=no --with-libuv --with-jemalloc --with-ca-bundle='/etc/pki/tls/certs/ca-bundle.crt' ARIA2_STATIC=yes make&&make install |
这个是半静态编译(其实想完全静态编译的,可惜那堆依赖纯静态的太难找了,只能凑合了),不需要的可以去掉--enable-static=yes --enable-shared=no以及最后的 ARIA2_STATIC=yes,当然如果你的系统ca-bundle不知道在哪也可以去掉那个选项,至于jemalloc的话可以换成tcmalloc,看你自己的喜好了,libuv也可以去掉哟,所以其实啥参数都可以不带呢_(:з」∠)_
PS.编译Aria2需要gcc >= 4.8.3 或者 clang >= 3.4,gcc在centos6中版本默认只有4.4,如需安装高版本得用其它方法,详情请参见我接下来的文章
另外还可能出现一个报错如下

请运行如下命令
|
ln -s /usr/lib64/libtasn1.so.3.1.6 /usr/lib64/libtasn1.so |
然后应该就能正常编译了
阅读全文→
近期评论