81 lines
		
	
	
	
		
			3.5 KiB
		
	
	
	
		
			XML
		
	
	
	
	
	
			
		
		
	
	
			81 lines
		
	
	
	
		
			3.5 KiB
		
	
	
	
		
			XML
		
	
	
	
	
	
| <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>
 | ||
| 
 | ||
|   <listitem><para>GNU Make.</para></listitem>
 | ||
|   
 | ||
|   <listitem><para>Bash Shell. The <literal>./configure</literal> script
 | ||
|   relies on bashisms, so Bash is required.</para></listitem>
 | ||
| 
 | ||
|   <listitem><para>A version of GCC or Clang that supports C++14.</para></listitem>
 | ||
| 
 | ||
|   <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>
 | ||
| 
 | ||
|   <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>
 | ||
| 
 | ||
|   <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
 | ||
|   xlink:href="http://www.bzip.org/"/>.</para></listitem>
 | ||
| 
 | ||
|   <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>
 | ||
|       
 | ||
|   <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
 | ||
|   xlink:href="http://www.hboehm.info/gc/">Boehm
 | ||
|   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>
 | ||
| 
 | ||
|   <listitem><para>The <command>xmllint</command> and
 | ||
|   <command>xsltproc</command> programs to build this manual and the
 | ||
|   man-pages.  These are part of the <literal>libxml2</literal> and
 | ||
|   <literal>libxslt</literal> packages, respectively.  You also need
 | ||
|   the <link
 | ||
|   xlink:href="http://docbook.sourceforge.net/projects/xsl/">DocBook
 | ||
|   XSL stylesheets</link> and optionally the <link
 | ||
|   xlink:href="http://www.docbook.org/schemas/5x"> DocBook 5.0 RELAX NG
 | ||
|   schemas</link>.  Note that these are only required if you modify the
 | ||
|   manual sources or when you are building from the Git
 | ||
|   repository.</para></listitem>
 | ||
| 
 | ||
|   <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>
 | ||
| 
 | ||
| </itemizedlist>
 | ||
| 
 | ||
| </section>
 |