Sophie

Sophie

distrib > Fedora > 14 > x86_64 > by-pkgid > bbf8b69a7c5792df8049c96b78d19811 > files > 780

doxygen-1.7.4-2.fc14.x86_64.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>Doxygen manual: Installation</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.4 -->
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">Doxygen manual</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
</div>
<div class="header">
  <div class="headertitle">
<div class="title">Installation </div>  </div>
</div>
<div class="contents">
<div class="textblock"><p><a name="installation"></a> First go to the <a href="http://www.doxygen.org/download.html">download</a> page  to get the latest distribution, if you did not have it already.</p>
<p>This section is divided into the following sections: </p>
<ul>
<li>
<a class="el" href="install.html#install_src_unix">Compiling from source on UNIX</a> </li>
<li>
<a class="el" href="install.html#install_bin_unix">Installing the binaries on UNIX</a> </li>
<li>
<a class="el" href="install.html#unix_problems">Known compilation problems for UNIX</a> </li>
<li>
<a class="el" href="install.html#install_src_windows">Compiling from source on Windows</a> </li>
<li>
<a class="el" href="install.html#install_bin_windows">Installing the binaries on Windows</a> </li>
<li>
<a class="el" href="install.html#build_tools">Tools used to develop doxygen</a> </li>
</ul>
<h2><a class="anchor" id="install_src_unix"></a>
Compiling from source on UNIX</h2>
<p>If you downloaded the source distribution, you need at least the following to build the executable: </p>
<ul>
<li>
The <a href="ftp://prep.ai.mit.edu/pub/gnu/">GNU</a> tools flex, bison and GNU make, and strip <a name="flex"></a> <a name="bison"></a> <a name="make"></a> <a name="strip"></a> </li>
<li>
In order to generate a Makefile for your platform, you need <a href="http://www.perl.com/">perl</a> . <a name="perl"></a> </li>
<li>
The configure script assume the availability of standard UNIX tools such as sed, date, find, uname, mv, cp, cat, echo, tr, cd, and rm. </li>
</ul>
<p>To take full advantage of doxygen's features the following additional tools should be installed.</p>
<ul>
<li>
Qt Software's GUI toolkit <a href="http://qt.nokia.com/">Qt</a>  <a name="Qt"></a> version 4.3 or higher. This is needed to build the GUI front-end doxywizard. </li>
<li>
A <img class="formulaInl" alt="$\mbox{\LaTeX}$" src="form_0.png"/> distribution: for instance <a href="http://www.tug.org/interest.html#free">teTeX 1.0</a> . This is needed for generating LaTeX, Postscript, and PDF output. </li>
<li>
<a href="http://www.graphviz.org/">the Graph visualization toolkit version 1.8.10 or higher</a> . Needed for the include dependency graphs, the graphical inheritance graphs, and the collaboration graphs. If you compile graphviz yourself, make sure you do include freetype support (which requires the freetype library and header files), otherwise the graphs will not render proper text labels. </li>
<li>
For formulas or if you do not wish to use pdflatex, the ghostscript interpreter is needed. You can find it at <a href="http://www.ghostscript.com/">www.ghostscript.com</a>. </li>
<li>
In order to generate doxygen's own documentation, Python is needed, you can find it at <a href="http://www.python.org">www.python.org</a>. </li>
</ul>
<p>Compilation is now done by performing the following steps:</p>
<ol>
<li>
<p class="startli">Unpack the archive, unless you already have done that:</p>
<div class="fragment"><pre class="fragment">
    gunzip doxygen-$VERSION.src.tar.gz    # uncompress the archive
    tar xf doxygen-$VERSION.src.tar       # unpack it
</pre></div><p class="endli"></p>
</li>
<li>
<p class="startli">Run the configure script:</p>
<div class="fragment"><pre class="fragment">
    sh ./configure
</pre></div><p>The script tries to determine the platform you use, the make tool (which <em>must</em> be GNU make) and the perl interpreter. It will report what it finds.</p>
<p>To override the auto detected platform and compiler you can run configure as follows:</p>
<div class="fragment"><pre class="fragment">
    configure --platform platform-type
</pre></div><p>See the <code>PLATFORMS</code> file for a list of possible platform options.</p>
<p>If you have Qt-4.3 or higher installed and want to build the GUI front-end, you should run the configure script with the <code>--with-doxywizard</code> option:</p>
<div class="fragment"><pre class="fragment">
    configure --with-doxywizard
</pre></div><p>For an overview of other configuration options use</p>
<div class="fragment"><pre class="fragment">
    configure --help
</pre></div><p class="endli"></p>
</li>
<li>
<p class="startli">Compile the program by running make:</p>
<div class="fragment"><pre class="fragment">
    make
</pre></div><p>The program should compile without problems and three binaries (<code>doxygen</code> and <code>doxytag</code>) should be available in the bin directory of the distribution.</p>
<p class="endli"></p>
</li>
<li>
<p class="startli">Optional: Generate the user manual.</p>
<div class="fragment"><pre class="fragment">
    make docs
</pre></div><p>To let doxygen generate the HTML documentation.</p>
<p>The HTML directory of the distribution will now contain the html documentation (just point a HTML browser to the file <code>index.html</code> in the html directory). You will need the <code>python</code> interpreter for this.</p>
<p class="endli"></p>
</li>
<li>
<p class="startli">Optional: Generate a PDF version of the manual (you will need <code>pdflatex</code>, <code>makeindex</code>, and <code>egrep</code> for this).</p>
<div class="fragment"><pre class="fragment">
    make pdf
</pre></div><p>The PDF manual <code>doxygen_manual.pdf</code> will be located in the latex directory of the distribution. Just view and print it via the acrobat reader.</p>
<p class="endli"></p>
</li>
</ol>
<h2><a class="anchor" id="install_bin_unix"></a>
Installing the binaries on UNIX</h2>
<p>After the compilation of the source code do a <code>make install</code> to install doxygen. If you downloaded the binary distribution for UNIX, type:</p>
<div class="fragment"><pre class="fragment">
    ./configure
    make install
</pre></div><p>Binaries are installed into the directory <code>&lt;prefix&gt;/bin</code>. Use <code>make install_docs</code> to install the documentation and examples into <code>&lt;docdir&gt;/doxygen</code>.</p>
<p><code>&lt;prefix&gt;</code> defaults to <code>/usr/local</code> but can be changed with the <code>--prefix</code> option of the configure script. The default <code>&lt;docdir&gt;</code> directory is <code>&lt;prefix&gt;/share/doc/packages</code> and can be changed with the <code>--docdir</code> option of the configure script.</p>
<p>Alternatively, you can also copy the binaries from the <code>bin</code> directory manually to some <code>bin</code> directory in your search path. This is sufficient to use doxygen.</p>
<dl class="note"><dt><b>Note:</b></dt><dd>You need the GNU install tool for this to work (it is part of the coreutils package). Other install tools may put the binaries in the wrong directory!</dd></dl>
<p>If you have a RPM or DEP package, then please follow the standard installation procedure that is required for these packages.</p>
<h2><a class="anchor" id="unix_problems"></a>
Known compilation problems for UNIX</h2>
<p><b>Qt problems</b></p>
<p>The Qt include files and libraries are not a subdirectory of the directory pointed to by QTDIR on some systems (for instance on Red Hat 6.0 includes are in /usr/include/qt and libs are in /usr/lib).</p>
<p>The solution: go to the root of the doxygen distribution and do: </p>
<div class="fragment"><pre class="fragment">
   mkdir qt
   cd qt
   ln -s your-qt-include-dir-here include
   ln -s your-qt-lib-dir-here lib
   ln -s your-qt-bin-dir-here bin
   export QTDIR=$PWD
</pre></div><p>If you have a csh-like shell you should use <code>setenv QTDIR $PWD</code> instead of the <code>export</code> command above.</p>
<p>Now install doxygen as described above.</p>
<p><b>Bison problems</b></p>
<p>Versions 1.31 to 1.34 of bison contain a "bug" that results in a compiler errors like this:</p>
<p>ce_parse.cpp:348: member `class CPPValue yyalloc::yyvs' with constructor not allowed in union</p>
<p>This problem has been solved in version 1.35 (versions before 1.31 will also work).</p>
<p><b>Latex problems</b></p>
<p>The file <code>a4wide.sty</code> is not available for all distributions. If your distribution does not have it please select another paper type in the config file (see the <a class="el" href="config.html#cfg_paper_type">PAPER_TYPE</a> tag in the config file).</p>
<p><b>HP-UX &amp; Digital UNIX problems</b></p>
<p>If you are compiling for HP-UX with aCC and you get this error: </p>
<div class="fragment"><pre class="fragment">
    /opt/aCC/lbin/ld: Unsatisfied symbols:
    alloca (code)
</pre></div><p> then you should (according to Anke Selig) edit <code>ce_parse.cpp</code> and replace </p>
<div class="fragment"><pre class="fragment">
    extern "C" {
      void *alloca (unsigned int);
    };
</pre></div><p> with </p>
<div class="fragment"><pre class="fragment">
    #include &lt;alloca.h&gt;  
</pre></div><p>If that does not help, try removing <code>ce_parse.cpp</code> and let bison rebuild it (this worked for me).</p>
<p>If you are compiling for Digital UNIX, the same problem can be solved (according to Barnard Schmallhof) by replacing the following in ce_parse.cpp:</p>
<div class="fragment"><pre class="fragment">
    #else /* not GNU C.  */
    #if (!defined (__STDC__) &amp;&amp; defined (sparc)) || defined (__sparc__) \
        || defined (__sparc) || defined (__sgi)
    #include &lt;alloca.h&gt;
</pre></div><p>with</p>
<div class="fragment"><pre class="fragment">
    #else /* not GNU C.  */
    #if (!defined (__STDC__) &amp;&amp; defined (sparc)) || defined (__sparc__) \
        || defined (__sparc) || defined (__sgi) || defined (__osf__)
    #include &lt;alloca.h&gt;
</pre></div><p>Alternatively, one could fix the problem at the bison side. Here is patch for bison.simple (provided by Andre Johansen):</p>
<div class="fragment"><pre class="fragment">
--- bison.simple~       Tue Nov 18 11:45:53 1997
+++ bison.simple        Mon Jan 26 15:10:26 1998
@@ -27,7 +27,7 @@
 #ifdef __GNUC__
 #define alloca __builtin_alloca
 #else /* not GNU C.  */
-#if (!defined (__STDC__) &amp;&amp; defined (sparc)) || defined (__sparc__) \
     || defined (__sparc) || defined (__sgi)
+#if (!defined (__STDC__) &amp;&amp; defined (sparc)) || defined (__sparc__) \
     || defined (__sparc) || defined (__sgi) || defined (__alpha)
 #include &lt;alloca.h&gt;
 #else /* not sparc */
 #if defined (MSDOS) &amp;&amp; !defined (__TURBOC__)
</pre></div><p>The generated scanner.cpp that comes with doxygen is build with this patch applied.</p>
<p><b>Sun compiler problems</b></p>
<p>It appears that doxygen doesn't work properly if it is compiled with Sun's C++ WorkShop 6 Compiler. I cannot verify this myself as I do not have access to a Solaris machine with this compiler. With GNU compiler it does work and installing Sun patch 111679-13 has also been reported as a way to fix the problem.</p>
<p>when configuring with <code>--static</code> I got:</p>
<div class="fragment"><pre class="fragment">
Undefined                       first referenced
 symbol                             in file
dlclose                             /usr/lib/libc.a(nss_deffinder.o)
dlsym                               /usr/lib/libc.a(nss_deffinder.o)
dlopen                              /usr/lib/libc.a(nss_deffinder.o)
</pre></div><p>Manually adding <code>-Bdynamic</code> after the target rule in <code>Makefile.doxygen</code> and <code>Makefile.doxytag</code> will fix this:</p>
<div class="fragment"><pre class="fragment">
$(TARGET): $(OBJECTS) $(OBJMOC) 
        $(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(OBJMOC) $(LIBS) -Bdynamic
</pre></div><p><b>GCC compiler problems</b></p>
<p>Older versions of the GNU compiler have problems with constant strings containing characters with character codes larger than 127. Therefore the compiler will fail to compile some of the translator_xx.h files. A workaround, if you are planning to use the English translation only, is to configure doxygen with the <code>--english-only</code> option.</p>
<p>On some platforms (such as OpenBSD) using some versions of gcc with -O2 can lead to eating all memory during the compilation of files such as config.cpp. As a workaround use --debug as a configure option or omit the -O2 for the particular files in the Makefile.</p>
<p>Gcc versions before 2.95 may produce broken binaries due to bugs in these compilers.</p>
<p><b>Dot problems</b></p>
<p>Due to a change in the way image maps are generated, older versions of doxygen (&lt;=1.2.17) will not work correctly with newer versions of graphviz (&gt;=1.8.8). The effect of this incompatibility is that generated graphs in HTML are not properly clickable. For doxygen 1.3 it is recommended to use at least graphviz 1.8.10 or higher. For doxygen 1.4.7 or higher it is recommended to use GraphViz 2.8 or higher to avoid font issues.</p>
<p><b>Red Hat 9.0 problems</b></p>
<p>If you get the following error after running make </p>
<div class="fragment"><pre class="fragment">
tmake error: qtools.pro:70: Syntax error
</pre></div><p> then first type </p>
<div class="fragment"><pre class="fragment">
export LANG=
</pre></div><p> before running make.</p>
<h2><a class="anchor" id="install_src_windows"></a>
Compiling from source on Windows</h2>
<p>From version 1.7.0 onwards, build files are provided for Visual Studio 2008. Also the free (as in beer) "Express" version of Developer Studio can be used to compile doxygen. Alternatively, you can compile doxygen <a class="el" href="install.html#install_src_unix">the UNIX way</a> using <a href="http://en.wikipedia.org/wiki/Cygwin">Cygwin</a> or <a href="http://www.mingw.org/">MinGW</a>.</p>
<p>The next step is to install unxutils (see <a href="http://sourceforge.net/projects/unxutils">http://sourceforge.net/projects/unxutils</a>). This packages contains the tools <code>flex</code> and <code>bison</code> which are needed during the compilation process if you use a CVS snapshot of doxygen (the official source releases come with pre-generated sources). Download the zip extract it to e.g. <code>c:\tools\unxutils</code>.</p>
<p>Now you need to add/adjust the following environment variables (via Control Panel/System/Advanced/Environment Variables):</p>
<ul>
<li>add <code>c:\tools\unxutils\usr\local\wbin;</code> to the start of <code>PATH</code></li>
<li>set <code>BISON_SIMPLE</code> to <code>c:\tools\unxutils\usr\local\share\bison.simple</code></li>
</ul>
<p>Download doxygen's source tarball and put it somewhere (e.g use <code>c:\tools</code>)</p>
<p>Now start a new command shell and type </p>
<div class="fragment"><pre class="fragment">
cd c:\tools
gunzip doxygen-x.y.z.src.tar.gz
tar xvf doxygen-x.y.z.src.tar
</pre></div><p> to unpack the sources.</p>
<p>Now your environment is setup to build <code>doxygen</code> and <code>doxytag</code>.</p>
<p>Inside the <code>doxygen-x.y.z</code> directory you will find a <code>winbuild</code> directory containing a <code>Doxygen.sln</code> file. Open this file in Visual Studio. You can now build the Release or Debug flavor of Doxygen and Doxytag by right-clicking the project in the solutions explorer, and selecting Build.</p>
<p>Note that compiling Doxywizard currently requires Qt version 4 (see <a href="http://qt.nokia.com/products/platform/qt-for-windows">http://qt.nokia.com/products/platform/qt-for-windows</a>).</p>
<p>Also read the next section for additional tools you may need to install to run doxygen with certain features enabled.</p>
<h2><a class="anchor" id="install_bin_windows"></a>
Installing the binaries on Windows</h2>
<p>Doxygen comes as a self-installing archive, so installation is extremely simple. Just follow the dialogs.</p>
<p>After installation it is recommended to also download and install GraphViz (version 2.8 or better is highly recommended). Doxygen can use the <code>dot</code> tool of the GraphViz package to render nicer diagrams, see the <a class="el" href="config.html#cfg_have_dot">HAVE_DOT</a> option in the configuration file.</p>
<p>If you want to produce compressed HTML files (see <a class="el" href="config.html#cfg_generate_htmlhelp">GENERATE_HTMLHELP</a>) in the config file, then you need the Microsoft HTML help workshop. You can download it from <a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/htmlhelp/html/vsconHH1Start.asp">Microsoft</a>.</p>
<p>If you want to produce Qt Compressed Help files (see <a class="el" href="config.html#cfg_qhg_location">QHG_LOCATION</a>) in the config file, then you need qhelpgenerator which is part of Qt. You can download Qt from <a href="http://trolltech.com/downloads/">Qt Software Downloads</a>.</p>
<p>In order to generate PDF output or use scientific formulas you will also need to install <a href="http://en.wikipedia.org/wiki/LaTeX">LaTeX</a> and <a href="http://en.wikipedia.org/wiki/Ghostscript">Ghostscript</a>.</p>
<p>For LaTeX a number of distributions exists. Popular ones that should work with doxygen are <a href="http://www.miktex.org">MikTex</a> and <a href="http://www.xemtex.org">XemTex</a>.</p>
<p>Ghostscript can be <a href="http://sourceforge.net/projects/ghostscript/">downloaded</a> from Sourceforge.</p>
<p>After installing LaTeX and Ghostscript you'll need to make sure the tools latex.exe, pdflatex.exe, and gswin32c.exe are present in the search path of a command box. Follow <a href="http://www.computerhope.com/issues/ch000549.htm">these</a> instructions if you are unsure and run the commands from a command box to verify it works.</p>
<h2><a class="anchor" id="build_tools"></a>
Tools used to develop doxygen</h2>
<p>Doxygen was developed and tested under Linux &amp; MacOSX using the following open-source tools: </p>
<ul>
<li>
GCC version 3.3.6 (Linux) and 4.0.1 (MacOSX) </li>
<li>
GNU flex version 2.5.33 (Linux) and 2.5.4 (MacOSX) </li>
<li>
GNU bison version 1.75 </li>
<li>
GNU make version 3.80 </li>
<li>
Perl version 5.8.1 </li>
<li>
VIM version 6.2 </li>
<li>
Firefox 1.5 </li>
<li>
Trolltech's tmake version 1.3 (included in the distribution) </li>
<li>
teTeX version 2.0.2 </li>
<li>
CVS 1.12.12 </li>
</ul>
 
Go to the <a href="starting.html">next</a> section or return to the
 <a href="index.html">index</a>.
 </div></div>
<hr class="footer"/><address class="footer"><small>Generated on Mon Jun 27 2011 for Doxygen manual by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
</body>
</html>