解決gaim+msn的ssl庫及不能發出提示音問題的指南(轉)

post0發表於2007-08-11
解決gaim+msn的ssl庫及不能發出提示音問題的指南(轉)[@more@]

作者:天外閒雲 @

注意,這篇文章只是一個筆記類的東西,如果您是新手可能很難按照本文的內容,安裝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安裝的。

在這裡下載我使用的版本:

安裝很簡單

程式碼:

./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: landrew.cloud@qq.co

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/8225414/viewspace-945466/,如需轉載,請註明出處,否則將追究法律責任。

相關文章