/****************************************************************************** * * * * Copyright (C) 1997-2003 by Dimitri van Heesch. * * Permission to use, copy, modify, and distribute this software and its * documentation under the terms of the GNU General Public License is hereby * granted. No representations are made about the suitability of this software * for any purpose. It is provided "as is" without express or implied warranty. * See the GNU General Public License for more details. * * Documents produced by Doxygen are derivative works derived from the * input used in their production; they are not affected by this license. * */ /*! \page install Installation \addindex installation First go to the download page \latexonly({\tt http://www.doxygen.org/download.html})\endlatexonly to get the latest distribution, if you did not have it already. This section is divided into the following sections:
PLATFORMS
file for a list of possible platform
options.
If you have Qt-2.1.x installed and want to build the GUI front-end, you
should run the configure script with the --with-doxywizard
option:
\verbatim
configure --with-doxywizard
\endverbatim
For an overview of other configuration options use
\verbatim
configure --help
\endverbatim
doxygen
and doxytag
)
should be available in the bin directory of the distribution.
sed
for this,
but this should be available on any Unix platform.
The HTML directory of the distribution will now contain the html
documentation (just point a HTML browser to the file
index.html
in the
html directory).
pdflatex
, makeindex
, and
egrep
for this).
\verbatim
make pdf
\endverbatim
The PDF manual doxygen_manual.pdf
will be located
in the latex directory of the distribution. Just
view and print it via the acrobat reader.
make install
to install doxygen. If you downloaded the binary distribution for Unix,
type:
\verbatim
./configure
make install
\endverbatim
Binaries are installed into the directory \/bin
.
Use make install_docs
to install the
documentation and examples into \/doxygen
.
\
defaults to /usr
but can be changed with
the --prefix
option of the configure script.
The default \
directory is
\/share/doc/packages
and can be changed with
the --docdir
option of the configure script.
Alternatively, you can also copy the binaries from the bin
directory manually to some bin
directory in your search path.
This is sufficient to use doxygen.
\note You need the GNU install tool for this to work (it is part of
the fileutils package). Other install tools may put the binaries in
the wrong directory!
If you have a RPM or DEP package, then please follow the
standard installation procedure that is required for these packages.
\section unix_problems Known compilation problems for Unix
Qt problems
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).
The solution: go to the root of the doxygen distribution and do:
\verbatim
mkdir qt
cd qt
ln -s your-qt-include-dir-here include
ln -s your-qt-lib-dir-here lib
export QTDIR=$PWD
\endverbatim
If you have a csh-like shell you should use setenv QTDIR \$PWD
instead of the export
command above.
Now install doxygen as described above.
Bison problems
Versions 1.31 to 1.34 of bison contain a "bug" that results in a
compiler errors like this:
ce_parse.cpp:348: member `class CPPValue yyalloc::yyvs' with
constructor not allowed in union
This problem has been solved in version 1.35 (versions before 1.31
will also work).
Latex problems
The file a4wide.sty
is not available for all distributions. If
your distribution does not have it please select another paper type
in the config file (see the \ref cfg_paper_type "PAPER_TYPE" tag in the
config file).
HP-UX \& Digital Unix problems
If you are compiling for HP-UX with aCC and you get this error:
\verbatim
/opt/aCC/lbin/ld: Unsatisfied symbols:
alloca (code)
\endverbatim
then you should (according to Anke Selig) edit ce_parse.cpp
and replace
\verbatim
extern "C" {
void *alloca (unsigned int);
};
\endverbatim
with
\verbatim
#include ce_parse.cpp
and let
bison rebuild it (this worked for me).
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:
\verbatim
#else /* not GNU C. */
#if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) \
|| defined (__sparc) || defined (__sgi)
#include ./configure --platform solaris-cc
)
Qt-2.x.y is required for this compiler (Qt-1.44 has problems with the bool
type).
Compiling the \c doxygen binary went ok, but while linking doxytag
I got a
lot of link errors, like these:
\verbatim
QList--static
I got:
\verbatim
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)
\endverbatim
Manually adding -Bdynamic
after the target rule in
Makefile.doxygen
and Makefile.doxytag
will fix this:
\verbatim
$(TARGET): $(OBJECTS) $(OBJMOC)
$(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(OBJMOC) $(LIBS) -Bdynamic
\endverbatim
GCC compiler problems
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 --english-only
option.
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.
Gcc versions before 2.95 may produce broken binaries due to bugs in
these compilers.
Dot problems
Due to a change in the way image maps are generated, older versions
of doxygen (\<=1.2.17) will not work correctly with newer versions of
graphviz (\>=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.
Red Hat 9.0 problems
If you get the following error after running make
\verbatim
tmake error: qtools.pro:70: Syntax error
\endverbatim
then first type
\verbatim
export LANG=
\endverbatim
before running make.
\section install_src_windows Compiling from source on Windows
Currently, I have only compiled doxygen for Windows using Microsoft's
Visual C++ (version 6.0). For other compilers you may need to edit the
perl script in wintools/make.pl
a bit.
Let me know what you had to change if you got Doxygen working with another
compiler.
If you have Visual C++ 6.0, and the source distribution, you can easily
build doxygen using the project files in the \c wintools directory. If
you want to build the CVS sources, or want to build from the command line,
or with another compiler, you have to follow the steps below.
Thomas Baust reported that if you have Visual Studio.NET (2003) then
you should be aware that there is a problem with the _popen() and _pclose()
implementation, which currently leaks handles, so if you build doxygen with
it and use the INPUT_FILTER, you will run to risk of crashing Windows!
The problem is reported to and confirmed by Microsoft so maybe it will
fixed in the next service pack.
Since Windows comes without all the nice tools that Unix users are
used to, you'll need to install a number of these tools before you can compile
doxygen for Windows from the command-line.
Here is what is required:
tar
utility
supplied with cygwin
tools. Anyway, the cygwin's flex, bison, and sed are also
recommended below.
vcvars32.bat
batch file to set the environment
variables (if you did not select to do this automatically during
installation).
Borland C++ or MINGW (see http://www.mingw.org/) are also supported.
BISONLIB
environment variable points to the
location where the files bison.simple
and
bison.hairy
are located. For instance if these files are in
c:\\tools\\cygwin\\share
then BISONLIB should
be set to //c/tools/cygwin/share/
Also make sure the tools are available from a dos box, by adding
the directory they are in to the search path.
For those of you who are very new to cygwin (if you are going to
install it from scratch), you should notice that there is an
archive file bootstrap.zip
which also contains the
tar
utility (tar.exe
), gzip
utilities, and the cygwin1.dll
core. This also means
that you have the tar
in hands from the start. It
can be used to unpack the tar source distribution instead of
using WinZip -- as mentioned at the beginning of this list of
steps.
latex
, dvips
and gswin32
.
To get these working under Windows
install the fpTeX distribution. You can find more info at:
http://www.fptex.org/ and download it from CTAN or one of its mirrors.
In the Netherlands for example this would be:
ftp://ftp.easynet.nl/mirror/CTAN/systems/win32/fptex/
Make sure the tools are available from a dos box, by adding the
directory they are in to the search path.
For your information, the LaTeX is freely available set of so
called macros and styles on the top of the famous TeX program
(by famous Donald Knuth) and the accompanied utilities (all
available for free). It is used for high quality
typesetting. The result -- in the form of so called
DVI
(DeVice Independent) file -- can be printed or
displayed on various devices preserving exactly the same look up
to the capability of the device. The dvips
allows you
to convert the dvi
to the high quality PostScript
(i.e. PostScript that can be processed by utilities like
psnup
, psbook
, psselect
,
and others). The derived version of TeX (the pdfTeX) can be used
to produce PDF output instead of DVI, or the PDF can be produced
from PostScript using the utility ps2pdf
.
If you want to use MikTeX then you need to select at least the
medium size installation. For really old versions of MikTex or minimal
installations, you may need to download the fancyhdr package separately.
You can find it at:
ftp://ftp.tex.ac.uk/tex-archive/macros/latex/contrib/supported/fancyhdr/
objects
and bin
manually in the root of the
distribution before compiling.
nmake
, latex
,
gswin32
, dvips
, sed
,
flex
, bison
, cl
,
rm
, and perl
), are accessible from
the command-line (add them to the PATH environment variable if
needed).
Notice: The use of LaTeX is optional and only needed for compilation
of the documentation into PostScript or PDF.
It is \e not needed for compiling the doxygen's binaries.
doxygen.exe
and doxytag.exe
using Microsoft's Visual C++ compiler
(The compiler should not produce any serious warnings or errors).
You can use also the bcc
argument to build
executables using the Borland C++ compiler, or
mingw
argument to compile using GNU gcc.
examples
subdirectory
and type:
\verbatim
nmake
\endverbatim
doc
subdirectory and type:
\verbatim
nmake
\endverbatim
The generated HTML docs are located in the ..\\html
subdirectory.
The sources for LaTeX documentation are located in the ..\\latex
subdirectory. From those sources, the DVI, PostScript, and PDF
documentation can be generated.
bin
directory
to a location somewhere in the path. Alternatively, you can include
the bin
directory of the distribution to the path.
\section build_tools Tools used to develop doxygen
Doxygen was developed and tested under Linux using the following
open-source tools: