PrerequisitesGNU Make.Bash Shell. The ./configure script
relies on bashisms, so Bash is required.A version of GCC or Clang that supports C++17.pkg-config to locate
dependencies. If your distribution does not provide it, you can get
it from .The OpenSSL library to calculate cryptographic hashes.
If your distribution does not provide it, you can get it from .The libbrotlienc and
libbrotlidec libraries to provide implementation
of the Brotli compression algorithm. They are available for download
from the official repository .The bzip2 compressor program and the
libbz2 library. Thus you must have bzip2
installed, including development headers and libraries. If your
distribution does not provide these, you can obtain bzip2 from .liblzma, which is provided by
XZ Utils. If your distribution does not provide this, you can
get it from .cURL and its library. If your distribution does not
provide it, you can get it from .The SQLite embedded database library, version 3.6.19
or higher. If your distribution does not provide it, please install
it from .The Boehm
garbage collector to reduce the evaluator’s memory
consumption (optional). To enable it, install
pkgconfig and the Boehm garbage collector, and
pass the flag to
configure.The boost library of version
1.66.0 or higher. It can be obtained from the official web site
.The editline library of version
1.14.0 or higher. It can be obtained from the its repository
.The xmllint and
xsltproc programs to build this manual and the
man-pages. These are part of the libxml2 and
libxslt packages, respectively. You also need
the DocBook
XSL stylesheets and optionally the DocBook 5.0 RELAX NG
schemas. Note that these are only required if you modify the
manual sources or when you are building from the Git
repository.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 GNU FTP
server. For Flex, you need version 2.5.35, which is
available on SourceForge.
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.The libseccomp is used to provide
syscall filtering on Linux. This is an optional dependency and can
be disabled passing a
option to the configure script (Not recommended
unless your system doesn't support
libseccomp). To get the library, visit .