Balsa - an e-mail client for GNOME

Compiling Balsa - instructions for beginners

Emmanuel

Introduction

This document is aimed at people who want to Balsa users wanting to help by testing latest versions of Balsa, ie versions of Balsa coming from GIT. It's just a very short introduction to git rudiments and package compilation (when I say package I mean autoconf/automake enabled package). You can find more information about git use for GNOME packages at Developers page at GNOME-Live! Some balsa specific information is also on Balsa website (be sure to look at the FAQ there before asking a question).

First VERY IMPORTANT remark : If you want to be sure that your important mails won't get corrupted, you can begin the process by creating a special user for the testing purpose. I would recommend that, especially for GIT versions that tend to be unstable. If you do that, all the description I give below is to be done using this new user account.

Downloading the sources from GIT

First let's prepare the ground for git, issuing the following commands :

mkdir the_name_of_the_directory_where_git_will_be_put
cd the_name_of_the_directory_where_git_will_be_put
git clone git://git.gnome.org/balsa

To issue the last command you must be connected to the net; this command will build the GIT tree in the newly created directory.

As you know, GIT evolves pretty fast, and after a while you will need to update your GIT tree. To keep in sync, just go into the GIT directory you set up and issue the following command (you have to be on the net obviously) :

git pull --rebase

This will issue a lot of messages to tell you which files have been updated.

OK now that you can retrieve the source let's compile them.

Compiling the sources

It's a classical "./configure; make; make install thing". Here are the commands to issue step by step, with small explanations.

First you "configure" the sources, ie a script will take care of adapting the sources to your environnment (eg set up variable to contain the paths to libs on your computer...), and see if it meets balsa requirement (almost only libs dependancies). This is done by the following command issue in the balsa directory (ie the subdirectory named "balsa" in the directory you created for cvs in the previous section).

./autogen --enable-all

Yes this is not ./configure, but it calls it so no big difference, but the fact that it does a bit more things than configure (and in the end it calls it anyway). This will issue a lot of messages to tell you what it is doing (and to keep you awake during the rather long process). On success it ends up with a summary of the options look at it to know if it has all what you want (eg if you want printing support, look if it has been enabled, we'll see later what to do if not). You see that I put a command line option "--enable-all". There are a bunch of these, this one particularly tells to build balsa with all experimental parts (for example filters won't be compiled in if you don't use this option). You can list all options with a short description by

./configure --help

Normally this process should succeed, but if it fails, look at the error messages; they should tell you what are the problems. Here is a (live) example (yes I can't build SVN because my distro is way outdated, and I have a sloooow and expensive dialup connection :( ) :

checking whether to Gnome-VFS is available... configure: error: 
Gnome-VFS(-devel) library is needed to build balsa

It tells you (and me) that we lack Gnome-VFS-devel library. So correct that (if you can) and retry untill you have no more error messages. You also have the file "config.log" that tells you a bit more on the reasons of the errors. If the problems persist (and you feel you have tried all the thing you could) descibe your problem on the balsa mailing-list to have some help. But be prepared to be a bit shaked if you haven't tried hard enough to handle your problem ;-)

OK now your sources are configured, let's compile them. Still in the same balsa directory just issue the very simple command :

make

That will take care of compiling all sources that have changed (or that depend on changed files) since the last compile process. Yet another bunch of messages telling you what it is doing. Especially if a lot of files have been touched by your last update you can go take a coffee, this is a bit long (at least on my PII-266MHz). If all goes well (ie no error message) you have a working balsa. If you get compile error messages you can send them on the ml (try to see if they have yet been submitted), so that we can take care of these bugs. Now either you install balsa (if you have set up a special test account you can do it safely /* FIXME : am I correct here ?!?! */) or just run it issuing the following command (always from the balsa directory)

src/balsa

This will run balsa, and you'll see a lot of debugging message scrolling in the console. This is actually useful because they can be used to track down a bug.

If you want to install balsa (so that just typing "balsa" on the command line will run it, or just using you desktop links) issue the following command (you have to be root) :

make install

Happy testing !!