当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 10 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : mldonkey编译及运行
帖子发表于 : 2007-10-27 9:00 

注册: 2006-04-29 14:54
帖子: 1187
地址: 山东
送出感谢: 0 次
接收感谢: 0 次
什么是mldonkey?
Mldonkey(mldonkey.sourceforge.net)是一个支持多平台、多协议的p2p下载软件,它支持Linux/Unix/Windows平台,默认支持eDonkey、BitTorrent、FileTP(又称wget)、Fasttrack、Direct Connect协议,其中的FileTP可以下载http、ftp协议的文档。原来支持的Gnutella、Gnutella2、Open Napster、Soulseek、OpenFT现在已经默认放弃支持了。从其支持的协议看,更象是迅雷,而比迅雷更强大。

它的核心是命令行文件,可以通过Web界面、telnet界面、简单Wap界面和GUI界面来操作,刚一上手,多是用GUI界面,而支持mldonkey的GUI界面也有许多,最著名的一个就是Sancho,关于如何使用Sancho,请看zhuqin_83的这个帖子(http://forum.ubuntu.org.cn/viewtopic.php?t=42337)。

虽然可以直接下载现成的二进制文件,但我更主张自己编译,性能更好,也更稳定,至少原来我使用下载的二进制文件配合Sancho过程中居然出现了运行中找不到Core了的错误。而编译呢,最新版本莫过于用cvs下载源代码编译的了,这是直接下载的最新源代码。
注:cvs是个版本控制软件,我们只是用它来下载源代码和更新源代码、打补丁。

获取源代码

要想用cvs下载,先得安装它,默认Ubuntu是不安装的:
代码:
sudo apt-get install ssh cvs

MLDonkey CVS检验还需要autoconf和m4:
代码:
sudo apt-get install autoconf


使用CVS获取源代码
代码:
cvs -z3 -d:pserver:anonymous@cvs.savannah.nongnu.org:/sources/mldonkey co mldonkey


从CVS更新源代码
进入原来下载的mldonkey目录,从CVS更新:
代码:
cd mldonkey
    cvs -q -z3 up -dPA


打补丁:
代码:
cd mldonkey
   patch -p0 -E -s <.../your.patch

注:
1、“.../your.patch ”是你的补丁文件的路径含文件名。
2、更新源代码、打补丁后都需要重新编译。

编译准备

安装基本编译环境:
代码:
sudo apt-get install gcc g++ libc-dev make


安装编译mldonkey需要的包:
代码:
sudo apt-get install zlib1g-dev libbz2-dev libgd2-noxpm-dev libmagic-dev libpthread-stubs0-dev libgtk2.0-dev libiconv-hook-dev librsvg2-dev libclthreads-dev


上面这些包中,zlib1g-dev libbz2-dev libgd2-noxpm-dev libmagic-dev 是在http://mldonkey.sourceforge.net/CompilationProblems中提到的,后面这几个是我为了打开mldonkey的全部特性摸索出来的,可能有一两个不准确。我没有采用libgd2-noxpm-dev这个包,而是用的libgd2-xpm-dev,一样通过了编译。
另外,Install.txt文件中提到还需要两个包ocaml和lablgtk,这既可以通过
代码:
sudo apt-get install ocaml-nox ocaml-native-compilers

从源里安装ocaml(貌似http://mldonkey.sourceforge.net/CompilationProblems没有提lablgtk的事儿)。

如果有网络,也可以通过先安装wget:
代码:
sudo apt-get install wget


再在./configure时加上--enable-batch让系统自动下载并编译安装这两个包。
配置
前期工作做好了,现在我们准备编译了,建议采用如下参数:
代码:
./configure --enable-batch --enable-pthread-lib

这样一是可以自动下载安装那两个包,再就是可以打开线程支持。
正确配置完,一般最后显示信息如下:
引用:
……
Building dependencies (if it blocks, try 'make depend' to see the problem)

Configuring MLDonkey 2.9.2.CVS - SCM: 2007-10-26 22:03:29 completed.

Network modules:
- eDonkey enabled (eMule SUI enabled)
- BitTorrent enabled
- FileTP (aka wget) enabled
- Fasttrack enabled
- Gnutella disabled - unmaintained
- Gnutella2 disabled - unmaintained
- Direct Connect enabled
- Open Napster disabled - currently not usable
- Soulseek disabled - currently not usable
- OpenFT disabled - currently not usable

Core features:
- zlib (required) enabled
- threads enabled
- bzip2 enabled
- iconv enabled
- libmagic enabled
- graphical stats enabled
- png support enabled
- jpg support enabled

Compilers:
- Ocaml version 3.10.0
- gcc version 4.1.3
- g++ version 4.1.3

Now execute 'make' to start compiling. Good luck!

To compile a static code execute: make mlnet.static
To produce a release tarball execute: make release.mlnet.static
To clean the build directory execute: make maintainerclean

Compiling CryptoPP.cc can take several minutes, on slow machines up to half an hour.


关于编译mldonkey自带的GUI界面,可以通过在configure时加一个参数 --enable-gui=newgui2来实现,编译后会在mldonkey目录中出现一个ml**gui(具体文件名记不清了)的文件,不过还是不推荐,自带的Gui比较简陋,也无法设置参数,还是使用Sancho的好,还有zhuqin_83做的中文界面呢。

编译
然后,
代码:
make


好了,现在你应该在你的mldonkey目录中会有一个mlnet的文件了,就是它了。
运行时可以在其所在目录输入命令
代码:
./mlnet

显示
引用:
[dMain] Core started

就表明已经成功运行了。

要退出,只需要简单地按Ctrl+C中断这条命令就可以了。

以后如果不想每次都进入这个目录再执行./mlnet,可以将mlnet文件拷贝到系统路径如/usr/bin中:
代码:
sudo cp mlnet /usr/bin



关联

在Firefox中还需要将ed2k协议与mlnet相关联,否则它不知道如何处理,也就是当你点击ed2k的链接时没有反应。

一方面,我们可以手动添加,具体请参考zhuqin_83的帖子,另一方面,我们也可以使用编译时产生的工具,当然我们得再编译一下:
在mldonkey源代码目录下,执行:
代码:
make utils


编译后,会生成一些工具,其中就有我们需要的,在mldonkey/distrib/ed2k_mozilla下有个名为mldonkey_protocol_handler-2.2.xpi的Firefox扩展,我们只要打开Firefox的附加软件窗口,再把这个文件拖动到窗口里安装就可以了。


_________________
学会看置顶帖、精华帖。
学会使用搜索。
常见问题解答和发帖需知


最后由 lisir 编辑于 2007-10-27 11:59,总共编辑了 3 次

页首
 用户资料  
 
2 楼 
 文章标题 :
帖子发表于 : 2007-10-27 9:07 

注册: 2006-04-29 14:54
帖子: 1187
地址: 山东
送出感谢: 0 次
接收感谢: 0 次
本文选取翻译了mldonkey.sourceforge.net上的文档的一部分,并结合自己的实践写的。水平不高,欢迎指正。

另,不知为何,使用了mldonkey_protocol_handler-2.2.xpi的Firefox扩后Firefox变慢了(我原来是自己添加协议使用submit提交链接,没有删除)。


_________________
学会看置顶帖、精华帖。
学会使用搜索。
常见问题解答和发帖需知


页首
 用户资料  
 
3 楼 
 文章标题 :
帖子发表于 : 2007-10-27 9:49 
头像

注册: 2006-05-13 4:02
帖子: 10606
送出感谢: 0 次
接收感谢: 7
囗囗囗囗


_________________
HP Pavilion DV6-2064CA: AMD Turion II Ultra Dual-Core Mobile M640, HD4650, 2GBx2 DDR2-800, Seagate 500GB 7200RPM SATA, BD-ROM
DELL UltraSharp 2209WA
Arch64, Testing repo


页首
 用户资料  
 
4 楼 
 文章标题 :
帖子发表于 : 2007-10-27 11:09 

注册: 2007-04-11 17:39
帖子: 153
送出感谢: 0 次
接收感谢: 0 次
sudo apt-get install zlib1g-dev libbz2-dev libgd2-noxpm-dev libmagic-dev libpthread-stubs0-dev libgtk2.0-dev libiconv-hook-dev librsvg2-dev libclthread2-dev

最后个应该为libclthreads-dev


页首
 用户资料  
 
5 楼 
 文章标题 :
帖子发表于 : 2007-10-27 11:58 

注册: 2006-04-29 14:54
帖子: 1187
地址: 山东
送出感谢: 0 次
接收感谢: 0 次
wgsdd 写道:
sudo apt-get install zlib1g-dev libbz2-dev libgd2-noxpm-dev libmagic-dev libpthread-stubs0-dev libgtk2.0-dev libiconv-hook-dev librsvg2-dev libclthread2-dev

最后个应该为libclthreads-dev


谢谢指正。


_________________
学会看置顶帖、精华帖。
学会使用搜索。
常见问题解答和发帖需知


页首
 用户资料  
 
6 楼 
 文章标题 : Re: mldonkey编译及运行
帖子发表于 : 2009-06-28 15:02 

注册: 2009-06-02 19:55
帖子: 43
送出感谢: 0 次
接收感谢: 0 次
学习了 :em20


页首
 用户资料  
 
7 楼 
 文章标题 : Re: mldonkey编译及运行
帖子发表于 : 2011-05-02 21:01 
头像

注册: 2011-04-03 10:01
帖子: 980
地址: 帝都
系统: Ubuntu 12.XX
送出感谢: 28
接收感谢: 18
make 出错:
代码:
cherrot@Cherrot-TA880G-HD:/tmp/mldonkey-3.0.7$ make
/tmp/mldonkey-3.0.7/patches/local/bin/ocamlopt -inline 10    -I src/utils/extlib  -I src/utils/cdk  -I src/utils/bitstring  -I src/utils/lib  -I src/utils/ocamlrss  -I src/utils/xml-light  -I src/utils/net  -I tools  -I src/daemon/common  -I src/daemon/driver  -I src/utils/mp3tagui  -I src/config/unix  -I src/networks/direct_connect  -I src/networks/fasttrack  -I src/networks/fileTP  -I src/networks/bittorrent  -I src/networks/donkey -I +camlp4 -c src/daemon/common/commonMain.ml
File "src/daemon/common/commonMain.ml", line 20, characters 0-12:
Error: Unbound module Printf2
make: *** [src/daemon/common/commonMain.cmx] 错误 2


何解?


_________________
Ubuntu技巧汇总http://wiki.ubuntu.org.cn/UbuntuSkills --你遇到的各种问题可能已经在里面了
我的技术博客http://www.cherrot.com
Code tells you how, comments should tell you why.


页首
 用户资料  
 
8 楼 
 文章标题 : Re: mldonkey编译及运行
帖子发表于 : 2011-05-02 21:13 
头像

注册: 2011-04-03 10:01
帖子: 980
地址: 帝都
系统: Ubuntu 12.XX
送出感谢: 28
接收感谢: 18
LS的错误我搜了一下,貌似在加上 --enable-force-ocaml即可解决,如下:
代码:
./configure --enable-batch --enable-pthread-lib --enable-force-ocaml

于是我删除makefile执行上述命令,然后make,输出结果如下,还是无法编译……

代码:
/tmp/mldonkey-3.0.7/patches/local/bin/ocamlc   -I src/utils/extlib  -I src/utils/cdk  -I src/utils/bitstring  -I src/utils/lib  -I src/utils/ocamlrss  -I src/utils/xml-light  -I src/utils/net  -I tools  -I src/daemon/common  -I src/daemon/driver  -I src/utils/mp3tagui  -I src/config/unix  -I src/networks/direct_connect  -I src/networks/fasttrack  -I src/networks/fileTP  -I src/networks/bittorrent  -I src/networks/donkey -I +camlp4 -c tools/ocamlpp.ml
/tmp/mldonkey-3.0.7/patches/local/bin/ocamlc -linkall -o ocamlpp.byte \
        -custom bigarray.cma unix.cma str.cma -ccopt " " -cclib "-lz  " -cclib -lbz2 -ccopt "-pthread" \
     \
     \
     \
     \
     \
     \
   -I build         tools/ocamlpp.cmo 
/bin/sh: /tmp/mldonkey-3.0.7/patches/local/bin/camlp4: not found
make: *** [src/utils/lib/options.ml] 错误 127


已解决!犯了低级错误,放到/tmp下编译却忘记了sudo,在家目录下编译成功


_________________
Ubuntu技巧汇总http://wiki.ubuntu.org.cn/UbuntuSkills --你遇到的各种问题可能已经在里面了
我的技术博客http://www.cherrot.com
Code tells you how, comments should tell you why.


最后由 Cherrot 编辑于 2011-05-07 13:30,总共编辑了 1 次

页首
 用户资料  
 
9 楼 
 文章标题 : Re: mldonkey编译及运行
帖子发表于 : 2011-05-02 21:15 
头像

注册: 2010-10-07 14:23
帖子: 33994
地址: 某系某星某洲某国某省某市
系统: Archdows10
送出感谢: 29
接收感谢: 151
编译……没试过…… :em06


_________________
心似浮云常自在,意如流水任东西。
此事背后一定有个天大的咪咪
广告:
1、走过路过,不要错过,dropbox网盘2.25G大放送
py大法好,退C保平安
java多妖孽,VB本异端
日诵一千遍,快活似神仙


页首
 用户资料  
 
10 楼 
 文章标题 : Re: mldonkey编译及运行
帖子发表于 : 2011-05-04 21:20 
头像

注册: 2011-04-03 10:01
帖子: 980
地址: 帝都
系统: Ubuntu 12.XX
送出感谢: 28
接收感谢: 18
升级后第一次编译程序,没想到就如此悲剧…… :em20


_________________
Ubuntu技巧汇总http://wiki.ubuntu.org.cn/UbuntuSkills --你遇到的各种问题可能已经在里面了
我的技术博客http://www.cherrot.com
Code tells you how, comments should tell you why.


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 10 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 3 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译