2014-08-27 16:41:09 +00:00
|
|
|
|
<section xmlns="http://docbook.org/ns/docbook"
|
|
|
|
|
xmlns:xlink="http://www.w3.org/1999/xlink"
|
|
|
|
|
xmlns:xi="http://www.w3.org/2001/XInclude"
|
|
|
|
|
version="5.0"
|
|
|
|
|
xml:id="sec-prerequisites-source">
|
|
|
|
|
|
|
|
|
|
<title>Prerequisites</title>
|
|
|
|
|
|
|
|
|
|
<itemizedlist>
|
|
|
|
|
|
2020-01-27 01:22:47 +00:00
|
|
|
|
<listitem><para>GNU Autoconf
|
|
|
|
|
(<link xlink:href="https://www.gnu.org/software/autoconf/"/>)
|
|
|
|
|
and the autoconf-archive macro collection
|
|
|
|
|
(<link xlink:href="https://www.gnu.org/software/autoconf-archive/"/>).
|
|
|
|
|
These are only needed to run the bootstrap script, and are not necessary
|
|
|
|
|
if your source distribution came with a pre-built
|
|
|
|
|
<literal>./configure</literal> script.</para></listitem>
|
|
|
|
|
|
2014-08-27 16:41:09 +00:00
|
|
|
|
<listitem><para>GNU Make.</para></listitem>
|
2018-04-09 21:31:39 +00:00
|
|
|
|
|
|
|
|
|
<listitem><para>Bash Shell. The <literal>./configure</literal> script
|
|
|
|
|
relies on bashisms, so Bash is required.</para></listitem>
|
2014-08-27 16:41:09 +00:00
|
|
|
|
|
2019-07-01 17:04:03 +00:00
|
|
|
|
<listitem><para>A version of GCC or Clang that supports C++17.</para></listitem>
|
2014-08-27 16:41:09 +00:00
|
|
|
|
|
|
|
|
|
<listitem><para><command>pkg-config</command> to locate
|
|
|
|
|
dependencies. If your distribution does not provide it, you can get
|
|
|
|
|
it from <link
|
|
|
|
|
xlink:href="http://www.freedesktop.org/wiki/Software/pkg-config"
|
|
|
|
|
/>.</para></listitem>
|
2017-10-20 01:03:26 +00:00
|
|
|
|
|
2016-07-20 13:02:29 +00:00
|
|
|
|
<listitem><para>The OpenSSL library to calculate cryptographic hashes.
|
|
|
|
|
If your distribution does not provide it, you can get it from <link
|
|
|
|
|
xlink:href="https://www.openssl.org"/>.</para></listitem>
|
2014-08-27 16:41:09 +00:00
|
|
|
|
|
2018-12-08 22:28:38 +00:00
|
|
|
|
<listitem><para>The <literal>libbrotlienc</literal> and
|
|
|
|
|
<literal>libbrotlidec</literal> libraries to provide implementation
|
|
|
|
|
of the Brotli compression algorithm. They are available for download
|
|
|
|
|
from the official repository <link
|
|
|
|
|
xlink:href="https://github.com/google/brotli" />.</para></listitem>
|
|
|
|
|
|
2014-08-27 16:41:09 +00:00
|
|
|
|
<listitem><para>The bzip2 compressor program and the
|
|
|
|
|
<literal>libbz2</literal> library. Thus you must have bzip2
|
|
|
|
|
installed, including development headers and libraries. If your
|
|
|
|
|
distribution does not provide these, you can obtain bzip2 from <link
|
2018-09-03 15:57:13 +00:00
|
|
|
|
xlink:href="https://web.archive.org/web/20180624184756/http://www.bzip.org/"
|
|
|
|
|
/>.</para></listitem>
|
2014-08-27 16:41:09 +00:00
|
|
|
|
|
2018-04-09 21:31:39 +00:00
|
|
|
|
<listitem><para><literal>liblzma</literal>, which is provided by
|
|
|
|
|
XZ Utils. If your distribution does not provide this, you can
|
|
|
|
|
get it from <link xlink:href="https://tukaani.org/xz/"/>.</para></listitem>
|
|
|
|
|
|
|
|
|
|
<listitem><para>cURL and its library. If your distribution does not
|
|
|
|
|
provide it, you can get it from <link
|
|
|
|
|
xlink:href="https://curl.haxx.se/"/>.</para></listitem>
|
|
|
|
|
|
2014-08-27 16:41:09 +00:00
|
|
|
|
<listitem><para>The SQLite embedded database library, version 3.6.19
|
|
|
|
|
or higher. If your distribution does not provide it, please install
|
|
|
|
|
it from <link xlink:href="http://www.sqlite.org/" />.</para></listitem>
|
|
|
|
|
|
|
|
|
|
<listitem><para>The <link
|
2016-01-01 23:55:01 +00:00
|
|
|
|
xlink:href="http://www.hboehm.info/gc/">Boehm
|
2014-08-27 16:41:09 +00:00
|
|
|
|
garbage collector</link> to reduce the evaluator’s memory
|
|
|
|
|
consumption (optional). To enable it, install
|
|
|
|
|
<literal>pkgconfig</literal> and the Boehm garbage collector, and
|
|
|
|
|
pass the flag <option>--enable-gc</option> to
|
|
|
|
|
<command>configure</command>.</para></listitem>
|
|
|
|
|
|
2018-12-08 22:28:38 +00:00
|
|
|
|
<listitem><para>The <literal>boost</literal> library of version
|
2018-12-13 06:50:39 +00:00
|
|
|
|
1.66.0 or higher. It can be obtained from the official web site
|
2018-12-08 22:28:38 +00:00
|
|
|
|
<link xlink:href="https://www.boost.org/" />.</para></listitem>
|
|
|
|
|
|
2019-07-01 16:31:54 +00:00
|
|
|
|
<listitem><para>The <literal>editline</literal> library of version
|
|
|
|
|
1.14.0 or higher. It can be obtained from the its repository
|
|
|
|
|
<link xlink:href="https://github.com/troglobit/editline" />.</para></listitem>
|
|
|
|
|
|
2014-08-27 16:41:09 +00:00
|
|
|
|
<listitem><para>Recent versions of Bison and Flex to build the
|
|
|
|
|
parser. (This is because Nix needs GLR support in Bison and
|
|
|
|
|
reentrancy support in Flex.) For Bison, you need version 2.6, which
|
|
|
|
|
can be obtained from the <link
|
|
|
|
|
xlink:href="ftp://alpha.gnu.org/pub/gnu/bison">GNU FTP
|
|
|
|
|
server</link>. For Flex, you need version 2.5.35, which is
|
|
|
|
|
available on <link
|
|
|
|
|
xlink:href="http://lex.sourceforge.net/">SourceForge</link>.
|
|
|
|
|
Slightly older versions may also work, but ancient versions like the
|
|
|
|
|
ubiquitous 2.5.4a won't. Note that these are only required if you
|
|
|
|
|
modify the parser or when you are building from the Git
|
|
|
|
|
repository.</para></listitem>
|
|
|
|
|
|
2018-12-08 22:28:38 +00:00
|
|
|
|
<listitem><para>The <literal>libseccomp</literal> is used to provide
|
|
|
|
|
syscall filtering on Linux. This is an optional dependency and can
|
|
|
|
|
be disabled passing a <option>--disable-seccomp-sandboxing</option>
|
|
|
|
|
option to the <command>configure</command> script (Not recommended
|
|
|
|
|
unless your system doesn't support
|
|
|
|
|
<literal>libseccomp</literal>). To get the library, visit <link
|
|
|
|
|
xlink:href="https://github.com/seccomp/libseccomp"
|
|
|
|
|
/>.</para></listitem>
|
|
|
|
|
|
2014-08-27 16:41:09 +00:00
|
|
|
|
</itemizedlist>
|
|
|
|
|
|
2015-09-15 16:42:44 +00:00
|
|
|
|
</section>
|