1 Chapter 2. Installation
5 Installing from sources
7 Getting the source code
10 Compiling and installing
12 Installing from sources
14 Currently, the only intended way to install Matita is starting from its source
17 Getting the source code
19 You can get the Matita source code in two ways:
21 1. go to the download page and get the latest released source tarball;
23 2. get the development sources from our SVN repository. You will need the
24 components/ and matita/ directories from the trunk/helm/software/
25 directory, plus the configure and Makefile* stuff from the same directory.
27 In this case you will need to run autoconf before proceding with the
28 building instructions below.
32 In order to build Matita from sources you will need some tools and libraries.
33 They are listed below.
37 If you are running a Debian GNU/Linux distribution you can have APT install all
38 the required tools and libraries by adding the following repository to your /
41 deb http://people.debian.org/~zack unstable helm
44 and installing the helm-matita-deps package.
46 Required tools and libraries
50 the Objective Caml compiler, version 3.09 or above
54 OCaml package manager, version 1.1.1 or above
58 OCaml bindings for the expat library
62 OCaml bindings for the Gdome 2 library
66 OCaml library to write HTTP daemons (and clients)
70 OCaml bindings for the GTK+ library , version 2.6.0 or above
72 GtkMathView , LablGtkMathView
74 GTK+ widget to render MathML documents and its OCaml bindings
76 GtkSourceView , LablGtkSourceView
78 extension for the GTK+ text widget (adding the typical features of source
79 code editors) and its OCaml bindings
83 SQL database and OCaml bindings for its client-side library
85 The SQL database itself is not strictly needed to run Matita, but we
86 stronly encourage its use since a lot of features are disabled without it.
87 Still, the OCaml bindings of the library are needed at compile time.
91 collection of OCaml libraries to deal with application-level Internet
92 protocols and conventions
96 Unicode lexer generator for OCaml
100 OCaml library to access .gz files
104 To fully exploit Matita indexing and search capabilities you will need a
105 working MySQL database. Detalied instructions on how to do it can be found in
106 the MySQL documentation. Here you can find a quick howto.
108 In order to create a database you need administrator permissions on your MySQL
109 installation, usually the root account has them. Once you have the permissions,
110 a new database can be created executing mysqladmin create matita (matita is the
111 default database name, you can change it using the db.user key of the
114 Then you need to grant the necessary access permissions to the database user of
115 Matita, typing echo "grant all privileges on matita.* to helm;" | mysql matita
116 should do the trick (helm is the default user name used by Matita to access the
117 database, you can change it using the db.user key of the configuration file).
121 This way you create a database named matita on which anyone claiming to be the
122 helm user can do everything (like adding dummy data or destroying the contained
123 one). It is strongly suggested to apply more fine grained permissions, how to
124 do it is out of the scope of this manual.
126 Compiling and installing
128 Once you get the source code the installations steps should be quite familiar.
130 First of all you need to configure the build process executing ./configure.
131 This will check that all needed tools and library are installed and prepare the
132 sources for compilation and installation.
134 Quite a few (optional) arguments may be passed to the configure command line to
135 change build time parameters. They are listed in the table below, together with
136 their default values.
138 Table 2.1. configure command line arguments
140 ┌──────────────────┬─────────┬────────────────────────────────────────────────┐
141 │ Argument │ Default │ Description │
142 ├──────────────────┼─────────┼────────────────────────────────────────────────┤
143 │--with-runtime-dir│/usr/ │Runtime base directory where all Matita stuff │
144 │=dir │local/ │(executables, configuration files, standard │
145 │ │matita/ │library, ...) will be installed │
146 ├──────────────────┼─────────┼────────────────────────────────────────────────┤
147 │ │ │Default SQL server hostname. Will be used while │
148 │ │ │building the standard library during the │
149 │--with-dbhost=host│localhost│installation and to create the default Matita │
150 │ │ │configuration. May be changed later in │
151 │ │ │configuration file. │
152 ├──────────────────┼─────────┼────────────────────────────────────────────────┤
153 │--enable-debug │disabled │Enable debugging code. Not for the casual user. │
154 └──────────────────┴─────────┴────────────────────────────────────────────────┘
156 Then you will manage the build and install process using make as usual. Below
157 are reported the targets you have to invoke in sequence to build and install.
163 builds components needed by Matita and Matita itself (in bytecode only or
164 in both bytecode and native code depending on the availability of the OCaml
165 native code compiler)
169 uses the (just built) matitac compiler to build the Matita standard
172 For this step you will need a working SQL database (for indexing the
173 standard library while you are compiling it). See Database setup for
174 instructions on how to set it up.
178 installs Matita related tools, standard library and the needed runtime
179 stuff in the proper places on the filesystem