Building Pidgin as an alternative to Microsoft Office Communicator Client

A new post on my blog been long due. I’ve switched to Linux as the primary and the only OS on my work laptop for a while now and have setup equivalent alternatives to all the office applications and I feel at $HOME. And this one being the last piece of the puzzle.OSS & Linux Rocks and I cannot emphasize enough.

I’ve built all the required pre-requisites for Pidgin right from glib, gtk+ to pidgin and pidgin-sipe (MS Office Communicator Plugin) and got it working and am delighted. I am running RHEL 5.5 and I’ve compiled all the components for this environment. I had a few things I found out on the way and would like to share it here.

You can download the bash script (available from my box.net widget). This script does –

  • Download
  • Extract archive and build
  • Install

of all the required software, pidgin and pidgin-sipe. After the script completes, you will have a fully functional pidgin with SIPE plugin and you’ll be able to use it as an alternative to MS Office Communicator client.

These are the required packages and the script builds them in the following order –

  1. glib-2.26.1.tar.bz2
  2. atk-1.29.2.tar.gz
  3. tiff-3.9.4.tar.gz
  4. gdk-pixbuf-2.22.1.tar.bz2
  5. pixman-0.21.4.tar.gz
  6. cairo-1.8.0.tar.gz
  7. fontconfig-2.8.0.tar.gz
  8. pango-1.28.3.tar.bz2
  9. gtk+-2.22.1.tar.bz2
  10. enchant-1.6.0.tar.gz
  11. gtkspell-2.0.16.tar.gz
  12. pidgin-2.7.9.tar.bz2
  13. pidgin-sipe-1.10.0.tar.gz

The script uses 3 variables. You can alter them and make them point to directories of your choice. The default values are –

  • ZIPS=$HOME/sandbox/zips (Location where the packages would get downloaded)
  • SRC=$HOME/sandbox/src (Extract each of the packages here; configure and make runs here)
  • DST=$HOME/pidgin-deps (Install them into this location)

Many of these packages have dependencies / pre-requisites that need to be met before they get built and installed. You could take a look into the script to know exactly what they are. Some of those details are described here.

PKG_CONFIG_PATH is a variable that the configure script refers to. If the package you are building is dependent on another package and that package is installed in a non-standard location, then you could set this variable to point it to the location of lib/pkgconfig (.pc files). So that the configure script knows where to look for its dependencies.

  • ATK – depends on GLIB
  • GDK-PIXBUF does not compile if LIBTIFF environment variable is not set to point to LIBTIFF install location /lib directory.And CFLAGS need to be set to LIBTIFF/include.
  • CAIRO – depends on Pixman
  • PANGO – depends on Cairo and pangocairo builds only when you have the latest fontconfig.
  • GTK+ – depends on all of the above packages.
  • GTKSPELL – required for spell check in your IM depends on Enchant
  • PIDGIN – depends on all of the above. And the configure script needs quite a few options. I’ve disabled some features that I didn’t require (–disable-screensaver –disable-startup-notification –disable-gstreamer –disable-vv –disable-idn –disable-meanwhile –disable-avahi –disable-dbus –disable-tcl –disable-consoleui)
  • PIDGIN-SIPE – depends on pidgin and the install location should be set to pidgin so that the plugins are placed correctly.

NOTE: While compiling gtk+ if you get an error that says “/bin/sh: no : command not found”. This could mean, that one of the commands was not found during the configure step. Peek into the config.log to find out more and also take a look at the configure script. gtk+ requires gdk-pixbuf-csource make sure you put that on PATH before running configure.

After all this, you’ll have a working pidgin that can work as a MS communicator client.

Some of the references that could prove useful –

Reference URLs:

Leave a comment