mldonkey编译及运行
发表于 : 2007-10-27 9:00
什么是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的这个帖子(viewtopic.php?t=42337)。
虽然可以直接下载现成的二进制文件,但我更主张自己编译,性能更好,也更稳定,至少原来我使用下载的二进制文件配合Sancho过程中居然出现了运行中找不到Core了的错误。而编译呢,最新版本莫过于用cvs下载源代码编译的了,这是直接下载的最新源代码。
注:cvs是个版本控制软件,我们只是用它来下载源代码和更新源代码、打补丁。
获取源代码
要想用cvs下载,先得安装它,默认Ubuntu是不安装的:
MLDonkey CVS检验还需要autoconf和m4:
使用CVS获取源代码
从CVS更新源代码
进入原来下载的mldonkey目录,从CVS更新:
打补丁:
注:
1、“.../your.patch ”是你的补丁文件的路径含文件名。
2、更新源代码、打补丁后都需要重新编译。
编译准备:
安装基本编译环境:
安装编译mldonkey需要的包:
上面这些包中,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,这既可以通过
从源里安装ocaml(貌似http://mldonkey.sourceforge.net/CompilationProblems没有提lablgtk的事儿)。
如果有网络,也可以通过先安装wget:
再在./configure时加上--enable-batch让系统自动下载并编译安装这两个包。
配置
前期工作做好了,现在我们准备编译了,建议采用如下参数:
这样一是可以自动下载安装那两个包,再就是可以打开线程支持。
正确配置完,一般最后显示信息如下:
编译
然后,
好了,现在你应该在你的mldonkey目录中会有一个mlnet的文件了,就是它了。
运行时可以在其所在目录输入命令
显示
要退出,只需要简单地按Ctrl+C中断这条命令就可以了。
以后如果不想每次都进入这个目录再执行./mlnet,可以将mlnet文件拷贝到系统路径如/usr/bin中:
关联
在Firefox中还需要将ed2k协议与mlnet相关联,否则它不知道如何处理,也就是当你点击ed2k的链接时没有反应。
一方面,我们可以手动添加,具体请参考zhuqin_83的帖子,另一方面,我们也可以使用编译时产生的工具,当然我们得再编译一下:
在mldonkey源代码目录下,执行:
编译后,会生成一些工具,其中就有我们需要的,在mldonkey/distrib/ed2k_mozilla下有个名为mldonkey_protocol_handler-2.2.xpi的Firefox扩展,我们只要打开Firefox的附加软件窗口,再把这个文件拖动到窗口里安装就可以了。
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的这个帖子(viewtopic.php?t=42337)。
虽然可以直接下载现成的二进制文件,但我更主张自己编译,性能更好,也更稳定,至少原来我使用下载的二进制文件配合Sancho过程中居然出现了运行中找不到Core了的错误。而编译呢,最新版本莫过于用cvs下载源代码编译的了,这是直接下载的最新源代码。
注:cvs是个版本控制软件,我们只是用它来下载源代码和更新源代码、打补丁。
获取源代码
要想用cvs下载,先得安装它,默认Ubuntu是不安装的:
代码: 全选
sudo apt-get install ssh cvs
代码: 全选
sudo apt-get install autoconf
代码: 全选
cvs -z3 -d:pserver:[email protected]:/sources/mldonkey co mldonkey
进入原来下载的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
代码: 全选
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
另外,Install.txt文件中提到还需要两个包ocaml和lablgtk,这既可以通过
代码: 全选
sudo apt-get install ocaml-nox ocaml-native-compilers
如果有网络,也可以通过先安装wget:
代码: 全选
sudo apt-get install wget
配置
前期工作做好了,现在我们准备编译了,建议采用如下参数:
代码: 全选
./configure --enable-batch --enable-pthread-lib
正确配置完,一般最后显示信息如下:
关于编译mldonkey自带的GUI界面,可以通过在configure时加一个参数 --enable-gui=newgui2来实现,编译后会在mldonkey目录中出现一个ml**gui(具体文件名记不清了)的文件,不过还是不推荐,自带的Gui比较简陋,也无法设置参数,还是使用Sancho的好,还有zhuqin_83做的中文界面呢。……
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.
编译
然后,
代码: 全选
make
运行时可以在其所在目录输入命令
代码: 全选
./mlnet
就表明已经成功运行了。[dMain] Core started
要退出,只需要简单地按Ctrl+C中断这条命令就可以了。
以后如果不想每次都进入这个目录再执行./mlnet,可以将mlnet文件拷贝到系统路径如/usr/bin中:
代码: 全选
sudo cp mlnet /usr/bin
关联
在Firefox中还需要将ed2k协议与mlnet相关联,否则它不知道如何处理,也就是当你点击ed2k的链接时没有反应。
一方面,我们可以手动添加,具体请参考zhuqin_83的帖子,另一方面,我们也可以使用编译时产生的工具,当然我们得再编译一下:
在mldonkey源代码目录下,执行:
代码: 全选
make utils