作者:天外閒雲 @ www.chinaunix.net
注意,這篇文章只是一個筆記類的東西,如果您是新手可能很難按照本文的內容,安裝gaim,對於新手我推薦您使用您的發行版官方編譯的gaim,畢竟這gaim官方faq也這麼說。
最近把gaim0.8了,碰到了兩個問題:
1、ssl庫支持問題。
2、聲音問題。
查閱了官方faq之後,總算解決了問題。
1、ssl庫支持問題。
1.1概述
剛開始這個問題的確很讓我困惑,我一看是ssl,第一件事就是
代碼:
rpm -qa grep ssl
openssl我是裝了的,但是偏偏gaim不認,後來照著它的提示,在官方的ssl faq上才知道,原來openssl不能作為gaim的ssl庫支持來使用。
按照官方的說法gaim的ssl庫支持,可以使用兩個方法:
1、安裝Mozilla NSS & NSPR
2、安裝GnuTLS
方案1在論壇精華裡也有,但是,不管是3.8版還是最新的3.92版都沒有該文中所描述的目錄結構,而且nss和nspr是打包在一起的,沒弄明白該文作者到底怎麼實現的用nss+nspr解決MSN ssl庫支持的。懷疑ing?難道因為該文時間太久,所以有了變動?(該文發帖時間是2004年三月)
按照官方的安裝方法,不管是3.8版和最新的3.92版都不能成功編譯,前者編譯時找不到什麼模塊,而且也沒有編譯規則,後者,編譯過程中對某個文件的定位不對,導致無法編譯成功。
1.2安裝GnuTLS
方案1已經是不可能了,試用了一下方案2,經過幾番周折,總算是成功了:
軟件准備:
libgpg-error (needed by libgcrypt):FTP://ftp.gnupg.org/gcrypt/alpha/libgpg-error/libgpg-error-0.7.tar.gz
libgcrypt (needed by GnuTLS):ftp://ftp.gnupg.org/gcrypt/alpha/libgcrypt/libgcrypt-1.1.94.tar.gz
liBTasn1 (needed by GnuTLS):ftp://ftp.gnupg.org/gcrypt/alpha/gnutls/libtasn1/libtasn1-0.2.10.tar.gz
GnuTLS (needed by Gaim):ftp://ftp.gnupg.org/gcrypt/alpha/gnutls/gnutls-1.0.16.tar.bz2
可選:
opencdk:ftp://ftp.gnupg.org/gcrypt/alpha/gnutls/opencdk/opencdk-0.5.5.tar.bz2
注意:
一定要下載alpha目錄下的軟件,我剛開始以為alpha下面的軟件是測試版的,所以沒有從裡面下載,結果最後安裝GnuTLS時出現語法錯誤,不得不重頭再來。opencdk可以不裝,應該不影響使用,但是我裝了的。
這幾個軟件的編譯都一樣:
代碼:
./configure && make
su
make install
如果沒有意外,應該不會出錯。
安裝好之後在gaim8.0的目錄中./configure,configure最後會輸出ssl使用的是哪個軟件作為其ssl庫支持,所以要注意查看,還可以在該根目錄下查看config.log文件來確定。如果在安裝了上述軟件之後gaim還沒有檢測到gnutls,那麼你可能需要去查看官方的faq-ssl進行修改。
到這裡msn的ssl庫支持問題就已經解決了,如果你的gaim聲音工作正常,就不用看下面部分了。
2、聲音問題
2.1概述
原來用的是gaim0.78,0.79也用過,但是都沒有辦法發出聲音。
查了一下官方的faq才知道gaim是使用libao來播放聲音的。
解決方案有兩個:
1、安裝libao
2、在首選項->聲音->聲音方式裡,把方式改為“命令”,在聲音命令裡輸入"esdplay %s" 或者 "artsplay %s"(不要引號)。
測試了一下第二個方案,使用esdplay %s可以正常播放聲音,artsplay因為沒有安裝所以不能播放,如果是您不想繼續,在rpmfind.net搜一下這兩個軟件,裝上就行了。
2.2安裝libao
雖然方案二已經能夠解決問題,但是我是個狂熱的人,所以把方案一也測試了一下。
要想gaim能夠獲得libao支持,必須得安裝上libao-devel和audiofile-devel,要使用libao就需要libao和 audiofile,這裡說的是預編譯的包。我的fedora core 2上已經有了audiofile和audiofile-devel包,所以我只需要安裝libao和libao-devle包。但是我沒有下載rpm包安裝,而是用的tarball安裝的。
在這裡下載我使用的版本:http://www.xiph.org/ao/src/libao-0.8.5.tar.gz
安裝很簡單
代碼:
./configure && make
su
make install
但是gaim需要devel包,所以我們必須把一些文件也拷貝到系統裡。
代碼:
cp -r libao-0.8.5/include/ao /usr/include/
可以把該目錄裡的兩個makefile刪掉。
代碼:
cp libao-0.8.5/ao.pc /usr/lib/pkgconfig
cp -r libao-0.8.5/src/.libs /usr/lib
這個.libs是要make之後才會有的。
這時在gaim0.80的目錄下./configure,沒有錯誤的話,就已經成功給gaim添加上了libao支持。
然後編譯並裝上這個新編譯的gaim。
這時在在首選項->聲音->聲音方式裡就多出了三個選項,自動,ESD,Arts。選擇自動就可以了,測試一下,是不是聽到聲音了?
附:對於普通用戶(那些不象我這麼瘋狂的用戶),推薦使用你們發行版自帶的gaim,畢竟 gaim的官方faq也是這麼推薦的,從源碼編譯很多時候是一件勞心勞力的事情,更重要的是,基本上是簡單勞動的機械重復,除非你有能力修改源碼, install腳本,makefile,一般沒有什麼意義,至於所謂的,自己編譯的軟件效率更高的說法在目前動則幾G的cpu上,基本上看不出來,特別是家用機,如果是服務器那就令當別論。
至於openQ的問題,我測試了一下,把0.79版的放在gaim0.8下編譯了,但是編譯的模塊不能被gaim0.8檢測到,即使添加了路徑也一樣,但是openQ0.79+gaim.79工作得很不錯,因為自己不怎麼用QQ,所以也沒仔細研究gaim0.8上是否能夠安裝openQ0.79,所以想要使用openQ0.79的朋友請不要使用gaim0.8,但是windows版除外,由openQ0.79編譯的for windows 插件在windows版gaim0.8下能工作,不知道為什麼?也許是我的Linux編譯方法不對?哪位朋友在linux下成功編譯過openQ0.79 到gaim0.8下使用的,能不能告知一聲。
我的msn:
[email protected]
附:對於普通用戶(那些不象我這麼瘋狂的用戶),推薦使用你們發行版自帶的gaim,畢竟 gaim的官方faq也是這麼推薦的,從源碼編譯很多時候是一件勞心勞力的事情,更重要的是,基本上是簡單勞動的機械重復,除非你有能力修改源碼, install腳本,makefile,一般沒有什麼意義,至於所謂的,自己編譯的軟件效率更高的說法在目前動則幾G的cpu上,基本上看不出來,特別是家用機,如果是服務器那就令當別論。
至於openQ的問題,我測試了一下,把0.79版的放在gaim0.8下編譯了,但是編譯的模塊不能被gaim0.8檢測到,即使添加了路徑也一樣,但是openQ0.79+gaim.79工作得很不錯,因為自己不怎麼用QQ,所以也沒仔細研究gaim0.8上是否能夠安裝openQ0.79,所以想要使用openQ0.79的朋友請不要使用gaim0.8,但是windows版除外,由openQ0.79編譯的for windows 插件在windows版gaim0.8下能工作,不知道為什麼?也許是我的Linux編譯方法不對?哪位朋友在linux下成功編譯過openQ0.79 到gaim0.8下使用的,能不能告知一聲。
我的msn:
[email protected]