File: intro_install.docbook

package info (click to toggle)
tulip 3.7.0dfsg-4
  • links: PTS, VCS
  • area: main
  • in suites: wheezy
  • size: 39,428 kB
  • sloc: cpp: 231,403; php: 11,023; python: 1,128; sh: 671; yacc: 522; makefile: 315; xml: 63; lex: 55
file content (102 lines) | stat: -rwxr-xr-x 8,734 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
<chapter id="introduction"><title>Introduction</title>
    <para>Tulip is a software system for the area of the Information visualization. It is becoming more and more useful for the correct analysis of existing data sets. This need results from progress in data acquisition methods, and from the huge effort made to build computer access to the human knowledge. As an example, for the human genome database, the raw data acquisition phase seems to be completed; however, to reach the ultimate goal of providing new medical treatment, it is necessary to understand these data. In such an application, the information visualization views of the data in order to explore and extend knowledge.</para>
    <para>Here we focus on data that can be represented by a graph. In most of cases a graph structure can be extracted from existing data sets. The most well-known is the World Wide Web where links between pages can be considered as edges and pages as nodes. Another one is the human metabolism data-set where chemical reactions can be embedded in a Petri net, literature co-citations are modeled as edges between nodes of this network, and metabolic pathway are considered as clusters of the resulting graph.</para>
    <para>Systems to visualize graphs have come to the fore during the last ten years. To our knowledge, no one provides the following capabilities simultaneously :

    <itemizedlist>
        <listitem><para>Visualization and navigation in 2 or 3 dimensions</para></listitem>
        <listitem><para>Support of huge graphs</para></listitem>
        <listitem><para>Support of graph modifications</para></listitem>
        <listitem><para>Management of clusters</para></listitem>
        <listitem><para>Management of unbounded number of shared properties between graphs</para></listitem>
        <listitem><para>A mechanism for evaluating internal properties</para></listitem>
        <listitem><para>Extension and reuse without recompilation of the software</para></listitem>
        <listitem><para>Free of use and open source</para></listitem>
    </itemizedlist>
    To experiment with tools to handle graphs of the size of those induced by the human genome data set, one needs a software solution with all these capabilities. That's why we decided to build our own graph visualization software that meets these requirements. Tulip has been developed in C++, and uses two well-known libraries, OpenGL and Qt. The final program enables visualization, clustering and automatic drawing of graphs with up to 1.000.000 elements on personal computer.
    </para>

    <para>This manual is an help necessary for the developers of an application using <application>Tulip</application> libraries and for the developers of the <application>Tulip</application> Team.
    It explains how to compile the libraries and the software, it does a presentation of the main methods available on the libraries. Chapters relate the programming and documentation guidelines.
    </para>
</chapter>
<chapter id="installation"><title>Installation</title>
   <para>The <quote>configure</quote> shell script attempts to guess correct values for
various system-dependent variables used during compilation.  It uses
those values to create a <filename>Makefile</filename> in each directory of the package.
It may also create one or more <filename>.h</filename> files containing system-dependent
definitions.  Finally, it creates a shell script <filename>config.status</filename> that
you can run in the future to recreate the current configuration, a file
<filename>config.cache</filename> that saves the results of its tests to speed up
reconfiguring, and a file <filename>config.log</filename> containing compiler output
(useful mainly for debugging <code>configure</code>).</para>

   <para>If you need to do unusual things to compile the package, please try
to configure out how <code>configure</code> could check whether to do them, and mail
diffs or instructions to the address given in the <code>README</code> so they can
be considered for the next release.  If at some point <code>config.cache</code>
contains results you don't want to keep, you may remove or edit it.</para>

   <para>The file <filename>configure.in</filename> is used to create <filename>configure</filename> by a program
called <code>autoconf</code>.  You only need <quote>configure.in</quote> if you want to change
it or regenerate <code>configure</code> using a newer version of <code>autoconf</code>.</para>

<para><orderedlist><title>The simplest way to compile this package is:</title>

  <listitem><para><code>cd</code> to the directory containing the package's source code and type
     <code>./configure</code> to configure the package for your system.  If you're
     using <code>csh</code> on an old version of System V, you might need to type
     <code>sh ./configure</code> instead to prevent <code>csh</code> from trying to execute
     <code>configure</code> itself. To know all of the possible options, type <code>./configure --help</code>
     or read the next section about options.</para>

     <para>Running <code>configure</code> takes awhile.  While running, it prints some
     messages telling which features it is checking for.</para></listitem>

  <listitem><para>Type <code>make</code> to compile the package.</para></listitem>

  <listitem><para>Optionally, type <code>make check</code> to run any self-tests that come with
     the package.</para></listitem>

  <listitem><para>Type <code>make install</code> to install the programs, data files and
     documentation.</para></listitem>

  <listitem><para>You can remove the program binaries and object files from the
     source code directory by typing <code>make clean</code>.  To also remove the
     files that <filename>configure</filename> created (so you can compile the package for
     a different kind of computer), type <code>make distclean</code>.  There is
     also a <code>make maintainer-clean</code> target, but that is intended mainly
     for the package's developers.  If you use it, you may have to get
     all sorts of other programs in order to regenerate files that came
     with the distribution.</para></listitem></orderedlist>
</para>

<para>If you don't find the <filename>configure</filename> shell, you have to generate it with <filename>gen-conf.sh</filename>. The processing using the GNU build sytem gives a <filename>configure</filename> shell.</para>

    <caution><para>Verify <code>QTDIR</code> is properly set : <code>QTDIR/bin</code> should contain moc, qtconfig... , <code>QTDIR/lib</code> the libs and <code>QTDIR/include</code> the Qt headers ...</para></caution>

    <para>To compile the documentations, type <code>make html</code> and <code>make install</code> to install the documentation the <filename>share</filename> directory.</para>

    <sect1 id="options"><title>Options</title>
        <para>In this section, you can find the most used options. To know all of the possible options, type <code>./configure --help</code></para>
        <variablelist>
            <varlistentry>
                <term><code>--prefix</code> = <emphasis>value</emphasis></term>
                <listitem><para>The <emphasis>value</emphasis> is the path where you want to install Tulip. <filename>bin, include, lib</filename> directories was created in this location. By default, it is <filename>/usr/local/</filename>.</para></listitem>
            </varlistentry>
            <varlistentry>
                <term><code>--enable-debug</code></term>
                <listitem><para>Add compilation flags to allow debugging.</para></listitem>
            </varlistentry>
            <varlistentry>
                <term><code>--enable-maintainer-mode</code> = value</term>
                <listitem><para>Enable make rules and dependencies not useful (and sometimes confusing) to the casual installer. For example, if you modify a <filename>Makefile.am</filename> file, it is detected and the <filename>Makefile</filename> is updated.</para></listitem>
            </varlistentry>
            <varlistentry>
                <term><code>--CXXFLAGS</code></term>
                <listitem><para>Enable to specify special tags for the g++ compiler. It is an important part to have great performings. For example, you can specify the architecture of your PC : --CXXFLAGS="-DNDEBUG -O3 --funroll-loops <code>-mtune=pentium4 -narch=pentium4</code> -pipe". For more informations about the options of compilations for g++, see the web site of gcc, <ulink url="http://gcc.gnu.org/onlinedocs/gcc-4.0.1/gcc/Submodel-Options.html#Submodel-Options">here</ulink>.</para></listitem>
            </varlistentry>
        </variablelist>
        
    </sect1>
</chapter>