pidgin/nest

closing merged branch
help-weights
2019-08-23, Gary Kramlich
6af542ccd6f4
closing merged branch
---
title: 2.x.y
date: 2019-01-11T03:13:47.000Z
anchor: 2.x.y
lastmod: 2019-02-04T00:21:57.000Z
---
# Building
Pidgin's default build has a lot of dependencies. This document will hopefully help you find and install them all.
## Packaged Dependencies
These dependencies are ones that should be found in your distributions package manager.
### I have the source; how do I build this thing?
Assuming you have all of the necessary libraries and their headers installed (see the next few questions), you compile libpurple, Pidgin and Finch just like most applications:
% tar xjvf pidgin-2.x.y.tar.bz2
% cd pidgin-2.x.y
% ./configure && make && sudo make install
This will install libpurple, Pidgin and Finch to `/usr/local`. If you want to install it elsewhere, pass `--prefix=/some/other/prefix` to `./configure`. (You really don't want to install it to `/usr`.) See `./configure --help` for other options you can change at compile-time.
If you got the source tree from our Mercurial database (which you probably shouldn't have), you'll need to run `./autogen.sh` instead of `./configure` the first time around. If you get an error like the following, you may need a newer version of automake.
running /usr/bin/automake -a -c --gnu... failed.
Makefile.am:79: directory should not contain `/'
pidgin/pixmaps/Makefile.am:4: directory should not contain `/'
If you are trying to compile on Windows, you need the answer to a different question.
## Why can't I compile Pidgin?
You're probably missing some dependencies. The `configure` script will tell you when you are missing required dependencies. Remember that if you're using an RPM-based (RedHat Enterprise Linux, CentOS, SUSE, Mandriva, etc.) or Debian-based system (Debian, Ubuntu, etc.) that having just a library's package installed is not sufficient--you must also have the `-devel` (RPM systems) or `-dev` (Debian-based systems) package for each library installed. If `configure` is succeeding, but `make` fails, this is harder to diagnose and you will probably want to drop by the IRC channel or XMPP conference listed on [Community](/community) to get help.
## How do I install the dependencies on Debian or Ubuntu?
You need to install the development headers; these are the `-dev` packages. A simple `apt-get build-dep pidgin` will find and install all of the required header packages for you.
If `apt-get build-dep` fails with a message like
E: You must put some 'source' URIs in your sources.list
then you need to add `deb-src` lines to your `/etc/apt/sources.list` corresponding to each of the `deb` lines already there. If editing configuration files scares you, Ubuntu has a "Software Sources" control panel in _System_ -> _Administration_ which has some magic checkboxes to do this for you.
## How do I install the dependencies on Fedora (or similar)?
RPM-based distribution users may find `yum-builddep pidgin-VERSION.src.rpm` useful if a source RPM is available and the distribution uses the yum tools.
Note that the `yum-builddep` command is in the `yum-utils` package, which is not necessarily installed by default.
## How do I apply the patch "something.diff"?
Type `patch -p0 < something.diff` from the top level of the source directory (`pidgin/`, not `pidgin/pidgin/` or `pidgin/finch/`). If that does not work, try `patch -p1 < something.diff`.
## Is there a way to compile without some protocols?
There are actually two ways:
- Run `./configure` with the `--with-static-prpls` option with the `--disable-plugins`. This will let you choose which protocols to include by specifying them as a comma-separated list, such as the following (but note that you won't be able to use any other protocols or plugins): `./configure --disable-plugins --with-static-prpls=irc,yahoo`
- Use the `--with-dynamic-prpls` option to `./configure` by specifying a comma-separated list, like so: `./configure --with-dynamic-prpls=aim,icq,yahoo`
## Can I compile just Finch, not Pidgin?
Sure. Pass `--disable-gtkui` to `./configure`.