Skip to content

Building Doxygen

aborkar-ibm edited this page Sep 2, 2020 · 54 revisions

Building Doxygen

Below versions of Doxygen are available in respective distributions at the time of creation of these build instructions:

  • RHEL (7.6, 7.7, 7.8) has 1.8.5
  • RHEL (8.1,8.2) has 1.8.14
  • SLES 12 SP5 has 1.8.6
  • SLES (15 SP1, 15 SP2) has 1.8.14
  • Ubuntu 18.04 has 1.8.13
  • Ubuntu 20.04 has 1.8.17

The instructions provided below specify the steps to build Doxygen version 1.8.20 on Linux on IBM Z for

  • RHEL (7.6, 7.7, 7.8, 8.1, 8.2)
  • SLES (12 SP5, 15 SP1, 15 SP2)
  • Ubuntu (18.04, 20.04)

General Notes:

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

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

Step 1: Build and Install Doxygen

1.1) Install dependencies

export SOURCE_ROOT=/<source_root>/
  • RHEL (7.6, 7.7, 7.8)

    sudo subscription-manager repos --enable=rhel-7-server-for-system-z-devtools-rpms
    sudo yum install -y git flex bison texlive-bibtex-bin make perl-Test-Simple.noarch openssl wget tar cpan qt-devel ghostscript texlive unzip texlive-epstopdf.noarch texlive.s390x devtoolset-7
    
    # Enable GCC 7 - The changes are not persistent and this command will need to be re-run every time a new terminal session is started.
    sudo scl enable devtoolset-7 bash
    
    # Install cmake 3.x
    cd $SOURCE_ROOT
    wget https://cmake.org/files/v3.7/cmake-3.7.2.tar.gz
    tar xzf cmake-3.7.2.tar.gz
    cd cmake-3.7.2
    ./configure --prefix=/usr/local
    make && sudo make install
    export PATH=$PATH:/usr/local/bin
  • RHEL (8.1,8.2)

    sudo yum install -y git flex bison gcc gcc-c++ texlive-bibtex-bin make perl-Test-Simple.noarch openssl wget tar cpan python3-qt5-devel.s390x doxygen-latex.s390x ghostscript texlive unzip texlive-epstopdf.noarch texlive.s390x python3-argh.noarch cmake unzip diffutils
  • SLES 12 SP5

    sudo zypper install -y git flex bison gcc8 gcc8-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* cmake

    Update the symlinks /usr/bin/g++ and /usr/bin/c++ so they are pointing to /usr/bin/g++-8.

  • SLES 15 SP1

    sudo zypper install -y git gcc-locale  gcc7-locale glibc-locale libstdc++6-locale flex bison gcc gcc-c++ python-xml libxml2-tools libxml2-devel texlive-bibtex-bin make perl-Test-Simple.noarch  openssl wget tar libqt5-qttools-devel ghostscript texlive unzip graphviz perl perl-YAML zip texlive* cmake python3
  • SLES 15 SP2

    sudo zypper install -y git gcc-locale  gcc7-locale glibc-locale libstdc++6-locale flex bison gcc gcc-c++ python3-xml libxml2-tools libxml2-devel texlive-bibtex-bin make perl-Test-Simple.noarch  openssl wget tar libqt5-qttools-devel ghostscript texlive unzip graphviz perl perl-YAML zip texlive* cmake python3
  • Ubuntu 18.04

    sudo apt-get update
    sudo apt-get install -y git cmake python flex bison qt5-default build-essential texlive libc6 libclang1-3.* libgcc1 libstdc++6 doxygen-doc doxygen-gui doxygen-latex graphviz libxml2-utils
  • Ubuntu 20.04

    sudo apt-get update
    sudo apt-get install -y git cmake python flex bison qt5-default build-essential texlive libc6 libclang1 libgcc1 libstdc++6 doxygen-doc doxygen-gui doxygen-latex graphviz libxml2-utils

1.2) Use CPAN to install Perl modules (Only for RHEL and SLES)

cd $SOURCE_ROOT
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.
  • 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).

1.3) Install dependencies(latex) for make docs command: (Only for RHEL and SLES)

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
tex 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.pdf
wget http://mirrors.ctan.org/macros/latex/contrib/tabu/tabu.sty
  • Perform the following steps for SLES 12 SP5
wget http://mirrors.ctan.org/support/epstopdf/epstopdf.pl  
sudo mv epstopdf.pl /usr/local/bin/epstopdf  
chmod a+x /usr/local/bin/epstopdf
export PATH=/usr/local/bin:$PATH
  • The files are made available to latex by placing at specific location
sudo mkdir -p /usr/share/texmf/tex/latex/ (Only for RHEL)
sudo cp *.sty /usr/share/texmf/tex/latex/  
sudo mktexlsr

1.4) Download source code

cd $SOURCE_ROOT
git clone git://github.com/doxygen/doxygen.git
cd doxygen
git checkout Release_1_8_20

1.5) Create a build directory

cd $SOURCE_ROOT/doxygen
mkdir build
cd build

1.6) Build and install

cd $SOURCE_ROOT/doxygen/build
cmake -G "Unix Makefiles" -Dbuild_doc=ON -Dbuild_wizard=YES ..
make
  • For Ubuntu only

    make docs  
    sudo make install
  • For RHEL and and SLES only

    wget  http://doxygen.nl/files/doxygen_manual-1.8.20.pdf.zip
    unzip  doxygen_manual-1.8.20.pdf.zip
    mkdir -p latex
    mv doxygen_manual-1.8.20.pdf latex/doxygen_manual.pdf
    sudo make install

Step 2: Run the functional test suite (Optional)

cd $SOURCE_ROOT/doxygen/build
make tests

Note:

  • For SLES (15 SP1, 15 SP2) set LANG="en_US.utf-8".

References:

https://github.com/doxygen/doxygen

Clone this wiki locally