扫描二维码关注官方公众号
返回列表 发布新帖

[巴法络] 自己编译aria

 
7411 18
发表于 2013-3-27 09:23:41 | 查看全部 阅读模式

来吧兄弟,一起玩一起讨论!

您需要 登录 才可以下载或查看,没有账号?注册

×
本帖最后由 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 ... 3&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/ ... .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可以查看版本号。
结束,希望对大家能有用。

本帖被以下淘专辑推荐:

  • 牛贴|主题: 66, 订阅: 11
  • niu|主题: 2, 订阅: 0

评论18

bgtzhangLv.5 发表于 2013-3-27 10:26:16 | 查看全部
东西不错,应该试试。编译的主要问题其实是编译环境的架设
回复 点赞

使用道具 举报

0i0 发表于 2013-3-27 11:36:54 | 查看全部
嗯,应该试试。
回复 点赞

使用道具 举报

felixqu 发表于 2013-3-27 15:50:31 | 查看全部
谢谢分享,回家试试
回复 点赞

使用道具 举报

Jays 发表于 2013-3-28 11:08:18 | 查看全部
为什么我安装的版本还是 aria2 - 1.14.2-1  而且检测升级也没有提示可用的升级
回复 点赞

使用道具 举报

weyoung楼主 发表于 2013-3-28 20:27:05 | 查看全部
Jays 发表于 2013-3-28 11:08
为什么我安装的版本还是 aria2 - 1.14.2-1  而且检测升级也没有提示可用的升级

这个会自动提示版本升级吗?我好象没看到有这个选项或命令。
需要自己编译替换的。
回复 点赞

使用道具 举报

zal1412 发表于 2013-3-28 23:27:06 | 查看全部
本帖最后由 zal1412 于 2013-3-28 23:29 编辑

小白一名,升级了,结果不能开机自动启动了。。(原来的启动文件没动过)

希望LZ能帮忙解决一下,谢谢!

001.jpg
回复 点赞

使用道具 举报

weyoung楼主 发表于 2013-3-29 10:10:15 | 查看全部
zal1412 发表于 2013-3-28 23:27
小白一名,升级了,结果不能开机自动启动了。。(原来的启动文件没动过)

希望LZ能帮忙解决一下,谢谢!

试着用root登录将aria2c文件的属性改成777?
chmod 777 /opt/bin/aria2c
回复 点赞

使用道具 举报

zal1412 发表于 2013-3-29 19:22:31 | 查看全部
本帖最后由 zal1412 于 2013-3-29 19:43 编辑
weyoung 发表于 2013-3-29 10:10
试着用root登录将aria2c文件的属性改成777?
chmod 777 /opt/bin/aria2c


跟你说的一样,感谢~

想再问个问题。。LZ的启动文件是怎么写的?我是觉得很奇怪,为什么论坛分享的启动文件,把设置参数都写在里面了,这样配置ARIA2,感觉不利修改啊。
回复 点赞

使用道具 举报

weyoung楼主 发表于 2013-4-1 11:09:27 | 查看全部
zal1412 发表于 2013-3-29 19:22
跟你说的一样,感谢~

想再问个问题。。LZ的启动文件是怎么写的?我是觉得很奇怪,为什么论坛分 ...

你的这个问题,正是我要编译新版本aria用的原因之一,新版本有两个改进:
  1). 支持将配置写在配置文件中,启动时不要再指定那些参数。
  2). 支持将未完成的下载写到Session文件中保存,机器重启后会自动还原。


我的配置:
1. 配置一个aria2Start.sh启动文件,内容如下:
  1. #!/bin/bash
  2. export HOME=/root

  3. DOWNDIR="/mnt/disk1/share/aria2down"
  4. CONFIGFILE="/mnt/disk1/share/aria2conf/aria2.conf"
  5. aria2c -c -D --conf-path=$CONFIGFILE --dir=$DOWNDIR
复制代码
注:aria2.conf文件中的配置信息,论坛中有个帖子有示例,我就是照抄的。
2. 配置一个aria2Shutdown.sh,用于关闭aria,内容如下:
  1. cat aria2Shutdown.sh
  2. #!/bin/bash
  3. export HOME=/root

  4. killall aria2c
复制代码
这样需要手工启动或关闭时只需执行aria2Start.sh或aria2Shutdown.sh。还可以配置在crontab中,定时启动下载和停止下载。比如我就配置了每个工作日凌晨2点开始下载、傍晚17点停止下载,这样确保我或我老婆在家时不会因为下载而影响了上网速度。(我自己还好,感觉上网速度慢时就手动关闭Aria和transmission,但我老婆不会弄这些,因此我需要定时关闭下载的功能)。
回复 点赞

使用道具 举报

zal1412 发表于 2013-4-2 02:53:52 | 查看全部
本帖最后由 zal1412 于 2013-4-2 02:54 编辑
weyoung 发表于 2013-4-1 11:09
你的这个问题,正是我要编译新版本aria用的原因之一,新版本有两个改进:
  1). 支持将配置写在配置文件 ...


经过你的指点,试过都可以了,真的太感谢了。。

启动文件,单纯启动ARIA2,配置全在aria2.conf里设置,这样确实直观多了,也能设置得更详细.
  1. #!/bin/bash
  2. export HOME=/root
  3. /opt/bin/aria2c --conf-path=/mnt/array1/.aria2c/aria2.conf -c -D
复制代码
回复 点赞

使用道具 举报

乐天派Lv.8 发表于 2013-4-5 21:58:54 | 查看全部
713+上编译失败了,哎
回复 点赞

使用道具 举报

weyoung楼主 发表于 2013-4-5 22:29:13 | 查看全部
乐天派 发表于 2013-4-5 21:58
713+上编译失败了,哎

有没具体的错误信息?
回复 点赞

使用道具 举报

乐天派Lv.8 发表于 2013-4-6 00:06:04 | 查看全部
weyoung 发表于 2013-4-5 22:29
有没具体的错误信息?

make  all-recursive
make[1]: Entering directory `/volume1/temp/aria2-1.16.5'
Making all in po
make[2]: Entering directory `/volume1/temp/aria2-1.16.5/po'
make[2]: Leaving directory `/volume1/temp/aria2-1.16.5/po'
Making all in intl
make[2]: Entering directory `/volume1/temp/aria2-1.16.5/intl'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `/volume1/temp/aria2-1.16.5/intl'
Making all in lib
make[2]: Entering directory `/volume1/temp/aria2-1.16.5/lib'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `/volume1/temp/aria2-1.16.5/lib'
Making all in deps
make[2]: Entering directory `/volume1/temp/aria2-1.16.5/deps'
Making all in wslay
make[3]: Entering directory `/volume1/temp/aria2-1.16.5/deps/wslay'
make  all-recursive
make[4]: Entering directory `/volume1/temp/aria2-1.16.5/deps/wslay'
Making all in lib
make[5]: Entering directory `/volume1/temp/aria2-1.16.5/deps/wslay/lib'
Making all in includes
make[6]: Entering directory `/volume1/temp/aria2-1.16.5/deps/wslay/lib/includes'

make[6]: Nothing to be done for `all'.
make[6]: Leaving directory `/volume1/temp/aria2-1.16.5/deps/wslay/lib/includes'
make[6]: Entering directory `/volume1/temp/aria2-1.16.5/deps/wslay/lib'
make[6]: Nothing to be done for `all-am'.
make[6]: Leaving directory `/volume1/temp/aria2-1.16.5/deps/wslay/lib'
make[5]: Leaving directory `/volume1/temp/aria2-1.16.5/deps/wslay/lib'
Making all in tests
make[5]: Entering directory `/volume1/temp/aria2-1.16.5/deps/wslay/tests'
make[5]: Nothing to be done for `all'.
make[5]: Leaving directory `/volume1/temp/aria2-1.16.5/deps/wslay/tests'
make[5]: Entering directory `/volume1/temp/aria2-1.16.5/deps/wslay'
make[5]: Leaving directory `/volume1/temp/aria2-1.16.5/deps/wslay'
make[4]: Leaving directory `/volume1/temp/aria2-1.16.5/deps/wslay'
make[3]: Leaving directory `/volume1/temp/aria2-1.16.5/deps/wslay'
make[3]: Entering directory `/volume1/temp/aria2-1.16.5/deps'
make[3]: Nothing to be done for `all-am'.
make[3]: Leaving directory `/volume1/temp/aria2-1.16.5/deps'
make[2]: Leaving directory `/volume1/temp/aria2-1.16.5/deps'
Making all in src
make[2]: 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[2]: *** [aria2c] Error 1
make[2]: Leaving directory `/volume1/temp/aria2-1.16.5/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/volume1/temp/aria2-1.16.5'
make: *** [all] Error 2
回复 点赞

使用道具 举报

乐天派Lv.8 发表于 2013-4-6 11:47:32 | 查看全部
是不是gcc版本的问题啊
回复 点赞

使用道具 举报

weyoung楼主 发表于 2013-4-7 11:32:52 | 查看全部
乐天派 发表于 2013-4-6 11:47
是不是gcc版本的问题啊

make[2]: *** [aria2c] Error 1
没有具体的错误信息。。
回复 点赞

使用道具 举报

xforce 发表于 2013-9-10 23:14:06 | 查看全部
我之前编译老是出错
回复 点赞

使用道具 举报

yzyxinLv.4 发表于 2016-12-21 20:59:11 | 查看全部
mark,现在到1.30版了,能找到的只有1.85
回复 点赞

使用道具 举报

yzyxinLv.4 发表于 2017-7-1 06:35:44 | 查看全部
谢谢分享,学习中。
回复 点赞

使用道具 举报

回复

懒得打字嘛,点击右侧快捷回复 【本站酷狼4T,750元】
您需要登录后才可以回帖 登录 | 注册

本版积分规则

淘宝小店

邀请码

VIP会员

微信客服

公众号

微信群

投诉/建议联系

support@gebi1.cn

未经授权禁止转载,复制和建立镜像,
如有违反,追究法律责任
  • 关注公众号
  • 添加微信客服
Copyright © 2001-2024 隔壁网 版权所有 All Rights Reserved. 粤ICP备14056481号-1
关灯 在本版发帖
扫一扫添加微信客服
返回顶部
快速回复 返回顶部 返回列表