Thursday, May 17, 2007

Pidgin on Ubuntu 6.10 (Edgy Eft)

Pidgin 2.0 (formerly known as Gaim) has been out for a couple weeks now, and I wanted to try it out. I haven't upgraded to the latest Ubuntu yet, so the normal convenient installation procedures do not apply. There's probably an apt repository or deb file somewhere, but I couldn't find it. So it was time to compile from source. This was made a little more complicated because I wanted to use Pidgin with Google Talk (aka GTalk), which requires SSL support.

Here are the steps that I took to build and install Pidgin on Ubuntu 6.10 (aka Edgy Eft). Maybe it will save time for somebody else in a similar situation.

Disclaimers: Your mileage may vary, since I might have some prerequisites already installed that you do not. There might be an easier way to do this, and I stopped optimizing as soon as I got something that worked for me.

1. Get the source bundle from the Pidgin download site

http://pidgin.im/pidgin/download/source/

2. Extract the contents

tar jxf pidgin-2.0.0.tar.bz2
cd pidgin-2.0.0
3. Install some prerequisites
sudo apt-get install \
libglib1.2-dev \
libglib2.0-dev \
libgtk2.0-dev

sudo apt-get install \
libnspr-dev \
libnspr4 \
libnspr4-0d \
libnss3 \
libnss3-0d \
libnss-db \
libnss-dev \
libssl0.9.8 \
libssl-dev \
openssl \
ssl-cert
(Thanks to the Ubuntu forums for tips on the SSL library packages)

4. Configure the build

Override defaults pointing to older versions of GLib and GTK, then generate the makefiles and other build configuration.
export GLIB_LFLAGS=-lglib-2.0
export GLIB_CFLAGS="-I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include"

export GTK_LFLAGS="-lgtk-x11-2.0 -lcairo -latk-1.0"
export GTK_CFLAGS="-I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include \
-I/usr/include/cairo -I/usr/include/atk-1.0"

export pango_LIBS=-lpango-1.0
export pango_CFLAGS=-I/usr/include/pango-1.0

export CFLAGS="$GLIB_CFLAGS $GTK_CFLAGS $pango_CFLAGS"

./configure
Add a "--prefix=DIR" option to the configure command if you prefer to specify a custom installation directory.

5. Build the software
make
If that doesn't work, redirect the output of "make" to a file and search for the string "errors:" to see what went wrong:
make > OUTPUT 2>&1
6. Install the software
sudo make install
If you ran the configure script with a custom prefix option pointing to a directory that you can write to without root privileges, then you can run "make install" without the "sudo".

7. Done

So that's it. If you are upgrading from Gaim 1.5, all of your configuration will be copied from the .gaim directory to .purple in your home directory. Your log files will also be moved, but a symbolic link will point from the .gaim/logs directory to the .purple/logs directory.



More about the name change from Gaim to Pidgin:

Pidgin project leader Sean Egan describes the new name in an interview with Ars Technica:

"We like the name," Egan told me. "It was the second choice we all really liked. We were thinking up linguistic terms, and someone mentioned Pidgin. Another developer commented that 'corrupted language' may not be the best thing to associate yourself with, to which another pointed out something along the lines of 'have you ever SEEN people talk on IM?'"

"We all felt that was a pretty valid point, so the name stuck," continued Egan. "It's a corrupted language, much like that used by IM users, it's caused by people talking different languages (or protocols) with each other, and it sounds like a bird known for carrying messages across long distances."


Also, AOL agreed to stop threatening the project with legal action if they changed the name.

5 comments:

Anonymous said...

I did:

./configure --enable-dbus --enable-dot

And I required libxml2-dev to be installed also - not sure if that was for my requirements or the base and you already had it installed.

Thanks for the guide!

Unknown said...

Thanks very much for this. The SSL dependency thing was getting really annoying. Very much appreciated.

Unknown said...

Thank you very much for instuctions but by issuing command:
sudo apt-get install \
> libglib1.2-dev \
> libglib2.0-dev \
> libgtk2.0-dev
I got:
The following packages have unmet dependencies:
libgtk2.0-dev: Depends: libgtk2.0-0 (= 2.10.6-0ubuntu3) but 2.10.6-0ubuntu3.1 is to be installed
Depends: libpango1.0-dev (>= 1.12) but it is not going to be installed
Depends: libcairo2-dev (>= 1.2.0) but it is not going to be installed
E: Broken packages
And trying to install cairo or pango library give the same problem.
What's wrong?

Anonymous said...

I'm using feisty fawn and i stuck with this error. :( in step 4. configure the build

$ ./configure
--------------------------------------------------------------------------
checking for perl... /usr/bin/perl
checking for XML::Parser... configure: error: XML::Parser perl module is required for intltool
--------------------------------------------------------------------------

how to solve this..?

alexserver said...

man, this is not human.
Does an im aclient worth all this stuffs ?
I dont think so... However, thanks man.