Project

General

Profile

strongSwan Installation Documentation » History » Version 58

« Previous - Version 58/59 (diff) - Next » - Current version
Tobias Brunner, 24.09.2019 11:25
Monolithic/Static builds


strongSwan Installation Documentation

Distribution packages

There are currently packages for:

Compile yourself

Linux Kernel requirements

strongSwan should run on most distros' kernels. If you build your own kernel, include the required modules.

Building strongSwan

Since the release of strongSwan 4.x the GNU build system (Autotools) is used to build strongSwan.

There is a growing list of configure options available (note that many of these are enabled by default):

Refer to the list of plugins to learn more about the plugins enabled with the above options.

Note: Some plugins have dependencies on third-party libraries. To compile such plugins the header files of those libraries are required. Make sure these are installed on your system, e.g. by installing the appropriate -dev package on Debian-based systems. Otherwise, the ./configure script will complain that it can't find the library or header files.

The build procedure is as with any autotools project:

  1. Download strongSwan:
     wget http://download.strongswan.org/strongswan-x.x.x.tar.bz2
    
  2. Unpack the tarball:
     tar xjvf strongswan-x.x.x.tar.bz2; cd strongswan-x.x.x
    
  3. Configure strongSwan using some of the options above:
     ./configure --prefix=/usr --sysconfdir=/etc --<your-options>
    
  4. Build the sources and install the binaries as root:
     make
     sudo make install
    

Building strongSwan from the Git repository

To build strongSwan from the Git repository additional tools and steps are required, check source:HACKING for details.

Building strongSwan on other platforms

Monolithic Builds

Plugins can be included in their associated library in a so called monolithic build (--enable-monolithic). That way it's not necessary to
distribute separate shared object files for each plugin but only the major libraries and executables. The plugins that are loaded at runtime
may still be controlled with the options described here.

Static Builds

Since 5.5.3, a static build that only relies on third-party libraries, i.e. in which our own libraries and plugins are all statically linked into the
executables, can be achieved by configuring with --disable-shared --enable-static --enable-monolithic.

Including third-party static libraries requires manual modification of the Makefiles due to limitation of our build system (see the Makefile
for the fuzzzing targets for an example, source:fuzz/Makefile.am).

Configuration Management for strongSwan

If you use CM to manage software, there are some options available to help configure strongSwan.

Chef

Useful cookbooks include:

Puppet

Useful modules include: