First, make sure that all the necessary requirements (README) are satisfied. See RPM instructions below if building for Red Hat Linux. See additional notes below for upgrade instructions. Otherwise:
Download the Courier Socks 5 proxy client library from
          http://www.courier-mta.org/download.php#sox
          and follow its installation instructions. Binary RPMs can
          be built from the source code tarball by following the
          procedure outlined in http://www.courier-mta.org/FAQ.html#rpm
          using the “courier-sox-version”
          tarball, and installing the “courier-sox” and “courier-sox-devel” binary
          RPMs afterwards.
This step can be omitted if Socks 5 support is not required. Cone will compile without the Socks 5 proxy toolkit.
Download the source code tarball from http://www.courier-mta.org/download.php#cone and unpack it.
Set the appropriate environment variables if the compiler or linker needs any custom command line flags. Run “./configure --help” to list the available environment variables that specify additional arbitrary parameters for the C/C++ compiler.
Run “./configure
          [options]”.
          See below for a list of available options.
Run make.
The GNU version of the command is required. On BSD systems
            it's the gmake. Use
            gmake in
            this, and the following steps.
Run make check.
Run make install.
Run make install-configure.
Do not forget “make install-configure”. It is required.
Unless other options are used, Cone installs in /usr/local:
/usr/local/etcThe configuration file.
/usr/local/binThe shell script that runs Cone.
/usr/local/libexecThe Cone program itself.
/usr/local/shareDocumentation, online help, other files.
/usr/local/lib and /usr/local/includeThe development libraries and include files (only if
          --with-devel was
          specified to the configure script).
These installation directories, and other options, may be controlled by additional options to the configure script:
--prefix, --bindir, and
        others..../configure --help lists about a dozen parameters to the ./configure that specify the directories where various files should be installed.
--with-certdb, --without-certdb, --with-certdb=filenameInstall or do not install a default set of trusted SSL
          certificate authorities. When using SSL Cone normally checks the server's
          SSL certificate, which must be signed by a trusted
          certificate authority. Cone's source distribution includes
          the same list of trusted certificate authorities as the
          Mozilla browser. Cone's certificate list is installed
          by default, unless Courier is
          also installed, in which case Cone's default configuration points
          to Courier's
          rootcerts directory (which
          contains the same certificate as Cone's).
--with-certdb
          installs Cone's trusted
          SSL certificate authority list, even if Courier is also installed, in
          /usr/local/share/cone/rootcerts (which
          is derived from the --datadir default option,
          as explained by ./configure
          --help). --with-certdb=
          installs the trusted SSL certificate authority list in
          the directory filenamefilename. --without-certdb does not
          install Cone's trusted
          SSL certificate authority list.
--with-gnutlsSelect the GnuTLS library even if the OpenSSL library is also installed. The configure script automatically selects whichever one is available. The OpenSSL library is selected if both are present. Use this option to override and select GnuTLS instead.
--with-develInstall LibMAIL , the mail library used by Cone to access and handle E-mail messages.
--with-spellcheck=pspellCone can use either aspell or pspell for spell checking. aspell is used if both are installed. This option selects pspell instead.
Upgrading Cone consists simply of building the new version, and installing it. The new version will overwrite the previous version. Special upgrade instructions are given below.
The address book format has changed in version 0.60. The old address book format will be automatically converted to the new format, when necessary, so no manual intervention is necessary. If Cone is later downgraded to an earlier version, addresses in an address book that contain non-English characters will not be shown correctly.
Use the following procedure to build Cone.
The first step is to create a work area for building RPMs. Skip this step if an RPM build directory is already configured.
echo "%_topdir $HOME/rpm" > $HOME/.rpmmacros mkdir $HOME/rpm cd $HOME/rpm mkdir SOURCES SPECS BUILD SRPMS RPMS
Finally, download the source code to Cone from http://www.courier-mta.org/download.php#cone. Do
      not unpack the tarball. Execute “rpmbuild -ta cone-version.tar.bz2”.
      Two binary RPMs will be created: the main binary package
      contains Cone. The
      “devel” package contains the
      LibMAIL library and
      development files. It is only necessary to install the main
      package to run Cone the
      “devel” subpackage is only needed
      for additional development with LibMAIL .
It is also possible to check out the source from CVS,
      however additional requirements apply. Besides the usual
      prerequisites for building Cone, additional development software
      must be installed. See the “Download via
      CVS” instructions at http://www.courier-mta.org/status.html.
      Cone has the same
      requirements as Courier for
      CVS builds (technically, Cone does not need libtool, but that may
      change in the future). Make sure that the prerequisite
      software is installed, then check out the “Cone” module from
      CVS, tagged at revision “Cone-latest”. The
      HEAD may be checked out, but
      carries more of the usual risks.
After the module is checked out, run the autobloat shell script to rebuild the
      autoconf/automake scripts.