- Windows Specific
- I have the source; how do I build this thing?
- Why can't I compile Pidgin?
- How do I install the dependencies on Debian or Ubuntu?
- How do I install the dependencies on Fedora (or similar)?
- How do I apply the patch "something.diff"?
- Is there a way to compile without some protocols?
- Can I compile just Finch, not Pidgin?
- How do I compile with SSL support?
- I have OpenSSL; why isn't Pidgin using it?
- I installed the latest version but the About box says I'm still using …
- Why do you always say not to use the Mercurial repository?
- How can I get Pidgin to report idleness based on keyboard and mouse usage?
Is there a way to install Spell-checking support manually?
Yes, if the installer isn't able to successfully download and install the dictionaries, you can do so manually.
Versions 2.7.0 and newer use the dictionaries available from the openoffice extension download site.
You need to download the appropriate language extension file(s) (files are openoffice extensions *.oxt, which are just zip files that contain additional data).
Once you have downloaded a dictionary extension file, you can rename it so it has a .zip extension and then extract the *.dic and *.aff files in it to <Pidgin Installation Directory>\spellcheck\share\enchant\myspell\ (create the directories if they don't exist already).
If Pidgin is running, it will need to be restarted for new dictionaries to be recognized.
Versions older than 2.7.0 use Aspell; you can download both the Aspell core and a dictionary from the win32 Aspell website.
The pidgin installer can be run in a "silent" mode by using the following syntax:
pidgin-x.y.z-offline.exe /DS=1 /SMS=0 /L=1033 /S /D=C:\Pidgin
The /L flag sets the language (Windows LCID) used by the installer, as well as Pidgin itself. The /D flag, if specified, sets the installation directory; it must be the last parameter used in the command line and must not contain any quotes, even if the path contains spaces. You may omit both the /L and /D flags and use the defaults which are 1033 (English) and %PROGRAMFILES%\Pidgin respectively. The /DS and /SMS flags can be used to enable or disable the Desktop and Start Menu Shortcuts. You'll want to use the "offline" installer to do this.
What should I do if I get a Download Error while installing?
The installer will, if necessary, download and install the GTK+ Runtime (which is needed for Pidgin to run). If you need to use a proxy server to connect to the Internet, it is possible that the Pidgin installer will not be able reach the resources it needs.
The Pidgin installer automatically checks for proxies configured in Internet Options. If you know what your proxy settings are, you can configure them by opening the Internet Options directly, or by opening Internet Explorer and selecting Tools > Internet Options > Connections > LAN Settings.
Alternatively, you can download and use the "offline" version of the installer, which is a larger download, but can install the GTK+ Runtime without downloading it separately.
Can I run Pidgin on Windows98/ME?
The last version of Pidgin that will run on Windows 98/ME is 2.6.6 and you will need to download the standalone GTK+ 2.6.10 runtime installer and install it separately before installing Pidgin. These old Pidgin and GTK+ versions are unmaintained and will have bugs that won't be fixed.
How do I build Pidgin for Windows?
The Windows build instructions are here.
Are the packages signed? If so, by whom, and how can I get the key?
Yes, all packages are signed. The signature for the tarball and bzip2 archive are provided by separate downloads. The RPMs we provide are signed Stu Tomlinson. The keys can be obtained from any key server. http://pgp.mit.edu/ is popular. (There is also a more extensive answer on this question here.)
Can I run Pidgin on IRIX?
Sure, but the amount of effort required is dependent on the compiler you use; there is, however, no official support.
- GCC (tested with 3.4 on IRIX 6.5.29): All but one necessary change has been included in Pidgin's source. GNUTLS will not be included by default, even if the necessary libraries and headers are available; to add SSL support, open the configure script in your favorite editor and replace all instances of "-lnsl" with "-lnsl -lgnutls". Ask no questions. :-) It Just Works. Mozilla NSS/NSPR was not tested.
- MIPSPro CC (tested with 7.4.4m on IRIX 6.5.29): This is less trivial due to this compiler being much more strict about ANSI compliance. Some unofficial patches have been known to float around that apply the changes mentioned above for GCC, among others necessary to silence errors. You will need to disable the Zephyr protocol plugin.
Note that Jabber can crash Pidgin when using TLS. This is a bug in GNUTLS that may or may not have been fixed.
Can I run Pidgin on HP-UX?
You can. It has been done with GCC 4.1.1 on HP-UX 11.11, however, there is no official support. The configure scripts that ship with the official releases are unfortunately incompatible with the linker on this system, but by checking the tag out of version control and running autogen.sh you will end up with a usable build tree. Make sure to configure without the GTK+ and GLib tests, as well as without the X screensaver extension. No source hacks are needed.
Can I run Pidgin on Mac OS X?
Yes you can, but we do not provide a package for it. The reason being that in order to use Pidgin on Mac OS X, you need to install GTK+ and other libraries, which we are not prepared to support. You can either compile Pidgin (and its dependencies) yourself, or you can use the fink installer available from http://fink.sf.net. If you would like a native Aqua interface or a user-friendly installer, we suggest trying Adium, available at https://adium.im/.
Where do I get libgtkspell.so.0?
Most people asking this are trying to install our RPMs by hand on their system. libgtkspell.so.0 is provided by the gtkspell package. Most modern RPM-based distros have tools such as yum that can install this for you automatically; alternatively you can find a generic SRPM suitable for rebuilding with rpmbuild on GTKSpell's site.
Why are there no packages (.deb, .rpm) for my system?
See the WhyPackagesExist wiki page for a complete answer to this question.
I have the source; how do I build this thing?
Assuming you have all of the necessary libraries (sudo apt-get source pidgin and libgtk) 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 PidginCommunity 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 (or if you're on an older release which doesn't have a pidgin package, apt-get build-dep gaim) 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 with --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="oscar yahoo"
- Use the --with-dynamic-prpls option to ./configure by specifying a comma-separated list, like so:
Can I compile just Finch, not Pidgin?
Sure. Pass --disable-gtkui to ./configure.
How do I compile with SSL support?
I have OpenSSL; why isn't Pidgin using it?
I installed the latest version but the About box says I'm still using the old version!
If you compiled the new version yourself, it's likely you had a distribution package (RPM, deb, ebuild, etc.) installed prior to building but did not remove it. You should remove that package using your package manager.
If you compiled the old version yourself, run make uninstall from the old source tree. If you didn't keep that around but you remember the exact arguments you gave the configure script, you can download the source for the old release, configure it exactly the same, then run make uninstall.
Why do you always say not to use the Mercurial repository?
That's a long story. For starters, the Mercurial main branch is frequently unusable because of changes in the code. Bugs are introduced during the development process and are hopefully fixed before a release is made. It is often the case that Pidgin main exhibits bad behavior due to features and bugfixes which are in a transitory state or which are not yet well understood. These bad behaviors range from the harmless (maybe a graphical glitch in a dialog box) to the irritating (a particular protocol may not work), to the downright damaging (recently a bug in the repository destroyed the user's buddy lists). While behaviors like this are acceptable to some users (particularly developers, who are used to such things), they tend to cause many Pidgin Mercurial users to contact Pidgin developers and report the same (usually egregious) bug over and over - using time which could be better spent fixing the bugs.
A second major point involves public resources - an hg pull is not a cheap operation. As many SourceForge users are aware, at various points in the past few years SourceForge CVS has been less than pleasant to work with. This is, of course, because SourceForge hosts thousands of useful and active projects which use[d] CVS as a primary method of source code collaboration. Unfortunately, when too many users are poking around in that CVS just for the sake of poking around, it prevents other users who are trying to do work to improve those very same projects from accomplishing their tasks. Naturally, this could easily become true of our Mercurial offering as well. It is better for the community if an enterprising individual wishing to fix a particular bug [s]he has seen can get to the code and create a patch, even if this means that some users have to wait a few weeks for the next release to see what new features it might hold.
The third point is not a problem which has yet come up, but it is in the back of the mind of the developers who bring you Pidgin. As a third-party IM client, Pidgin is not a priority (and indeed may be an irritant) for the IM service providers. We do our best to keep Pidgin playing nice and being friendly on the IM networks it uses; however, at times there are bugs in the protocol support. If a few dozen people are using this buggy client, the IM providers are not likely to go out of their way to do anything about it. However, if hundreds of people are pointing an ill-behaved client at an IM server, the server administrators may be forced to take action. (This is particularly likely if the buggy behavior is damaging in some way.) Pidgin releases represent code which the Pidgin developers feel is relatively well-behaved and stable. This includes not only the interface seen by Pidgin users, but the traffic seen by IM service providers. Pidgin Mercurial bears no such guarantees.
In short, there are a lot of good reasons to not use Pidgin Mercurial if one does not wish to develop Pidgin, Pidgin plugins, or a codebase which interacts with Pidgin in some intimate way. There are, however, only a few reasons to use Pidgin Mercurial outside of the above. Please weigh these things carefully and decide whether you wish to use Pidgin Mercurial for a good reason which furthers the community, or for selfish reasons which are not entirely important.
How can I get Pidgin to report idleness based on keyboard and mouse usage?
You will need to install the libxss-dev package. Check with your distributions package manager for the exact package name. The package name given here is for Ubuntu/Debian. Without this package, it only allows you to report idleness based on when you last sent a message.