]> matita.cs.unibo.it Git - helm.git/commitdiff
completed installation instructions
authorStefano Zacchiroli <zack@upsilon.cc>
Thu, 9 Feb 2006 00:19:56 +0000 (00:19 +0000)
committerStefano Zacchiroli <zack@upsilon.cc>
Thu, 9 Feb 2006 00:19:56 +0000 (00:19 +0000)
matita/dist/INSTALL
matita/help/C/matita.xml
matita/help/C/sec_install.xml

index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..ddc50467e2211f9cb5d9cf1b5e9205dee90fb34e 100644 (file)
@@ -0,0 +1,180 @@
+Chapter 2. Installation
+
+Table of Contents
+
+Installing from sources
+
+    Getting the source code
+    Requirements
+    Database setup
+    Compiling and installing
+
+Installing from sources
+
+Currently, the only intended way to install Matita is starting from its source
+code.
+
+Getting the source code
+
+You can get the Matita source code in two ways:
+
+ 1. go to the download page and get the latest released source tarball;
+
+ 2. get the development sources from our SVN repository. You will need the
+    components/ and matita/ directories from the trunk/helm/software/
+    directory, plus the configure and Makefile* stuff from the same directory.
+
+    In this case you will need to run autoconf before proceding with the
+    building instructions below.
+
+Requirements
+
+In order to build Matita from sources you will need some tools and libraries.
+They are listed below.
+
+Note for Debian users
+
+If you are running a Debian GNU/Linux distribution you can have APT install all
+the required tools and libraries by adding the following repository to your /
+etc/apt/sources.list:
+
+              deb http://people.debian.org/~zack unstable helm
+
+
+and installing the helm-matita-deps package.
+
+Required tools and libraries
+
+OCaml
+
+    the Objective Caml compiler, version 3.09 or above
+
+Findlib
+
+    OCaml package manager, version 1.1.1 or above
+
+OCaml Expat
+
+    OCaml bindings for the expat library
+
+GMetaDOM
+
+    OCaml bindings for the Gdome 2 library
+
+OCaml HTTP
+
+    OCaml library to write HTTP daemons (and clients)
+
+LablGTK
+
+    OCaml bindings for the GTK+ library , version 2.6.0 or above
+
+GtkMathView , LablGtkMathView
+
+    GTK+ widget to render MathML documents and its OCaml bindings
+
+GtkSourceView , LablGtkSourceView
+
+    extension for the GTK+ text widget (adding the typical features of source
+    code editors) and its OCaml bindings
+
+MySQL , OCaml MySQL
+
+    SQL database and OCaml bindings for its client-side library
+
+    The SQL database itself is not strictly needed to run Matita, but we
+    stronly encourage its use since a lot of features are disabled without it.
+    Still, the OCaml bindings of the library are needed at compile time.
+
+Ocamlnet
+
+    collection of OCaml libraries to deal with application-level Internet
+    protocols and conventions
+
+ulex
+
+    Unicode lexer generator for OCaml
+
+CamlZip
+
+    OCaml library to access .gz files
+
+Database setup
+
+To fully exploit Matita indexing and search capabilities you will need a
+working MySQL database. Detalied instructions on how to do it can be found in
+the MySQL documentation. Here you can find a quick howto.
+
+In order to create a database you need administrator permissions on your MySQL
+installation, usually the root account has them. Once you have the permissions,
+a new database can be created executing mysqladmin create matita (matita is the
+default database name, you can change it using the db.user key of the
+configuration file).
+
+Then you need to grant the necessary access permissions to the database user of
+Matita, typing echo "grant all privileges on matita.* to helm;" | mysql matita
+should do the trick (helm is the default user name used by Matita to access the
+database, you can change it using the db.user key of the configuration file).
+
+Note
+
+This way you create a database named matita on which anyone claiming to be the
+helm user can do everything (like adding dummy data or destroying the contained
+one). It is strongly suggested to apply more fine grained permissions, how to
+do it is out of the scope of this manual.
+
+Compiling and installing
+
+Once you get the source code the installations steps should be quite familiar.
+
+First of all you need to configure the build process executing ./configure.
+This will check that all needed tools and library are installed and prepare the
+sources for compilation and installation.
+
+Quite a few (optional) arguments may be passed to the configure command line to
+change build time parameters. They are listed in the table below, together with
+their default values.
+
+Table 2.1.  configure command line arguments
+
+┌──────────────────┬─────────┬────────────────────────────────────────────────┐
+│     Argument     │ Default │                  Description                   │
+├──────────────────┼─────────┼────────────────────────────────────────────────┤
+│--with-runtime-dir│/usr/    │Runtime base directory where all Matita stuff   │
+│=dir              │local/   │(executables, configuration files, standard     │
+│                  │matita/  │library, ...) will be installed                 │
+├──────────────────┼─────────┼────────────────────────────────────────────────┤
+│                  │         │Default SQL server hostname. Will be used while │
+│                  │         │building the standard library during the        │
+│--with-dbhost=host│localhost│installation and to create the default Matita   │
+│                  │         │configuration. May be changed later in          │
+│                  │         │configuration file.                             │
+├──────────────────┼─────────┼────────────────────────────────────────────────┤
+│--enable-debug    │disabled │Enable debugging code. Not for the casual user. │
+└──────────────────┴─────────┴────────────────────────────────────────────────┘
+
+Then you will manage the build and install process using make as usual. Below
+are reported the targets you have to invoke in sequence to build and install.
+
+make targets
+
+world
+
+    builds components needed by Matita and Matita itself (in bytecode only or
+    in both bytecode and native code depending on the availability of the OCaml
+    native code compiler)
+
+library
+
+    uses the (just built) matitac compiler to build the Matita standard
+    library.
+
+    For this step you will need a working SQL database (for indexing the
+    standard library while you are compiling it). See Database setup for
+    instructions on how to set it up.
+
+install
+
+    installs Matita related tools, standard library and the needed runtime
+    stuff in the proper places on the filesystem
+
index 0b27e59fb21e7847324666e4e84103f4c79f13b5..05e0a82123a4a7dd9c172aea723591878d8bdece 100644 (file)
@@ -15,6 +15,8 @@
   <!ENTITY appversion SYSTEM "version.txt">
 
   <!ENTITY TODO "<emphasis>TODO</emphasis>">
+  <!ENTITY MYSQL "<application> <ulink type='http'
+      url='http://www.mysql.com'>MySQL</ulink> </application>">
 ]>
 
 <?yelp:chunk-depth 3?>
index 6b135e81e13e11f5723049118a3f8684ff55f56b..70bd903ccaa85edade8f6ac561f02a5e6977f15d 100644 (file)
@@ -5,7 +5,7 @@
   <title>Installation</title>
 
   <sect1 id="inst_from_src">
-    <title>Installing &appname; from sources</title>
+    <title>Installing from sources</title>
 
     <para>Currently, the only intended way to install &appname; is starting
       from its source code.  </para>
          </varlistentry>
 
          <varlistentry>
-           <term>
-             <application> <ulink type="http"
-                 url="http://www.mysql.com">MySQL</ulink> </application>
-           </term>
+           <term> &MYSQL; </term>
            <term>
              <application> <ulink type="http"
                  url="http://raevnos.pennmush.org/code/ocaml-mysql/">OCaml
 
     </sect2>
 
+    <sect2 id="database_setup">
+      <title>Database setup</title>
+
+      <para> To fully exploit &appname; indexing and search capabilities you
+       will need a working &MYSQL; database. Detalied instructions on how to do
+       it can be found in the <ulink type="http"
+         url="http://dev.mysql.com/doc/">MySQL documentation</ulink>. Here you
+       can find a quick howto. </para>
+
+      <para> In order to create a database you need administrator permissions on
+       your MySQL installation, usually the root account has them. Once you
+       have the permissions, a new database can be created executing
+       <userinput>mysqladmin create matita</userinput>
+       (<emphasis>matita</emphasis> is the default database name, you can
+       change it using the <parameter>db.user</parameter> key of the
+       configuration file). </para>
+
+      <para> Then you need to grant the necessary access permissions to the
+       database user of &appname;, typing <userinput>echo "grant all privileges
+         on matita.* to helm;" | mysql matita</userinput> should do the trick
+       (<emphasis>helm</emphasis> is the default user name used by &appname; to
+       access the database, you can change it using the
+       <parameter>db.user</parameter> key of the configuration file).
+      </para>
+
+      <note>
+       <para> This way you create a database named <emphasis>matita</emphasis>
+         on which anyone claiming to be the <emphasis>helm</emphasis> user can
+         do everything (like adding dummy data or destroying the contained
+         one). It is strongly suggested to apply more fine grained permissions,
+         how to do it is out of the scope of this manual.</para>
+      </note>
+      
+    </sect2>
+
     <sect2 id="build_instructions">
-      <title>Instructions</title>
+      <title>Compiling and installing</title>
 
       <para> Once you get the source code the installations steps should be
        quite familiar.</para>
 
       <para> First of all you need to configure the build process executing
        <userinput>./configure</userinput>. This will check that all needed
-       tools and library are installed. You may need to pass on the command
-       line some of the parameters riported below:
-
-       <variablelist>
-         <title><application>configure</application> parameters</title>
-
-         <varlistentry>
-           <term>&TODO;</term>
-           <listitem><para>&TODO;</para></listitem>
-         </varlistentry>
-
-       </variablelist>
+       tools and library are installed and prepare the sources for compilation
+       and installation. </para>
+       
+      <para> Quite a few (optional) arguments may be passed to the
+       <application>configure</application> command line to change build time
+       parameters. They are listed in the table below, together with their
+       default values.
+
+       <table frame="all">
+         <title> <application>configure</application> command line
+           arguments</title>
+         <tgroup cols="3" align="left" colsep="1" rowsep="1">
+           <thead>
+             <row>
+               <entry align="center">Argument</entry>
+               <entry align="center">Default</entry>
+               <entry align="center">Description</entry>
+             </row>
+           </thead>
+           <tbody>
+             <row>
+               <entry>
+                 <userinput>--with-runtime-dir=<replaceable>dir</replaceable></userinput>
+               </entry>
+               <entry> <filename>/usr/local/matita/</filename> </entry>
+               <entry> <para> Runtime base directory where all &appname; stuff
+                   (executables, configuration files, standard
+                   library,&nbsp;...) will be installed </para> </entry>
+             </row>
+             <row>
+               <entry>
+                 <userinput>--with-dbhost=<replaceable>host</replaceable></userinput>
+               </entry>
+               <entry> localhost </entry>
+               <entry> <para>Default SQL server hostname. Will be used while
+                   building the standard library during the installation and to
+                   create the default &appname; configuration. May be changed
+                   later in configuration file.</para></entry>
+             </row>
+             <row>
+               <entry> <userinput>--enable-debug</userinput></entry>
+               <entry> disabled </entry>
+               <entry> <para> Enable debugging code. Not for the casual user.
+                 </para> </entry>
+             </row>
+           </tbody>
+         </tgroup>
+       </table>
 
       </para>
 
-      <para> Then you will manage the build process using <application><ulink
-           type="http"
+      <para> Then you will manage the build and install process using
+       <application><ulink type="http"
            url="http://www.gnu.org/software/make/">make</ulink></application>
        as usual. Below are reported the targets you have to invoke in sequence
        to build and install.
                compiler to build the &appname; standard library. </para>
              <para>For this step you will need a working SQL database (for
                indexing the standard library while you are compiling it). See
-               &TODO; for instructions on how to set it up.</para>
+               <ulink type="http" url="#database_setup">Database setup</ulink>
+               for instructions on how to set it up.</para>
            </listitem>
          </varlistentry>