|
amule是一个类似windows下的emule的ed2k客户端。ed2k是一种类似于Bittorrent的点对点文件传输协议。它现对BT的最大优点就是有搜索功能,资源比较丰富。
然而amule在某些环境下工作有些问题,下面一一解决。当然如果官方的amule在你那里工作良好,你就没有必要往下看了。
1. 首先,amule2很容易崩溃。这个问题是“稳定分支“的wxGtk-2.4引起的。amule开发者推荐amule工作在最新的“非稳定分支”wxGtk-2.5下。但是Arch官方的源里面只有稳定分支的wxGtk,于是我们手动编译wxGtk-2.5:
PKGBUILD:
- # $Id: PKGBUILD,v 1.9 2004/09/10 16:28:52 tobias Exp $
- # Maintainer: tobias <tobias@archlinux.org>
- # Original Contributor: Tom Newsom <Jeepster@gmx.co.uk>
- # New Version - Contributor: Bob Finch <w9ya@arrl.net>
- # with help from J. Santiago Hirschfeld <jsantiagoh@yahoo.com.ar> aka Angelus
- # fix by tx-cary
- pkgname=wxgtk
- pkgver=2.5.4
- pkgrel=1
- pkgdesc="wxGTK - GTK+ implementation of wxWidgets API for GUI"
- depends=('gtk2' 'gcc' 'libpng')
- source=("http://puzzle.dl.sourceforge.net/sourceforge/wxwindows/wxGTK-$pkgver.tar.gz")
- url="http://wxwidgets.org"
- md5sums=('bf14358daa76dca8b270d81a02d55f9b')
- build() {
- # Building and installing wxgtk
- cd $startdir/src/wxGTK-$pkgver
- ./configure --prefix=/usr \
- --enable-gui -with-gtk --enable-gtk2 --without-opengl
- make || return 1
- make prefix=$startdir/pkg/usr install
- # Installing wxWidgets contribs
- cd $startdir/src/wxGTK-$pkgver/contrib
- cd src
- make || return 1
- make prefix=$startdir/pkg/usr install
- # fix a link file
- cd $startdir/pkg/usr/bin
- rm wx-config
- ln -s /usr/lib/wx/config/gtk2-ansi-release-2.5 ./wx-config
- }
复制代码
2. 将上面代码保存为PKGBUILD文件,然后运行makepkg -c。编译完毕后,会在当前目录下生成一个wxgtk的pkg包。用pacman -A安装或pacman -U升级它。安装完后检查/usr/bin/wx-config这个连接文件,看看是否指向 /usr/lib/wx/config/gtk2-ansi-release-2.5(ls -l /usr/bin/wx-config),没有则修改之。
注意:如果你升级了wxGtk,那么依赖wxGtk的现有软件可能将无法工作!
你可以用'pacman -Qi wxgtk' 来查看包信息,看"Required By"一段,看看什么软件依赖wxgtk。升级之后要重新编译它们,这个后面会说。
3. 下面开始重新编译amule。先运行'abs'来同步一下最新版本的官方PKGBUILD。如果运行'abs'报错,请搜索相关帖子。
4. 同步完毕后,将“/var/abs/extra/network/amule/PKGBUILD”这个文件考到任何一个其它位置,运行makepkg -c。如果编译错误,请重新查看一下第二步。如果编译完成,在当前目录下会产生amule的pkg包,安装或升级之。
5. 运行一下amule,看看是不是稳定多了。我这里挂多久都不会崩溃了。但是,也许新问题又出来了--无法显示中文?无法在搜索栏输入中文?别着急,请看下一步。
6. 退出amule。在控制台下输入:‘env LC_ALL=zh_CN.UTF-8 GTK_IM_MODULE=scim amule’,其中将scim改为你用的输入法,比如fcitx(fcitx没有测试过,这个方法针对本地环境变量是gb2312或者gbk还有GTK_IM_MODULE=xim的情况,如果你的环境变量没问题,当然就不用改了)。看看,问题是否解决了?
7. 下面到其它依赖wxgtk的问题了。我用的软件只有vlc和amule两个依赖wxgtk。你可以用编译amule同样的方法编译这些软件。vlc的PKGBUILD在这里"/var/abs/extra/multimedia/vlc/PKGBUILD"。如果还有其它软件,可以用" find /var/abs -name 'vlc' "来查找,将vlc替换成你的软件名。 |
|