Pan’s at it again! Updating Pan Newsreader on Ubuntu 11.04 and 11.10

Another upgrade, another glitch with the package maintainer’s version of Pan
Newsreader! As I stated back in my post in 2009, I enjoy browsing Usenet newsgroups in my spare time.  This last week, I upgraded all of my PCs to run Ubuntu 11.10 – Oneiric Ocelot.  In doing so, I started to once again have issues with the way pan displays images!  This time, it was decoding correctly, but was displaying the image twice.  A minor glitch, to be sure, but we like perfection…so…

It’s high time I posted a new set of instructions about how to build Pan Newsreader (for complete n00bz)!!!

First, fire up your terminal and install pan newsreader:

$ sudo apt-get install pan

So, why install pan, only to upgrade it?  Simply put, you don’t have to.  I like to, because then Ubuntu does nice things like makes the menu items so I can run this from Dash, installs icons, etc.

Next, we need to install the requirements needed to build pan.  These are the exact requirements that I needed from  fresh installs of Ubuntu 11.04 and 11.10.  Your mileage may vary!

$ sudo apt-get install git libgtk2.0-dev libgmime-2.4-dev gnome-common

This takes a while, and downloads over 100 MB of stuff…so it’s a good time to go read a goodnight story to your kids, or whatever it is you do in your spare time.  Note that I’m installing git, because it worked.  Previously I had to install kgit…again, YMMV.

Next, we need to clone the git source directory for pan.  We’ve installed git up above, so all we need to do is change to a convenient directory.  I like using my home directory, but you might choose another…

$ cd <<INSERT YOUR DIRECTORY HERE>>
$ git clone git://git.gnome.org/pan2

Let that run, and you’ll find a new directory entry called pan2.  Move into that, and let’s start the build process:  (Oh, by the way, if you want to make any alterations to pan like, for instance, changing the maximum number of concurrent  connections per server…now would be the time to do it!)

$ cd pan2
$ ./autogen.sh

You’ll see a bunch of things scroll past, as the compiler makes sure that you have all of the requirements, both in the compiler and the ancillary libraries, available and ready for use.  You will likely see a few complaints, but as long as no errors take place, you should be ok, and will be greeted with a cheery

Now type `make’ to compile Pan

So, let’s do just that, and actually build our binary with:

$ make

Now it’s time to go brew a cuppa your favorite caffeinated  beverage.  Once again, I might suggest a nice chai.  When everything calms down and your machine has flipped all the right bits, you should have a working binary file!  But, where is it?  And where should we put it?

Lets find out where your CURRENT pan binary is located:

$ which pan

This will probably return something like /usr/bin/pan – which is EXACTLY what it returned for me!  Make note of this, as you will need it … well, we’ll need it right now!  Let’s back up our current binary:

$ sudo mv /usr/bin/pan /usr/bin/pan_OLD

And let’s move the new binary into the old binary’s place, then set the correct owner.  Assuming you’re still in the pan2 directory from which we ran the autogen & make, you will find the pan binary hiding as:  ./pan/gui/pan
We’re in the final steps, now!

$ sudo cp ./pan/gui/pan /usr/bin/pan
$ sudo chown root:root /usr/bin/pan

You should now be able to run pan without any issues!  Let me know what you think of my tutorial, and how it worked out for you!