自己编译aria
本帖最后由 weyoung 于 2013-3-27 10:20 编辑http://www.gebi1.com/thread-26697-1-1.html这个帖子提供了aria 1.16.3的可执行文件下载,前两天我看到官网的版本是1.16.4,今天上来已经是1.16.5了。。
http://forum.buffalo.nas-central.org/viewtopic.php?f=68&t=23603&view=previous,这个是老外论坛上找到的编译步骤,可以在ls-wvl上直接编译源码,简单说明下步骤(###是我添加的说明)。以下是1.16.5为例
ipkg install gcc make
ipkg install gnutls zlib c-ares
###上面两步是安装编译环境
mkdir /mnt/disk1/share/aria
###创建一个临时文件夹
cd /mnt/disk1/share/aria
wget http://sourceforge.net/projects/aria2/files/stable/aria2-1.16.5/aria2-1.16.5.tar.bz2/download
###将最新版本的源代码下载到临时文件夹下。最新版本可以到官网(http://aria2.sourceforge.net/)去找。
tar xvfj *.bz2
###将文件解压
cd aria2-1.16.5
###进入解压后的目录
###以下三个步骤的作用,google得到的:
###./configure是用来检测你的安装平台的目标特征的。比如它会检测你是不是有CC或GCC
###make是用来编译的,它从Makefile中读取指令,然后编译。
###make install是用来安装的,它也从Makefile中读取指令,安装到指定的位置。
###另外请注意这几个步骤都比较慢,configure 要几分钟,make要十几分钟。
./configure --with-libgcrypt-prefix
make
make install
###编译完成,将编译后的文件拷贝到opt目录下
cp /mnt/disk1/share/aria/src/aria2c /opt/bin/.
最后重启程序,通过aria2c -v可以查看版本号。
结束,希望对大家能有用。 东西不错,应该试试。编译的主要问题其实是编译环境的架设 嗯,应该试试。 谢谢分享,回家试试 为什么我安装的版本还是 aria2 - 1.14.2-1而且检测升级也没有提示可用的升级 Jays 发表于 2013-3-28 11:08 static/image/common/back.gif
为什么我安装的版本还是 aria2 - 1.14.2-1而且检测升级也没有提示可用的升级
这个会自动提示版本升级吗?我好象没看到有这个选项或命令。
需要自己编译替换的。 本帖最后由 zal1412 于 2013-3-28 23:29 编辑
小白一名,升级了,结果不能开机自动启动了。。(原来的启动文件没动过)
希望LZ能帮忙解决一下,谢谢!
zal1412 发表于 2013-3-28 23:27 static/image/common/back.gif
小白一名,升级了,结果不能开机自动启动了。。(原来的启动文件没动过)
希望LZ能帮忙解决一下,谢谢!
试着用root登录将aria2c文件的属性改成777?
chmod 777 /opt/bin/aria2c 本帖最后由 zal1412 于 2013-3-29 19:43 编辑
weyoung 发表于 2013-3-29 10:10 static/image/common/back.gif
试着用root登录将aria2c文件的属性改成777?
chmod 777 /opt/bin/aria2c
跟你说的一样,感谢~{:7_204:}
想再问个问题。。LZ的启动文件是怎么写的?我是觉得很奇怪,为什么论坛分享的启动文件,把设置参数都写在里面了,这样配置ARIA2,感觉不利修改啊。 zal1412 发表于 2013-3-29 19:22 static/image/common/back.gif
跟你说的一样,感谢~
想再问个问题。。LZ的启动文件是怎么写的?我是觉得很奇怪,为什么论坛分 ...
你的这个问题,正是我要编译新版本aria用的原因之一,新版本有两个改进:
1). 支持将配置写在配置文件中,启动时不要再指定那些参数。
2). 支持将未完成的下载写到Session文件中保存,机器重启后会自动还原。
我的配置:
1. 配置一个aria2Start.sh启动文件,内容如下:#!/bin/bash
export HOME=/root
DOWNDIR="/mnt/disk1/share/aria2down"
CONFIGFILE="/mnt/disk1/share/aria2conf/aria2.conf"
aria2c -c -D --conf-path=$CONFIGFILE --dir=$DOWNDIR注:aria2.conf文件中的配置信息,论坛中有个帖子有示例,我就是照抄的。
2. 配置一个aria2Shutdown.sh,用于关闭aria,内容如下:cat aria2Shutdown.sh
#!/bin/bash
export HOME=/root
killall aria2c这样需要手工启动或关闭时只需执行aria2Start.sh或aria2Shutdown.sh。还可以配置在crontab中,定时启动下载和停止下载。比如我就配置了每个工作日凌晨2点开始下载、傍晚17点停止下载,这样确保我或我老婆在家时不会因为下载而影响了上网速度。(我自己还好,感觉上网速度慢时就手动关闭Aria和transmission,但我老婆不会弄这些,因此我需要定时关闭下载的功能)。 本帖最后由 zal1412 于 2013-4-2 02:54 编辑
weyoung 发表于 2013-4-1 11:09 static/image/common/back.gif
你的这个问题,正是我要编译新版本aria用的原因之一,新版本有两个改进:
1). 支持将配置写在配置文件 ...
经过你的指点,试过都可以了,真的太感谢了。。
启动文件,单纯启动ARIA2,配置全在aria2.conf里设置,这样确实直观多了,也能设置得更详细.#!/bin/bash
export HOME=/root
/opt/bin/aria2c --conf-path=/mnt/array1/.aria2c/aria2.conf -c -D 713+上编译失败了,哎 乐天派 发表于 2013-4-5 21:58 static/image/common/back.gif
713+上编译失败了,哎
有没具体的错误信息? weyoung 发表于 2013-4-5 22:29 static/image/common/back.gif
有没具体的错误信息?
makeall-recursive
make: Entering directory `/volume1/temp/aria2-1.16.5'
Making all in po
make: Entering directory `/volume1/temp/aria2-1.16.5/po'
make: Leaving directory `/volume1/temp/aria2-1.16.5/po'
Making all in intl
make: Entering directory `/volume1/temp/aria2-1.16.5/intl'
make: Nothing to be done for `all'.
make: Leaving directory `/volume1/temp/aria2-1.16.5/intl'
Making all in lib
make: Entering directory `/volume1/temp/aria2-1.16.5/lib'
make: Nothing to be done for `all'.
make: Leaving directory `/volume1/temp/aria2-1.16.5/lib'
Making all in deps
make: Entering directory `/volume1/temp/aria2-1.16.5/deps'
Making all in wslay
make: Entering directory `/volume1/temp/aria2-1.16.5/deps/wslay'
makeall-recursive
make: Entering directory `/volume1/temp/aria2-1.16.5/deps/wslay'
Making all in lib
make: Entering directory `/volume1/temp/aria2-1.16.5/deps/wslay/lib'
Making all in includes
make: Entering directory `/volume1/temp/aria2-1.16.5/deps/wslay/lib/includes'
make: Nothing to be done for `all'.
make: Leaving directory `/volume1/temp/aria2-1.16.5/deps/wslay/lib/includes'
make: Entering directory `/volume1/temp/aria2-1.16.5/deps/wslay/lib'
make: Nothing to be done for `all-am'.
make: Leaving directory `/volume1/temp/aria2-1.16.5/deps/wslay/lib'
make: Leaving directory `/volume1/temp/aria2-1.16.5/deps/wslay/lib'
Making all in tests
make: Entering directory `/volume1/temp/aria2-1.16.5/deps/wslay/tests'
make: Nothing to be done for `all'.
make: Leaving directory `/volume1/temp/aria2-1.16.5/deps/wslay/tests'
make: Entering directory `/volume1/temp/aria2-1.16.5/deps/wslay'
make: Leaving directory `/volume1/temp/aria2-1.16.5/deps/wslay'
make: Leaving directory `/volume1/temp/aria2-1.16.5/deps/wslay'
make: Leaving directory `/volume1/temp/aria2-1.16.5/deps/wslay'
make: Entering directory `/volume1/temp/aria2-1.16.5/deps'
make: Nothing to be done for `all-am'.
make: Leaving directory `/volume1/temp/aria2-1.16.5/deps'
make: Leaving directory `/volume1/temp/aria2-1.16.5/deps'
Making all in src
make: Entering directory `/volume1/temp/aria2-1.16.5/src'
/bin/ash ../libtool --tag=CXX --mode=link g++-g -O2 -o aria2c main.o optio
n_processing.o version_usage.o libaria2c.a ../deps/wslay/lib/libwslay.la -lrt
-L/opt/lib -lgcrypt -lgpg-error -L/opt/lib -lxml2 -lz -lm
libtool: link: g++ -g -O2 -o aria2c main.o option_processing.o version_usage.o
libaria2c.a ../deps/wslay/lib/.libs/libwslay.a -lrt -L/opt/lib /opt/lib/libgcryp
t.so /opt/lib/libgpg-error.so -lxml2 -lz -lm -Wl,-rpath -Wl,/opt/lib -Wl,-rpath
-Wl,/opt/lib
main.o: In function `__exchange_and_add':
/opt/lib/gcc/i686-linux-gnu/4.2.1/../../../../include/c++/4.2.1/ext/atomicity.h:
51: undefined reference to `__sync_fetch_and_add_4'
/opt/lib/gcc/i686-linux-gnu/4.2.1/../../../../include/c++/4.2.1/ext/atomicity.h:
51: undefined reference to `__sync_fetch_and_add_4'
/opt/lib/gcc/i686-linux-gnu/4.2.1/../../../../include/c++/4.2.1/ext/atomicity.h:
51: undefined reference to `__sync_fetch_and_add_4'
/opt/lib/gcc/i686-linux-gnu/4.2.1/../../../../include/c++/4.2.1/ext/atomicity.h:
51: undefined reference to `__sync_fetch_and_add_4'
main.o: In function `__exchange_and_add':
/volume1/temp/aria2-1.16.5/src/SharedHandle.h:176: undefined reference to `__syn
c_fetch_and_add_4'
main.o:/opt/lib/gcc/i686-linux-gnu/4.2.1/../../../../include/c++/4.2.1/ext/atomi
city.h:51: more undefined references to `__sync_fetch_and_add_4' follow
collect2: ld returned 1 exit status
make: *** Error 1
make: Leaving directory `/volume1/temp/aria2-1.16.5/src'
make: *** Error 1
make: Leaving directory `/volume1/temp/aria2-1.16.5'
make: *** Error 2 是不是gcc版本的问题啊 乐天派 发表于 2013-4-6 11:47 static/image/common/back.gif
是不是gcc版本的问题啊
make: *** Error 1
没有具体的错误信息。。 我之前编译老是出错 mark,现在到1.30版了,能找到的只有1.85 谢谢分享,学习中。
页:
[1]