Arch下编译talkmm
星期天, 五月 31st, 2009Arch下talkmm编译指南
1.编译前准备的包
语音支持方面的包
yaourt -S speex ilbc linphone
界面支持方面的包
yaourt -S gtkmm libsexymm
2.下载源码包
wget http://talkmm.googlecode.com/files/libjingle-0.4.1.tar.bz2
wget http://talkmm.googlecode.com/files/talkmm-0.10.tar.bz2
3. 解压libjingle
tar xvfj libjingle-0.4.1.tar.bz2
cd libjingle-0.4.1
./configure
make
cd ..
4. 解压talkmm
tar xvfj talkmm-0.10.tar.bz2
cd talkmm-0.10
5. 连接libjingle目录
ln -s ../libjingle-0.4.1/talk src/talk
注意这是在talkmm-0.10目录里做的,并且libjingle-0.4.1目录就在talkmm-0.10同级目录中。
这是为了talkmm里的源码能连接到libjingle里生成的静态库.
6.编译talkmm
./autogen.sh
./configure
make
sudo make install
PS. Arch中gcc 4.4.0-3 版本在编译时似乎有个bug。目前只能跳过这个gcc的版本来编译.
如要指定ilbc位置,就以下面方式
./configure –with-ilbc=/usr/local
更正:前面说是4.4.0-3编译有bug,是我记错了。其实是4.4.0-2的bug,在线程同步方面。当时编译不过我就降级了,没想到过没多久gcc又升级并fix了这个bug。大家找的那个patch打上也无坏。它也修正了一些问题,我也已经把它加入svn中。
something
星期五, 四月 24th, 2009最近战线拉得太长了,不断参与新项目。得节制一下。别重量不重质了。
提醒一下自己。
ubuntu9.04发布了。这是好消息。虽然我不用再升级了。
但用arch也有烦恼,电源管理这个程序最新版总是神神的,小bug不断。
gmlive好久没更新了,上次在论坛上随便开个玩笑还让人以为不再开发了。积累了两路人马的语言翻译没发布出去哩,不更新对不住人家。
gmchess的AI对战初步有成效了,目前就差个死棋检测。但是发现这死棋检测也是不容易的,要不先放个预览版给大家?
gmbox则是重在参与,这项目的其它开发者倒是比偶勤奋得多了。
未来两周则放到一新项目上,又是一个大项目啊,保持下神秘感。
开源模式
星期五, 四月 10th, 2009bones引用的一句话” release early , release often”引发了我再次去查看《大教堂与市集》这篇经典文章。事实上我以前总与这篇文章擦身而过。我总高傲地认为,开源嘛,不就是开放源代码嘛。总是没有认真地阅读过里面的文字(这规于年少的轻狂)。于是扎头进去写一两个软件,发布出来,美其名是曰开源软件。
我总是痛恨国内环境如何之差,找不到一两个可以合作的开发者。却没有想过这一切是我自己造成的。我做的已经足够好了吗?发布了源码,就是开放环境了吗?
设身处地地想想吧,某人发布了一个x软件,我有些感兴趣,想参与。于是下载代码来看,发现代码已经挺多的了,但是却没有开发文档。那有没有讨论的论坛呢,也没有。那只有硬头皮读代码吧。有处不明白,那发封邮件给作者问问吧。嗯,算是解答了,但我怎么感觉态度一般而已啊,好像是我发邮件烦他一样,那没事还是别发邮件了。三天后,哎,代码太难看了。又没文档说清楚,算了,我自己到别处玩好了。
那我的情景,是不是这样呢。缺少文档。每次svn修改又不做过多说明,这无异于封闭开发。性格过于内敛,觉得还没个功能整天发关于软件的一些问题有张扬的嫌疑。有问题又不发布出来,自个儿躲起来研究。
像昨天说的,既然我不是天才,我无法一个人写出优秀的软件。那么我就应该尽全力调动开源的优势来完成项目。而对于目前的几个项目,我做的都不好,需要深思。
对于开源模式,迅速地提升个人编程能力不是最主要的,而是个人建立这个社区及开发群体的能力,我需要深思。
lrcdis的rhythmbox插件
星期五, 三月 20th, 2009众所周知,bones及一般脚本控达人搞了个lrcdis的歌词显示脚本,自动下载歌词还有多种显示方式,以支持N多的播放器。
用着真的是非常爽啊。但它需要在终端中另外开启。
于是我简单地为rhythmbox写了个插件调用它。只要启动这个lrcdis插件后,rhythmbox会在后台自动调用这个脚本。
如此听歌,启不更爽哉!
下载地址:http://geekr.googlecode.com/files/lrcdis-rb.tar.gz
解压文件后放到 ~/.gnome2/rhythmbox/plugins 目录下,在rhythmbox开启相关插件即可,其它操作如lrcdis一般。
这个插件其实相当简单,就是启动lrcdis而已,不过也相当有潜力,可以发展成能配置lrcdis什么的。
ps.修正lrcdis一个bug,一会报告去…
发件人 lerosua’ blog
autotool简约指南
星期四, 三月 19th, 2009写项目最烦的一项就是写Makefile,虽然有autoconf/automake这套工具。但我一直不会搞,因为几次屡屡出错,损失了信心。一看到它就头大,感觉特别复杂。
不过这几天坚定信心,勇创难关,终于初窥门径。本文不打算教你啥原理,只是按步就班指导一下步骤。因为网上的原理教程多的是。但怕自己忘记操作的步骤,所以记下来.
众所周所automake支持三种目录层次:flat、shallow和deep。以下例子是deep的,因为这才是项目最常用到的结构(不知道是啥去找文章看看)
1.首先建立自己的源码目录,foo, foo下有src目录,src目录下才是真正的源码 foo.c
leros@leros-desktop:/tmp$ ls foo/
src
leros@leros-desktop:/tmp$ ls foo/src/
foo.c
leros@leros-desktop:/tmp$ cat foo/src/foo.c
#include <stdio.h>
int main(int argc, char *argv[])
{
printf("test autoconf\n");
return 0;
}
2.进入foo目录执行autoscan,扫描生成configure.scan
leros@leros-desktop:/tmp/foo$ autoscan
leros@leros-desktop:/tmp/foo$ ls
autoscan.log configure.scan src
3.把configure.scan改名为configure.in,然后修改内容
4 AC_PREREQ(2.61)
5 AC_INIT(foo,1.0,lerosua@lerosua.org)
6 AC_CONFIG_SRCDIR([src/foo.c])
7 AC_CONFIG_HEADER([config.h])
8 AM_INIT_AUTOMAKE(foo,1.0)
9
[...]
折腾perl脚本
星期三, 三月 11th, 2009这两天没写程序,倒是和脚本较上劲了。主要是在ubuntu.cn论坛里收了ee的两个perl脚本。一个发图的,一个是将文件当成附件发送邮件的。
问题的关键是ubuntu和arch里的perl环境不一样。而arch的perl实在是太BT了。
这是ee的截图并上传脚本的帖子:
http://forum.ubuntu.org.cn/viewtopic.php?f=120&t=125239
arch环境中要运行它必须降级相关的perl模块,分别是perl-libwww-5.800 perl-www-mechanize-1.24
下面这个是ee的发送邮件附件脚本的帖子:
http://forum.ubuntu.org.cn/viewtopic.php?f=21&t=133299
arch源中我没找着Mail::Sender模块,于是自己搞了个PKGBUILD来安装它。
# $Id: PKGBUILD,v 1.11 2008/03/24 16:16:28 sergej Exp $
# Maintainer: Sergej Pupykin
# Contributor: Francois Charette
# PKGBUILD writer : lerosua
pkgname=Mail-Sender
pkgver=0.8.16
pkgrel=2
pkgdesc="Automates web page form & link interaction"
arch=(’i686′ ‘x86_64′)
url="http://search.cpan.org/Mail-Sender"
license=(’GPL’ ‘PerlArtistic’)
depends=(’perl-uri’ ‘perl-html-parser’ ‘perl>=5.10.0′)
options=(’!emptydirs’)
source=(http://search.cpan.org/CPAN/authors/id/J/JE/JENDA/Mail-Sender-$pkgver.tar.gz)
md5sums=(’e5d88236202b3d39567ade7d560797b0′)
build() {
cd $startdir/src/Mail-Sender-$pkgver
PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor || return 1
make || return 1
make install DESTDIR=$startdir/pkg || return 1
find $startdir/pkg -name ‘.packlist’ -delete
find $startdir/pkg -name ‘*.pod’ [...]
project temporarily name italk preview
星期二, 七月 31st, 2007pgrep can’t search string which out of 15 chars
星期二, 七月 31st, 2007pgrep can’t search string which out of 15 chars
pgrep is a Linux command tool. it can search process id by its name.one day , pypcjs tell it can’t search process name which out of 15 chars.
it means :$pgrep hello1234567890it return nothing.
i say , it may not a bug, just not necessarily. anyway , just remand [...]
稍微汉化了一点txt2regex
星期一, 四月 23rd, 2007昨天在 linuxtoy 上看到一个脚本:txt2regex,正则表达式编写向导发现这东西实在太好用了。因为每种工具的正则表达式都有些微的不同。每次我都记不住 。当到用时就恨恨地~昨晚花时间研究了下。并且编写了一个简单的语言包,zh_CN.po ,以使它比较中文化一些。但本人在翻译上天份有限。因为对于字词把握有点出入。本人努力改进中。当然如果你英文好就不必下载了。如果你的英文和Wind一样的话,不妨下载来看看吧。地址: txt2regex (包含zh_CN.po的打包)解压后只需 sudo make install
