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:
mkdir qt cd qt ln -s your-qt-include-dir-here include ln -s your-qt-lib-dir-here lib export QTDIR=$PWD
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 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:
/opt/aCC/lbin/ld: Unsatisfied symbols: alloca (code)
then you should (according to Anke Selig) edit ce_parse.cpp
and replace
extern "C" { void *alloca (unsigned int); };
with
#include <alloca.h>
If that does not help, try removing 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:
#else /* not GNU C. */ #if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) \ || defined (__sparc) || defined (__sgi) #include <alloca.h>
with
#else /* not GNU C. */ #if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) \ || defined (__sparc) || defined (__sgi) || defined (__osf__) #include <alloca.h>
Alternatively, one could fix the problem at the bison side. Here is patch for bison.simple (provided by Andre Johansen):
--- 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__) && defined (sparc)) || defined (__sparc__) \ || defined (__sparc) || defined (__sgi) +#if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) \ || defined (__sparc) || defined (__sgi) || defined (__alpha) #include <alloca.h> #else /* not sparc */ #if defined (MSDOS) && !defined (__TURBOC__)
The generated scanner.cpp that comes with doxygen is build with this patch applied.
Sun compiler problems
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.
when configuring with --static
I got:
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)
Manually adding -Bdynamic
after the target rule in Makefile.doxygen
and Makefile.doxytag
will fix this:
$(TARGET): $(OBJECTS) $(OBJMOC) $(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(OBJMOC) $(LIBS) -Bdynamic
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. For doxygen 1.4.7 or higher it is recommended to use GraphViz 2.8 or higher to avoid font issues.
Red Hat 9.0 problems
If you get the following error after running make
tmake error: qtools.pro:70: Syntax error
then first type
export LANG=
before running make.