ShowLyric 没法在 64 位系统下用?

昨晚临睡前看了篇文章《10款常用的Linux音乐播放器》,没忍住就去装了 Audacious,还有曾经的最爱 Amarok,顺便借助 Mutagen 解决了 mp3 标签中文乱码的问题(请看参考此文:《对 mp3 乱码问题的分析和解决》)。

随后想到要给 Audacious 装个歌词显示的插件,可惜花了十牛三虎之力也没成功,以下记录整个过程。

首先找到的是 LyricZilla,可惜已经停止开发,从源码安装没有任何说明,无法生成插件的 .so。

后来在 Ubuntu 中文社区上找到另一款用于 Audacious 的歌词显示插件 ShowLyric,当前版本为 0.3.11。

下载安装时提示找不到 gksu,于是 emerge 了个 gksu(好慢),随后打开 install 脚本才发现其实 gksu 就是个 gtk 版本的 sudo。要 sudo 的话,干嘛不直接写成 sudo ./install 呢? 不解。

安装完后,按照提示打开 Audacious 的插件设置面板,在 General 页中并没有找到 ShowLyric。检查一下 Audacious 的插件路径,是在 /usr/lib64/audacious/General/ 目录下,而 ShowLyric 被安装到了 /usr/lib/audacious/General/。只要拷贝一份过去就可以了。

安装好后依然没有显示歌词面板,论坛上有人提到是 64 位系统的问题,我在调试过程中发现似乎是 ttplayer 的问题,执行 /usr/share/ShowLyric/ttplayer 时提示:

/usr/share/ShowLyric/ttplayer: error while loading shared libraries: libpython2.5.so.1.0: wrong ELF class: ELFCLASS64

看看 ttplayer 依赖的库:

# ldd /usr/share/ShowLyric/ttplayer
linux-gate.so.1 => (0xffffe000)
libxml2.so.2 => /usr/lib32/libxml2.so.2 (0xf7e71000)
libpython2.5.so.1.0 => not found
libc.so.6 => /lib32/libc.so.6 (0xf7d41000)
libdl.so.2 => /lib32/libdl.so.2 (0xf7d3d000)
libz.so.1 => /lib32/libz.so.1 (0xf7d29000)
libm.so.6 => /lib32/libm.so.6 (0xf7d03000)
/lib/ld-linux.so.2 (0xf7fa7000)

原来 ttplayer 没有提供源代码,是在 32 位系统下预编译好的,它需要使用 32 位版本的 libpython2.5.so.1.0。最简单的办法就是从 32 位系统里拷贝一个过来,可惜俺手头只有 64 位的,只好到 Ubuntu 的源里找了个 32 位的 Python2.5 的 deb 包,然后用 deb2targz 转成 tar.gz,最后解压获得 libpython2.5.so.1.0,放到 /usr/lib32 下。

在 sonsole 中执行 Audacious,在搜索歌词时输出错误:

ShowLyric(0.3.8): The playlist length is 30!(../src/Audacious.c:97)

ShowLyric(0.3.8): The playlist pos is 27!(../src/Audacious.c:104)

ShowLyric(0.3.8): szFileName: 28. 信乐团 – 天高地厚 – 我活着 (4:48)
ShowLyric(0.3.8): szTitle: 我活着
ShowLyric(0.3.8): szArtist: 信乐团
ShowLyric(0.3.8): ClearLyric————————————
ShowLyric(0.3.8): LoadLyric(我活着, 信乐团)
ShowLyric(0.3.8): SearchLyric……

ShowLyric(0.3.8): 正在搜索歌词……

ShowLyric(0.3.8): (19)正在搜索歌词(6124)
Error when import TTDownLoadLyric
ShowLyric(0.3.8): (18)正在搜索歌词(6124)
ShowLyric(0.3.8):
——

ShowLyric(0.3.8): Error while searching.

在源码中没有找到 “Error when import TTDownLoadLyric”,那一定是在 ttplayer 里输出的。

再次执行 ttplayer:

# /usr/share/ShowLyric/ttplayer
歌曲名是必须指定的.
argvs: -t:title -a:artist -i:id -o:fileName
Error when import TTDownLoadLyric

/usr/share/ShowLyric/TTDownLoadLyric.py 是个 python 脚本,ttplayer 就是在调用 PyImport_ImportModule 载入这个模块时出错了。

终归究底还是 ttplayer 的问题,可惜没有源码,搞不定了。

俺是懒人,懒于申请 Ubuntu 中文社区的帐号。哪位过客看到了,方便的话就帮忙反应一下以上所说的这些问题吧。

— EOF —

《ShowLyric 没法在 64 位系统下用?》有14个想法

  1. Hello, i believe that i saw you visited my website thus i came to go back the choose?.I am trying to to find things to improve my website!I guess its adequate to make use of a few of your ideas!!|

  2. Thanks for any other wonderful post. The place else may anybody get that type of info in such a perfect means of writing? I have a presentation next week, and I’m on the search for such information.

  3. One thing I want to pskodysn discuss is that fat burning plan fast is possible by the correct diet and exercise. Someone’s size not just affects appearance, but also the complete quality of life. Self-esteem, melancholy, health risks, and also physical ability are impacted in an increase in weight. It is possible to do everything right and at the same time having a gain. In such a circumstance, a medical problem may be the perpetrator. While an excessive amount food rather than enough body exercise are usually at fault, common medical conditions and widely used prescriptions could greatly help to increase size. Thanks alot : ) for your post right here.

  4. garcinia cambogia 3000 extreme purists forskolin extract for weight loss svetol green coffee bean extract side effects how to use acai deep conditioning masque how to make pomegranate desserts best hoodia gordonii pillsbury psyllium weight loss results chitosan biodegradable balloons bulk guar gum billings mt how does lipozene burn fat resveratrol beneficios en espanol

  5. Enchanted Forest Tapete für Kinder Einer der großen Vorteile Wandmalereien ist, dass es zu erfassen und für etwas, das der Verstand sich ausdenken und ist nur durch die Kreativität des Künstlers genau begrenzt ist.

发表评论

电子邮件地址不会被公开。 必填项已用*标注