2 Tiny Matita logoMatita Home
4 Chapter 2. Installation
7 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
9 Chapter 2. Installation
13 Installing from sources
15 Getting the source code
18 Compiling and installing
20 Installing from sources
22 Currently, the only intended way to install Matita is starting from its source
25 Getting the source code
27 You can get the Matita source code in two ways:
29 1. go to the download page and get the latest released source tarball;
31 2. get the development sources from our SVN repository. You will need the
32 components/ and matita/ directories from the trunk/helm/software/
33 directory, plus the configure and Makefile* stuff from the same directory.
35 In this case you will need to run autoconf before proceding with the
36 building instructions below.
40 In order to build Matita from sources you will need some tools and libraries.
41 They are listed below.
45 If you are running a Debian GNU/Linux distribution you can have APT install all
46 the required tools and libraries by adding the following repository to your /
49 deb http://people.debian.org/~zack unstable helm
52 and installing the helm-matita-deps package.
54 Required tools and libraries
58 the Objective Caml compiler, version 3.09 or above
62 OCaml package manager, version 1.1.1 or above
66 OCaml bindings for the expat library
70 OCaml bindings for the Gdome 2 library
74 OCaml library to write HTTP daemons (and clients)
78 OCaml bindings for the GTK+ library , version 2.6.0 or above
80 GtkMathView , LablGtkMathView
82 GTK+ widget to render MathML documents and its OCaml bindings
84 GtkSourceView , LablGtkSourceView
86 extension for the GTK+ text widget (adding the typical features of source
87 code editors) and its OCaml bindings
91 SQL database and OCaml bindings for its client-side library
93 The SQL database itself is not strictly needed to run Matita, but we
94 stronly encourage its use since a lot of features are disabled without it.
95 Still, the OCaml bindings of the library are needed at compile time.
99 collection of OCaml libraries to deal with application-level Internet
100 protocols and conventions
104 Unicode lexer generator for OCaml
108 OCaml library to access .gz files
112 To fully exploit Matita indexing and search capabilities you will need a
113 working MySQL database. Detalied instructions on how to do it can be found in
114 the MySQL documentation. Here you can find a quick howto.
116 In order to create a database you need administrator permissions on your MySQL
117 installation, usually the root account has them. Once you have the permissions,
118 a new database can be created executing mysqladmin create matita (matita is the
119 default database name, you can change it using the db.user key of the
122 Then you need to grant the necessary access permissions to the database user of
123 Matita, typing echo "grant all privileges on matita.* to helm;" | mysql matita
124 should do the trick (helm is the default user name used by Matita to access the
125 database, you can change it using the db.user key of the configuration file).
129 This way you create a database named matita on which anyone claiming to be the
130 helm user can do everything (like adding dummy data or destroying the contained
131 one). It is strongly suggested to apply more fine grained permissions, how to
132 do it is out of the scope of this manual.
134 Compiling and installing
136 Once you get the source code the installations steps should be quite familiar.
138 First of all you need to configure the build process executing ./configure.
139 This will check that all needed tools and library are installed and prepare the
140 sources for compilation and installation.
142 Quite a few (optional) arguments may be passed to the configure command line to
143 change build time parameters. They are listed below, together with their
146 configure command line arguments
148 --with-runtime-dir=dir
150 (Default: /usr/local/matita) Runtime base directory where all Matita stuff
151 (executables, configuration files, standard library, ...) will be installed
155 (Default: localhost) Default SQL server hostname. Will be used while
156 building the standard library during the installation and to create the
157 default Matita configuration. May be changed later in configuration file.
161 (Default: disabled) Enable debugging code. Not for the casual user.
163 Then you will manage the build and install process using make as usual. Below
164 are reported the targets you have to invoke in sequence to build and install:
170 builds components needed by Matita and Matita itself (in bytecode or native
171 code depending on the availability of the OCaml native code compiler)
175 installs Matita related tools, standard library and the needed runtime
176 stuff in the proper places on the filesystem.
178 As a part of the installation process the Matita standard library will be
179 compiled, thus testing that the just built matitac compiler works properly.
181 For this step you will need a working SQL database (for indexing the
182 standard library while you are compiling it). See Database setup for
183 instructions on how to set it up.
185 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
188 Matita vs Coq Home Chapter 3. Getting started