Help for Alpine - Compiling
You are in Home > Compiling


Building Alpine is not difficult. There are several advantages about building Aline that you can not get if you only get a precompiled version. For example, you can fix a bug as soon as a patch is available. The price that you must pay in order to receive the advantages of compiling your own source code is usually minimal and we will try to explain how to build Alpine from scratch.

Getting the Source

The source code of Alpine is available from different servers. You can get old versions, up to version 2.00 from the ftp server at the University of Washington at You can download any of the compressed tar versions and decompress them using a decompressor.

Version 2.01 of Alpine was never officially released; however it is available by svn from One can download the source to a computer by using the command

svn checkout

A compressed file of the version 2.01 of Alpine is available also from

Versions beyond 2.01 can be obtained from

What else do I Get by Compiling Alpine?

A few other software is included when you build Alpine from source code. Here is a list:

  1. c-client.a, is the compiled version of the c-client libary. This library is located in the "/imap/c-client/c-client.a". You should know that library is used to compile the imap server (imapd) and Aline. We will talk about this library later.
  2. imapd, is the IMAP server. It's source code is in "/imap/imapd/imapd.c"
  3. mtest, this is a test mail client, you can learn how to use the c-client library just by reading its source code.
  4. libpico.a is the Pico library. Used to compile Pico, Alpine and Pilot. It is located in "./pico/libpico.a".
  5. Pico, this is an easy to use text editor, compiled using the libpico.a library.
  6. Pilot, is a file browser, also compiled with the libpico.a library.
  7. Alpine, the main star. It is compiled with both the libpico and the c-client library among other libraries.
  8. rpdump, a program used to copy configuration files kept in an imap server to a local file.
  9. rpload, a program used to copy your configuration files to an imap server, so that you don't have to create a new pinerc file for every computer where you install Alpine. The same configuration can be read from the IMAP server, no matter where you go.

How Do I build Alpine

Unless you want to build a Windows version, you can build by executing the command
 ./configure ; make 

There are many configuration options that can be passed to the configure script or the make command to build Alpine. A list of all configuration options can be obtained with the command

 ./configure --help 

we will look at the most popular options you might want to configure separately in this document.

In order to build successfully Alpine besides a compiler and autotools, which normally are minimum requirements for building any software, you will need the PAM library to build c-client. OpenSSL is not required, but without it Alpine will not be able to connect securely to a server, which may have serious security implications for you. It is recommended that you use a version above 1.0 of OpenSSL.

If you want to connect to a LDAP server, you need to have the ldap library installed in your system. Alpine will build without LDAP support. In order to write to the screen Alpine needs the ncurses library. This is necessary so that Alpine can write in bold, or reverse. The ncurses library is not and optional requirement.

What are the most common parameters that people need to consider before compiling Pine?

There are several, I am not going to talk about the disk space that you need in order to build Aline, this section deals with parameters that affect the end result of this compilation.

Defining a Password file

A password file allows users to save their passwords in a file, so that they do not have to enter them every time that they connect to their e-mail server.

You can only enable password file support when you build Alpine. This is not binding, in the sense that even if you enable it you must still create the password file in order to be able to use it. To define a password file add the option

where FILENAME can be anything, such as, ".pine-passfile".

Alpine encrypts slightly its password file, using a weak encryption based on character substitution. A stronger encryption is possible in Alpine-2.10 using S/MIME. In order to use the stronger encryption one must configure a password file as above and later configure S/MIME on a personal basis. The private certificate of the user is used to encrypt the password file. If the password file needs a password to be unlocked, then Alpine will request the password to unlock the file before decrypting it and reading the passwords from it.
You are in Home > Compiling