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.