Skip to content

Building Doxygen

Gary Liu edited this page Nov 9, 2016 · 54 revisions

Building Doxygen

Below versions of Doxygen are available in respective distributions at the time of this recipe creation:

  • RHEL 7.1 & 7.2 have 1.8.5
  • RHEL 6.8 has 1.6.1
  • SLES 12 and SLES 12-SP1 have 1.8.6-1.20
  • SLES 11-SP3 has 1.5.6-1.19
  • Ubuntu 16.04 has 1.8.11-1

The instructions provided below specify the steps to build Doxygen 1.8.11 on Linux on the IBM z Systems for RHEL 6.8, RHEL 7.1/7.2 and SLES 11-SP3, SLES 12 and SLES 12-SP1:

General Notes:

1. When following the steps below please use a standard permission user unless otherwise specified.

2. A directory /<source_root>/ will be referred to in these instructions, this is a temporary writeable directory anywhere you'd like to place it.

Building Doxygen

  1. Install standard utilities, packages and platform specific dependencies:

    RHEL 7.1/7.2:

    sudo yum install -y git flex bison gcc gcc-c++ texlive-bibtex-bin make perl-Test-Simple.noarch openssl wget tar cpan qt-devel latex ghostscript texlive unzip texlive-epstopdf.noarch texlive.s390x python-argparse.noarch
    

    RHEL 6.8:

    sudo yum install -y git flex bison gcc gcc-c++ texlive-latex.s390x make python-argparse.noarch openssl wget tar qt-devel-4.6.2-28.el6_5.s390x
    

    SLES 12/12-SP1:

    sudo zypper install -y git flex bison gcc gcc-c++ python-xml libxml2-tools libxml2-devel texlive-bibtex-bin make perl-Test-Simple.noarch  openssl wget tar libqt4-devel ghostscript texlive unzip graphviz perl perl-YAML zip texlive*
    

    SLES 11-SP3:

    sudo zypper install -y git flex bison gcc gcc-c++ make openssl wget tar libqt4-devel libxml2-devel texlive ghostscript-devel texlive-bin-tools unzip graphviz python-xml libxml2-devel perl perl-YAML zip texlive*
    
  2. Use CPAN to install Perl modules (Only for RHEL 7.1/7.2, SLES 11-SP3, SLES 12/12-SP1):

     sudo cpan Test::More
     sudo cpan File::Path
    

    Note: If CPAN has not previously been setup it asks setup/configuration questions before the requested Perl module is installed. The answers can be site specific, but as a guideline, it is generally OK to accept the defaults or suggestions offered.
    Note: If Perl fails to build, it may be because 'echo port 7 ' is commented out in the services file. Please check in the /etc/services file, that the following lines exist and are active (e.g. Not preceded by a # symbol to comment them out).

  3. Install dependencies(latex) for make docs command:

    wget http://mirrors.ctan.org/macros/latex/contrib/multirow/multirow.dtx
    wget http://mirrors.ctan.org/macros/latex/contrib/multirow/multirow.ins
    wget http://mirrors.ctan.org/macros/latex/contrib/multirow/multirow.pdf
    latex multirow.ins
    
    wget  http://mirrors.ctan.org/macros/latex/contrib/import/import.sty 
    wget http://mirrors.ctan.org/macros/latex/contrib/xtab/xtab.dtx
    wget http://mirrors.ctan.org/macros/latex/contrib/xtab/xtab.ins 
    wget http://mirrors.ctan.org/macros/latex/contrib/xtab/xtab.pdf 
    latex xtab.ins 
    
    wget http://mirrors.ctan.org/macros/latex/contrib/sectsty/sectsty.dtx
    wget http://mirrors.ctan.org/macros/latex/contrib/sectsty/sectsty.ins 
    wget http://mirrors.ctan.org/macros/latex/contrib/sectsty/sectsty.pdf 
    latex sectsty.ins 
    
    wget http://mirrors.ctan.org/macros/latex/contrib/tocloft/tocloft.dtx 
    wget http://mirrors.ctan.org/macros/latex/contrib/tocloft/tocloft.ins 
    wget http://mirrors.ctan.org/macros/latex/contrib/tocloft/tocloft.pdf 
    latex tocloft.ins 
    
    
    wget http://mirrors.ctan.org/macros/latex/contrib/appendix/appendix.dtx
    wget http://mirrors.ctan.org/macros/latex/contrib/appendix/appendix.ins 
    wget http://mirrors.ctan.org/macros/latex/contrib/appendix/appendix.pdf 
    latex appendix.ins 
    
    wget http://mirrors.ctan.org/macros/latex/contrib/tabu/tabu.dtx 
    wget http://mirrors.ctan.org/macros/latex/contrib/tabu/tabu.ins 
    wget http://mirrors.ctan.org/macros/latex/contrib/tabu/tabu.pdf 
    latex tabu.ins
    

    Note: If the appendix.dtx fails to download please use the following steps to install appendix.sty

    wget http://mirrors.ctan.org/macros/latex/contrib/appendix.zip  
    unzip appendix.zip  
    cd appendix 
    latex appendix.ins
    mv appendix.sty ../
    cd ..
    
  • Perform the following steps for SLES 12/12-SP1:

     wget http://mirrors.ctan.org/support/epstopdf/epstopdf.pl  
     sudo mv epstopdf.pl /usr/local/bin/epstopdf  
     chmod a+x /usr/local/bin/epstopdf
    
  • The files are made available to latex by placing at specific location:

    sudo mkdir -p /usr/share/texmf/tex/latex/ (Only for RHEL 7.1/7.2)
    sudo cp *.sty /usr/share/texmf/tex/latex/  
    sudo mktexlsr
    
  1. Create a working directory with write permission to use as a Doxygen installation workspace
    (Referred to as /<source_root>/ from this point on):

     mkdir /<source_root>/
     cd /<source_root>/
    
  2. Check-out Doxygen from github, it will be placed in a sub-directory doxygen:

    git clone https://github.com/doxygen/doxygen.git
    cd doxygen
    git checkout Release_1_8_11
    
  3. Create a build directory where the output should be stored:

     cd /<source_root>/doxygen
     mkdir build
     cd build
    
  4. Build CMAKE_2.8.12.1:

     wget http://www.cmake.org/files/v2.8/cmake-2.8.12.1.tar.gz --no-check-certificate
     gzip -d cmake-2.8.12.1.tar.gz
     tar xvf cmake-2.8.12.1.tar
     cd cmake-2.8.12.1
     ./configure --prefix=/cmake-2.8.12.1/cmake
     make
     sudo make install
    
  5. Build Doxygen using cmake:

     cd /<source_root>/doxygen/build
     cmake-2.8.12.1/bin/cmake -G "Unix Makefiles" -Dbuild_doc=ON -Dbuild_wizard=YES .. 
     make  
     make docs  
     sudo make install 
    
  6. Run the functional test suite (Optional):

     make tests
    

References:

https://github.com/doxygen/doxygen

Clone this wiki locally