2011年5月23日 星期一

[Linux] Building Pidgin 2.7.11 & MSN MPOP Problem @ Ubuntu 10.04

即時通(IM)軟體,已經成為 RD 人員對內或對外的溝通管道,在 Ubuntu 環境上,有幾種可以選擇,我選擇使用 Pidgin (鴿子圖)軟體,Open source 的,目前 Ubuntu 10.04 Desktop 64bit 環境中,可以用軟體管理安裝 Pidgin 2.6.6 版本。此 Pidgin 支援眾多 IM 服務,如 MSN、GTalk、QQ、ICQ 等,另外在 Mac OSX 的 Adium (鴨子圖)軟體也採用 Pidgin 核心


至於為啥要安裝最新版?去年底有一陣子使用 MSN 時,會有 CA 憑證問題,當時使用新版可以解決,最近則是看到 Adium 1.5hg 版可以支援多重地點上線(例如 WinXP 與 Ubuntu 同時使用同一個帳號上線),在加上他的核心是 Pidgin,所以就想來編看看新版,目前使用 Pidgin 2.6.6 版時,不支援多重地點上線。


安裝環境:


Ubuntu 10.04.2 Desktop 64-bit @ 2011-05-23 & VirtualBox


$ sudo apt-get update
$ sudo apt-get upgrade
$ sudo reboot


相關環境:


$ sudo apt-get install intltool libgtk2.0-dev libxss-dev libgtkspell-dev libxml2-dev libgstreamer0.10-dev libgstfarsight0.10-dev libgstreamermm-0.10-dev libidn11-dev libmeanwhile-dev libavahi-core-dev libavahi-client-dev libavahi-glib-dev libdbus-glib-1-dev libnm-glib-dev libperl-dev libgnutls-dev tcl8.4-dev tk-dev


編譯(Pidgin 原始碼 http://pidgin.im/download/source/):


$ wget "http://downloads.sourceforge.net/project/pidgin/Pidgin/2.7.11/pidgin-2.7.11.tar.bz2?r=http%3A%2F%2Fpidgin.im%2Fdownload%2Fsource%2F&ts=1306119851&use_mirror=nchc" -O pidgin-2.7.11.tar.bz2
$ tar -xvf pidgin-2.7.11.tar.bz2
$ cd pidgin-2.7.11
$ ./configure
$ sudo make install clean


重開機(登入?)以後,就可以在 Internet 那邊看到 Pidgin 軟體。 


其他編譯時會碰到訊息(已安裝相關環境則不會碰到):


configure: error:  (libxss-dev)
XScreenSaver extension development headers not found.
Use --disable-screensaver if you do not need XScreenSaver extension support,
this is required for detecting idle time by mouse and keyboard usage.

configure: error: (libgtkspell-dev libxml2-dev)
GtkSpell development headers not found.
Use --disable-gtkspell if you do not need it.

configure: error: (libgstreamer0.10-dev)
GStreamer development headers not found.
Use --disable-gstreamer if you do not need GStreamer (sound) support.

configure: error: (libgstreamermm-0.10-dev libgstfarsight0.10-dev)
Dependencies for voice/video were not met.
Install the necessary gstreamer and farsight packages first.
Or use --disable-vv if you do not need voice/video support.

configure: error: (libidn11-dev)
GNU Libidn development header not found.
Use --disable-idn if you do not need it.

configure: error: (libmeanwhile-dev)
Meanwhile development headers not found.
Use --disable-meanwhile if you do not need meanwhile (Sametime) support.

configure: error:  (libavahi-core-dev libavahi-client-dev libavahi-glib-dev)
avahi development headers not found.
Use --disable-avahi if you do not need avahi (Bonjour) support.

configure: error:  (libdbus-glib-1-dev)
D-Bus development headers not found.
Use --disable-dbus if you do not need D-Bus support.

configure: error:  (libnm-glib-dev)
NetworkManager development header not found.
Use --disable-nm if you do not need D-Bus support.

configure: error:  (libperl-dev)
Perl development headers not found.
Use --disable-perl if you do not need Perl scripting support.

configure: error:  (libgnutls-dev)
Neither GnuTLS or NSS SSL development headers not found.
Use --disable-nss --disable-gnutls if you do not need SSL support.
MSN, Yahoo!, Novell Groupwise and Google Talk will not work without SSL. OpenSSL is NOT usable!

configure: error:  (tcl8.4-dev)
Tcl development headers not found.
Use --disable-tcl if you do not need Tcl scripting support.

configure: error:  (tk-dev)
TK development headers not found.
Use --disable-tk if you do not need Tk scripting support.


關於 Multiple Points of Presence (MPOP):


去年 11 月底,有碰到一陣子 MSN CA 憑證問題,當時有看到一些文章在講 Pidgin 2.7.6 除了解決此問題外,也支援 MSNP16 及 MPOP 功能,而甚麼是 MPOP 功能呢?就是支援同一帳號多處上線的功能。


相關文件:


Microsoft_Notification_Protocol#MSNP16


Ticket #8247 (closed enhancement: fixed) - Support MSNP16 multiple logins


Pidgin News @ November 01, 2010 - MSNP16 and SLP-rewrite merged


隨後我也翻了一下 Pidgin-2.7.11 的程式碼,發現的確有對應的程式,但不知為啥我在使用 Pidgin-2.7.11 時,在設定帳號那邊,卻找不到相對應設定 MPOP 的選項?後來發現,如果是使用 /usr/local/bin/pidgin 就不會看到,但用 src 裡 pidgin/pidgin 執行,就可以看到設定選項多了 Allow connecting from multiple locations 啦!


mpop


如果把 mpop 關掉,則是在 ~/.purple/account.xml 裡 <settings> 中會多一欄(預設並不會設定此直,可能預設就是啟用 MPOP 模式):


<setting name='mpop' type='bool'>0</setting>


那如果看不到此 UI 的話,強制去更新 account.xml 加上 <setting name='mpop' type='bool'>1</setting> 好像可強制啟用 MPOP 吧?但測試的結果,無論打開選項或關掉都沒有影響。感覺此功能好像是被隱藏起來,不然就是有使用條件的限制。


另外一提,Ubuntu 10.04 內建環境的 Pidgin-2.6.6 哩,是使用 libpurple 2.6.6 ,但我安裝新版的 Pidgin-2.7.11 哩,在"說明"中還是用 libpurple 2.6.6 而已。簡單的說,我覺得內建環境的 Pidgin-2.6.6 應該就可以使用 MPOP 才對 :P 因為函式庫是同版本。我想我應該有遺漏甚麼,有空再來查查。


沒有留言:

張貼留言