Thursday, January 31, 2008

Getting Pidgin To Support SameTime Protocol

I did'nt find many documents on getting pidgin to support Sametime protocol. So this guide is aimed at filling that gap. At the time of writing this document the pidgin version was 2.3.1. This can be downloaded from here. To get Sametime protocol working we need libmeanwhile installed. The library can be downloaded from here. But the best approach would be to install rpms/debs. You can find them in your distro extras. The libraries have dependencies on gnutls and gnutls-devel.
So this has to installed prior to installing libmeanwhile.

One libmeanwhile is set up, its time to install pidgin. Unzip pidgin and run the configure script.
#tar jxvf pidgin-2.3.1.tar.bz2
#cd pidgin-2.3.1/
Run the script
#./configure --prefix=/usr --with-gnutls-includes=/usr/include/gnutls/
--with-gnutls-libs=/usr/lib/
Make sure that sametime protocol is selected as the part of the configure script. You configure output must be as follows:

pidgin 2.3.1

Build GTK+ 2.x UI............. : yes
Build console UI.............. : yes
Build for X11................. : yes

Enable Gestures............... : yes
Protocols to build dynamically : gg irc jabber msnp9 myspace novell oscar qq sametime simple yahoo zephyr
Protocols to link statically.. :

Build with GStreamer support.. : no
Build with D-Bus support...... : yes
D-Bus services directory...... : /usr/share/dbus-1/services
Build with NetworkManager..... : no
SSL Library/Libraries......... : Mozilla NSS
Build with Cyrus SASL support. : no
Use kerberos 4 with zephyr.... : no
Use external libzephyr........ : no
Has you....................... : yes

Use XScreenSaver Extension.... : yes
Use X Session Management...... : yes
Use startup notification...... : yes
Build with GtkSpell support... : yes

Build with plugin support..... : yes
Build with Mono support....... : no
Build with Perl support....... : yes
Build with Tcl support........ : yes
Build with Tk support......... : yes

Print debugging messages...... : no

Pidgin will be installed in /usr/bin.

Now, to compile the program
#make

Then install (needs root privilege).
#sudo make install

Its time to start pidgin.
#pidgin&

Once pidgin starts, you can create your sametime account as shown in the figure.




Next step is to make some advanced configuration as shown in figure.




Note: For the newer Sametime servers, its necessary that client id is shielded. So please tick on "Hide client identity"

After that save the account and close pidgin (Pidgin continues to run in the system tray. Make sure you kill that).
Its been observed that there were some problems with pidgin authenticating to the server.
There is a hack to get around this bug.
Open the file ~/.purple/accounts.xml
Search the file for "prpl-meanwhile"
Under the <settings> of this sametime account add the following line
<setting name='client_major' type='int'>30</setting>
<setting name='client_minor' type='int'>6511</setting>
<setting name='client_id_val' type='int'>4098</setting>

Common Problem Faced:
You might encounter a problem that looks like this "pidgin : symbol lookup error: pidgin : undefined symbol : purple_core_ensure_single_instance"
This problem is commonly due to the fact that you have previous version of pidgin installed. To solve this problem, do a "make uninstall" on the source directory of older pidgin. In case you have deleted the source directory then, remove the pidgin folder in /usr/local/lib/ as well as /usr/local. If its an rpm the do uninstall pidgin using -e option. Then reinstall the newly compiled pidgin by doing "make install".This must solve the problem.

No comments: