gaim/www

people are dense
WITH_GTK12_ANSWERS
2004-01-19, Luke Schierer
522b8ea7e1b3
people are dense
Gaim SSL (and other distro specific tips)
Compiled by Stu Tomlinson <stu@nosnilmot.com> with much help from #gaim
Read the ChanServ notice? Read the Topic? Read the FAQ?
Still having problems getting SSL to work with Gaim?
read on, maybe you're in luck. but probably not.
General Notes
=============
Mozilla 1.5 will not provide all the pieces for NSPR & NSS due to breakage in
Mozilla that misses out some .h files (or something...). You might be able to
install mozilla-{nss,nspr}{,-devel} from 1.4, or install nss from source, in
parallel and link against those for Gaim. Or just use GnuTLS.
OpenSSL is not an option for SSL support in Gaim because the OpenSSL license
(BSD-style) is not compatible with the Gaim license (GPL)
SuSE (9.0)
==========
There's a 3rd party RPM for SuSE 9.0 here : http://www.usr-local-bin.org/gaim.php
You may need to put /opt/mozilla/lib in /etc/ld.so.conf (and run ldconfig as
root)
SuSE (8.2)
==========
NOTE: usr-local-bin are now providing packages for SuSE 9.0 (see above) they
*might* work on SuSE 8.2, but no guarantees.
You might also need to upgrade pango:
http://ftp.gwdg.de/pub/linux/suse/apt/SuSE/8.2-i386/RPMS.usr-local-bin/pango-1.2.5-SuSE.ulb.1.i586.rpm
You may need to put /opt/mozilla/lib in /etc/ld.so.conf (and run ldconfig as
root)
Red Hat Linux (8.0 or 9)
========================
Use the gaim provided packages : http://sourceforge.net/project/showfiles.php?group_id=235
NOTE: If you're using a Mozilla builds from here :
http://people.ecsc.co.uk/~matt/downloads/rpms/mozilla/1.4/RPMS/
Then you WILL need to add /usr/lib/mozilla-1.4 to /etc/ld.so.conf & run ldconfig as
root. Replace 1.4 with whichever version you have installed.
Red Hat Linux (7.3)
===================
There's a 3rd party RPM (built from the same .spec file as the ones on sf.net)
for Red Hat Linux 7.3 here : http://www.uidzero.co.uk/rpms/rh73/
<semi-related note on this 3rd party rpm>
That RPM is built against gtk 2.0 as comes with Red Hat Linux 7.3, and buddy
list sorting is not possible with gtk 2.0. If you have Ximian Desktop
installed, then you have gtk 2.2 and should rebuild the .src.rpm (rpmbuild -bb
gaim-0.74-1rh73.src.rpm) to get buddy list sorting working.
Just compile from source (straight ./configure will work if you have all the
required dependencies and their associated -devel packages installed), Red Hat
Linux 7.3 does actually have all the necessary stuff.
If you want spell checking to work, install gtkspell & gtkspell-devel from
http://dag.wieers.com/apt/redhat/7.3/en/i386/RPMS.dag/
and compile from source (just installing this and using the RPM above will NOT
enable spellchecking)
</semi-related note>
Red Hat Linux (<7.3)
==============================
Please join this century
Fedora Core (1)
===============
Use the gaim provided packages : http://sourceforge.net/project/showfiles.php?group_id=235
Mandrake (9.1)
==============
Use the gaim provided packages : http://sourceforge.net/project/showfiles.php?group_id=235
Mandrake (9.2)
==============
Use the gaim provided packages : http://sourceforge.net/project/showfiles.php?group_id=235
Older notes:
NOTE: Mandrake 9.2 includes tcl 8.4 which is known to cause problems with
gaim. tcl plugins will NOT work, but this isn't normally a problem.
There's a 3rd party RPM (built from the same .spec file as the ones on sf.net)
for Mandrake 9.2 here : http://gaim.jesuschrist.be/ (thanks to Alver on #gaim)
Or you can compile from source:
As always, make sure you have mozilla-nss, mozilla-nss-devel, mozilla-nspr and
mozilla-nspr-devel installed (and perl-devel if you want perl support):
urpmi libnspr4 libnss3 libnss3-devel libnspr4-devel perl-devel
One user reported problems with permissions in the includes:
<icicled> i found that if i changed the permissions of the private directory in
/usr/include/mozilla-1.4/nspr it will compile perfectly
<faceprint> wow, that's sucky
<ChipX86> ew
<faceprint> you should definitely go scream bloody murder at mandrake
<icicled> ?
<icicled> not sure why they would have the private directory only readable by
root
<faceprint> that sounds like a serious bug in the mandrake package
Hint: (as root)
chmod 755 /usr/include/mozilla-1.4/nspr/private
chmod 644 /usr/include/mozilla-1.4/nspr/private/*
Win32
=====
Use the gaim provided packages : http://sourceforge.net/project/showfiles.php?group_id=235
Debian
======
Use the debs
Some have reported success with GnuTLS from unstable, and compiling gaim from
source:
<ntm> i changed the apt sources to include unstable releases
<ntm> apt-get install libgnutls7
<ntm> apt-get install libgnutls7-dev
<ntm> that's it.
Note: libgnutls & libgnutls-dev (from stable) are known NOT to work
Gentoo
======
Gentoo's ebuilds for Gaim should Just Work. To install the latest Gaim
with SSL support:
emerge sync
emerge gaim
The most recent Gaim version is usually not in Gentoo stable. To ensure you are using
the most recent release in Portage, use this command:
ACCEPT_KEYWORDS="~x86" emerge gaim
If you are not using x86, replace "~x86" with your CPU type, such as "~ppc" or "~sparc"
Portage will build and install the NSS and NSPR packages automatically if you do not
have them. Portage is not capable of using GnuTLS with Gaim currently.
In fact though, I have no idea why anyone would use Gentoo anyway.
Solaris (sparc)
===============
See below on compiling from source
Slackware (9.1)
===============
There's a 3rd party package for Slackware 9.1 here : http://www.uidzero.co.uk/pkg/slack91/
This package does not have gtkspell support because gtkspell is not part of
the base Slackware distribution (same package is also at linuxpackages.net).
This one should work out of the box.
The Gaim 0.74 package from Slackware does NOT work out of the box. I have not
tried, but adding /usr/lib/mozilla-1.4 to /etc/ld.so.conf and running ldconfig
as root *might* fixinate it.
Or you can use the gaim source, with mozilla-1.4 installed (if you have another
version of mozilla, try replacing 1.4 with your version number):
./configure --with-nss-includes=/usr/include/mozilla-1.4/nss \
--with-nspr-includes=/usr/include/mozilla-1.4/nspr \
--with-nss-libs=/usr/lib/mozilla-1.4 \
--with-nspr-libs=/usr/lib/mozilla-1.4
Also, you'll need to add /usr/lib/mozilla-1.4 to /etc/ld.so.conf and run ldconfig
as root
Linux From Scratch
==================
If you're crazy enough to actually use LFS surely you're crazy enough to
figure this out on your own? (or just see below on compiling from source)
FreeBSD (5.1)
=============
Compile from source. No SSL specific details available at the moment, but
these tips might help you in general:
For i18n to work, you need to have gettext installed. It will probably stuff
itself in /usr/local, so you need to configure like this:
./configure --with-libintl-prefix=/usr/local
Alternatively, if you only need to use English, you can disable i18n (and the
dependancy on gettext) by configuring like so:
./configure --disable-nls
OpenBSD (3.4)
=============
Compile from source. No SSL specific details available at the moment, but
these tips might help you in general:
For i18n to work, you need to have gettext installed. It will probably stuff
itself in /usr/local, so you need to configure like this:
./configure --with-libintl-prefix=/usr/local
Alternatively, if you only need to use English, you can disable i18n (and the
dependancy on gettext) by configuring like so:
./configure --disable-nls
Mac OS X (10.3.1)
=================
Information on setting up GnuTLS can be found at:
http://alphamonkey.org/view.php?type=notes&id=309
SCO (anything, anyversion)
==========================
You're kidding, right? this stuff is licensed under the GPL, and SCO don't
respect that.
If that isn't enough to get you to use a decent OS, consider this:
"If Darl McBride was in charge, he'd probably make marriage unconstitutional
too, since clearly it de-emphasizes the commercial nature of normal human
interaction, and probably is a major impediment to the commercial growth of
prostitution."
-- Linus Torvalds, December 5th 2003.
(Darl McBride is CEO of The SCO Group)
Not listed above
================
I strongly recommend you use pre-packaged binaries where possible, however if you MUST
use source, these tips might help you. GnuTLS is the (developers) preferred
option, but I've witnessed more success with Mozilla NSS & NSPR
Mozilla NSS & NSPR
==================
Mozilla NSS & NSPR can be found here:
ftp://ftp.mozilla.org/pub/mozilla.org/security/nss/releases/NSS_3_8_RTM/src/nss-3.8.tar.gz
(despite it's name, it contains both NSS & NSPR)
This older one has been referenced here for a while, but did not have much success with
it:
ftp://ftp.mozilla.org/pub/mozilla.org/security/nss-3.1.1-with-nspr-4.1-dbm.tar.gz
--with-{nss,nspr}-includes should point to the directory with the .h files in (eg. nspr.h)
--with-{nss,nspr}-libs should point to the directory with the .so files in (eg. libnss3.so)
If you can't add to /etc/ld.so.conf (or your (*nix) OS doesn't have one) set
the LD_LIBRARY_PATH environment variable instead, either before running gaim or
(for bourne shell & bash) on the gaim command line, eg.
csh:
setenv LD_LIBRARY_PATH /usr/lib/mozilla-1.4
sh/bash:
LD_LIBRARY_PATH=/usr/lib/mozilla-1.4 ; export LD_LIBRARY_PATH
or sh/bash: run gaim with this command:
LD_LIBRARY_PATH=/usr/lib/mozilla-1.4 gaim
GnuTLS
======
Thanks to sofar on #gaim for this:
Here's a list in the proper order which you need to install/compile, the
versions and links I give compile normally on a reasonably clean system.
libgpg-error (needed by libgcrypt):
ftp://ftp.gnupg.org/gcrypt/alpha/libgpg-error/libgpg-error-0.5.tar.gz
libgcrypt (needed by GnuTLS):
ftp://ftp.gnupg.org/gcrypt/alpha/libgcrypt/libgcrypt-1.1.43.tar.gz
libtasn1 (needed by GnuTLS):
ftp://ftp.gnutls.org/pub/gnutls/libtasn1/libtasn1-0.2.6.tar.gz
GnuTLS (needed by gaim):
ftp://ftp.gnutls.org/pub/gnutls/attic/gnutls-0.9.91.tar.gz
libopenck is a PITA, don't use it, GnuTLS will break. Also version 0.9.92 of
GnuTLS doesn't compile because the maintainer forgot to add 1 file needed. 0.9.91
works, so just do that.
You shouldn't need to pass any --with-xxx-libs/include to gaim since everything is
by default put in the normal include/lib dirs on my system. If you put any of the libs in
obscure places you are daft, just don't do that ;^).
sofar
For FreeBSD (and, it seems, OpenBSD) users:
<synic> ok, gnutls 0.8.10 officially works on FreeBSD
<synic> and 0.8.6 doesn't :)
Thanks synic.
Non-root (mozilla-{nss,nspr} or GnuTLS already installed)
=========================================================
If you don't have root access on the system you're trying to install gaim
on, you need to configure gaim to install under your home directory.
eg:
./configure --prefix=/home/username
If there are additional dependancies required that are not installed on
the system, you'll need to install those in a similar manner and pass the
correct locations to gaim's ./configure as shown in the next sections.
Non-root including mozilla-{nss,nspr}
=====================================
ftp://ftp.mozilla.org/pub/mozilla.org/security/nss/releases/NSS_3_8_RTM/src/nss-3.8.tar.gz
Extract nss-3.8.tar.gz
cd nss-3.8/mozilla/security/nss
make nss_build_all
make install
(on systems where make is not GNU make, use gmake)
mkdir -p /home/username/lib
mkdir -p /home/username/include/nspr
find ../../dist/*/lib -type l \
\( -name "*.so" -o -name "*.chk" \) \
-exec cp -L {} /home/username/lib \;
cp -Lr ../../dist/public/* /home/username/include
cp -Lr ../../dist/*/include/* /home/username/include/nspr
Gaim:
./configure --prefix=/home/username \
--with-nss-includes=/home/username/usr/include/nss \
--with-nspr-includes=/home/username/usr/include/nspr \
--with-nss-libs=/home/username/usr/lib \
--with-nspr-libs=/home/username/usr/lib
make
make install
You should now be able to use Gaim by running /home/username/bin/gaim
In some cases, it might be necessary to set LD_LIBRARY_PATH=/home/username/lib
before running Gaim
Non-root including GnuTLS
=========================
This has been tested using the exact same versions of applications specified
above in the GnuTLS section, with the exception of libtasn1 (GnuTLS actually
includes a version of libtasn1 which seems to work).
libgpg-error:
./configure --prefix=/home/username
make
make install
libgcrypt:
# fix the configure script!
perl -pi -e 's/ --prefix=\$gpg_error_config_prefix//' configure
./configure --prefix=/home/username --with-gpg-error-prefix=/home/username
make
make install
gnutls:
LD_LIBRARY_PATH=/home/username/lib ./configure --prefix=/home/username --with-libgcrypt=/home/username
make
make install
gaim:
./configure --prefix=/home/username --enable-gnutls=yes \
--with-gnutls-libs=/home/username/lib \
--with-gnutls-includes=/home/username/include
make
make install
You should now be able to use Gaim by running /home/username/bin/gaim
In some cases, it might be necessary to set LD_LIBRARY_PATH=/home/username/lib
before running Gaim (this was not necessary on the tested system)