Introduction to Pidgin

Pidgin is a Gtk+ 2 instant messaging client that can connect with a wide range of networks including Bonjour, ICQ, GroupWise, Jabber/XMPP, IRC, Gadu-Gadu, SILC, SIMPLE, and Zephyr.

This package is known to build and work properly using an LFS 11.3 platform.

Package Information

Pidgin Dependencies





Avahi-0.8 (required for the Bonjour plugin), Cyrus SASL-2.1.28, dbus-1.14.6, Doxygen-1.9.6, evolution-data-server-3.46.4, GConf-3.2.6, Graphviz-7.1.0, libidn-1.41 (required, if you wish to run the test suite), libnsl-2.0.0, NetworkManager-1.42.0, SQLite-3.40.1 (required for the Contact Availability Prediction plugin), startup-notification-0.12, Tk-8.6.13, Farstream (required for video and voice support), Gtkspell, libgadu, libgnt, Meanwhile (required for Sametime protocol support), Mono, SILC Client, SILC Toolkit, Zephyr, and MIT Kerberos V5-1.20.1 (required for Kerberos support in the Zephyr module)

Optional (runtime)


User Notes:

Installation of Pidgin

Compile Pidgin by running the following commands:

./configure --prefix=/usr        \
            --sysconfdir=/etc    \
            --with-gstreamer=1.0 \
            --disable-avahi      \
            --disable-gtkspell   \
            --disable-meanwhile  \
            --disable-idn        \
            --disable-nm         \
            --disable-tk         \
            --disable-vv         &&

If you have Doxygen-1.9.6 installed (Graphviz-7.1.0 can be used also) and you wish to create the API documentation, issue:

make docs

To test the results, issue: make check.

Now, as the root user:

make install &&
mkdir -pv /usr/share/doc/pidgin-2.14.12 &&
cp -v README doc/gtkrc-2.0 /usr/share/doc/pidgin-2.14.12

If you created the API documentation, install it using the following commands as the root user:

mkdir -pv /usr/share/doc/pidgin-2.14.12/api &&
cp -rv doc/html/* /usr/share/doc/pidgin-2.14.12/api


This package installs icon files into the /usr/share/icons/hicolor hierarchy and desktop files into the /usr/share/applications hierarchy. You can improve system performance and memory usage by updating /usr/share/icons/hicolor/index.theme and /usr/share/applications/mimeinfo.cache. To perform the update you must have GTK+-2.24.33 or GTK+-3.24.36 installed (for the icon cache) and desktop-file-utils-0.26 (for the desktop cache) and issue the following commands as the root user:

gtk-update-icon-cache -qtf /usr/share/icons/hicolor &&
update-desktop-database -q

Command Explanations

--with-gstreamer=1.0: Remove this switch and add --disable-gstreamer if you've not installed gstreamer-1.22.0.

--disable-avahi: Remove this switch if you've installed Avahi-0.8.

--disable-gtkspell: Remove this switch if you've installed Gtkspell and wish to enable spellchecking support.

--disable-meanwhile: Remove this switch if you've installed Meanwhile.

--disable-idn: Remove this switch if you've installed libidn-1.41.

--disable-tk: Remove this switch if you've installed Tk-8.6.13 and you wish to use the TCL bindings.

--disable-nm: Remove this switch if you've installed NetworkManager-1.42.0.

--disable-vv: Remove this switch if you've installed Farstream and wish to enable voice and video communication support. You should also remove the --disable-gstreamer flag.

--enable-cyrus-sasl: Use this switch if you've installed Cyrus SASL-2.1.28 and wish to build Pidgin with SASL support.

--disable-gnutls: Use this switch if you've got both GnuTLS-3.8.0 and nss-3.88.1 installed, but want to use nss-3.88.1 for the SSL support.

Configuring Pidgin

Config Files

~/.purple/* and ~/.gtkrc-2.0

Configuration Information

Most configuration can be accomplished by using the various preference settings inside the programs. Additionally, you can create a ~/.gtkrc-2.0 file which can store gtk+-2 theme settings that affect Pidgin and other Gtk+ 2 applications. Note that an example gtkrc-2.0 file was installed during the package installation and can be used as a starting point or reference.


Installed Programs: pidgin, purple-client-example, purple-remote, purple-send, purple-send-async, and purple-url-handler
Installed Library:, and
Installed Directories: /usr/include/libpurple, /usr/include/pidgin, /usr/lib/pidgin, /usr/lib/purple-2, /usr/share/doc/pidgin-2.14.12, /usr/share/pixmaps/pidgin, /usr/share/purple, and /usr/share/sounds/purple

Short Descriptions


is a GTK+ 2 instant messaging client


is an example that demonstrates how to use the libpurple-client library to communicate with purple


sends remote commands to Pidgin/Finch


calls purple API functions using DBus and prints the return value


calls purple API functions using DBus. As opposed to purple-send, it does not print the return value


is a python script to handle URLs with purple