Skip to content

Building Doxygen

linuxonz edited this page Jan 18, 2024 · 48 revisions

Building Doxygen

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

  • RHEL (7.8, 7.9) have 1.8.5
  • RHEL (8.6, 8.8, 8.9) have 1.8.14
  • RHEL (9.0, 9.2, 9.3) have 1.9.1
  • SLES 12 SP5 has 1.8.6
  • SLES 15 SP5 have 1.8.14
  • Ubuntu 20.04 has 1.8.17
  • Ubuntu 22.04 has 1.9.1
  • Ubuntu 23.10 has 1.9.4

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

  • RHEL (7.8, 7.9, 8.6, 8.8, 8.9, 9.0, 9.2, 9.3)
  • SLES (12 SP5, 15 SP5)
  • Ubuntu (20.04, 22.04, 23.10)

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) Build using script

If you want to build doxygen using manual steps, go to STEP 1.2.

Use the following commands to build doxygen using the build script. Please make sure you have wget installed.

wget -q https://raw.githubusercontent.com/linux-on-ibm-z/scripts/master/Doxygen/1.10.0/build_doxygen.sh

# Build doxygen
bash build_doxygen.sh [Provide -t option for executing build with tests]

In case of error, check logs for more details or go to STEP 1.2 to follow manual build steps.

1.2) Install dependencies

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

    sudo subscription-manager repos --enable=rhel-7-server-for-system-z-devtools-rpms
    sudo yum install -y git flex bison make wget unzip tar qt5-qtbase-devel texlive devtoolset-7 openssl-devel
    
    # Enable GCC 7
    source /opt/rh/devtoolset-7/enable
  • RHEL (8.6, 8.8, 8.9, 9.0, 9.2, 9.3)

    sudo yum install -y git flex bison wget unzip gcc gcc-c++ python3 make qt5-devel texlive diffutils openssl-devel
  • SLES 12 SP5

    sudo zypper install -y git flex bison wget tar unzip gcc8 gcc8-c++ curl libnghttp2-devel libxml2-devel texlive-bibtex-bin make libqt5-qtbase-devel texlive openssl-devel

    Update the symlinks /usr/bin/g++ and /usr/bin/c++ so they are pointing to /usr/bin/g++-8. Update the symlink /usr/bin/cc so it is pointing to /usr/bin/gcc-8.

  • SLES 15 SP5

    sudo zypper install -y git flex bison wget tar unzip gcc gcc-c++ libxml2-devel glibc-locale texlive-bibtex-bin  make libqt5-qtbase-devel cmake openssl-devel
  • Ubuntu 20.04

    sudo apt-get update
    sudo apt-get install -y git flex bison wget unzip python qt5-default build-essential libxml2-utils cmake texlive-full texlive-latex-extra
  • Ubuntu (22.04, 23.10)

    sudo apt-get update
    sudo apt-get install -y git flex bison wget unzip python-is-python3 qtbase5-dev qtchooser qt5-qmake qtbase5-dev-tools build-essential libxml2-utils cmake texlive-latex-extra texlive-full

1.3) Build additional dependencies

  • Install cmake (Only for RHEL & Sles 12.5)

    # Install cmake 3.x
    cd $SOURCE_ROOT
    wget https://cmake.org/files/v3.26/cmake-3.26.4.tar.gz
    tar xzf cmake-3.26.4.tar.gz
    cd cmake-3.26.4
    ./configure --prefix=/usr/local
    make && sudo make install
    export PATH=$PATH:/usr/local/bin
  • Install Python 3.7.x (Only for Sles 12.5)

    cd $SOURCE_ROOT
    wget -q https://raw.githubusercontent.com/linux-on-ibm-z/scripts/master/Python3/3.7.4/build_python3.sh
    bash build_python3.sh -y

1.4) Download source code

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

1.5) Create a build directory

cd $SOURCE_ROOT/doxygen
mkdir build

1.6) Build and install

cd $SOURCE_ROOT/doxygen/build
cmake -G "Unix Makefiles" -Dbuild_doc=ON -Dbuild_wizard=YES ..
make
  • Download manual and install
    wget https://sourceforge.net/projects/doxygen/files/doxygen_manual-1.10.0.pdf.zip
    unzip  doxygen_manual-1.10.0.pdf.zip
    mkdir -p latex
    mv doxygen_manual-1.10.0.pdf latex/doxygen_manual.pdf
    sudo make install

Step 2: Run the functional test suite (Optional)

cd $SOURCE_ROOT/doxygen/build
make tests

References:

Clone this wiki locally