I fixed the Pidgin “Unknown Protocol” problem just five minutes after my previous post. I’m going to describe how I found the problem and how I fixed it. If you’re interested, keep reading.
In the previous post, I mentioned that I would completely remove the Pidgin package, including its configuration files:
# apt-get --purge remove pidgin
I did that and then re-installed Pidgin, but unfortunately, it didn’t fix anything.
Then I checked the About dialog (Help > About) and noticed it listed libpurple 2.5.4 under Pidgin 2.5.6. This had to be the source of the problem! I remembered that libpurple had been upgraded to 2.5.6, and Aptitude said so. So what could possibly be wrong?

A while back, I had installed Pidgin from the source code. However, I was quite sure that I had properly removed it—I went into the Pidgin source directory and executed # make uninstall. Well, according to Bug #385639, old libpurple files can be left behind in /usr/local/lib.
kenno@san7:/usr/local/lib$ ls
finch libpurple.so.0 pkgconfig site_ruby
gnt libpurple.so.0.5.4 purple-2 xemacs
libpurple-client.so.0 perl python2.4
libpurple-client.so.0.5.4 pidgin python2.5
So, I needed to remove these unwanted libraries manually:
kenno@san7:/usr/local/lib$ sudo rm libpurple*
Now, let’s run Pidgin again… and… that’s it. The problem has been fixed!

For the record, I have since upgraded Pidgin to 2.5.8 (an unstable package at the time of this writing), and everything works as expected. Now, I’m a happy Pidgin user again.