doxygen - Documentation system ChangeLog

HOWTO


# Doxygen
# =======
# I'll leave .org set as the home page URL, but FYI - the www.doxygen.org
# URL currently redirects here:
# https://www.doxygen.nl/

# Slackware 14.0: doxygen 1.8.1.1
# Slackware 14.1: doxygen 1.8.5
# Slackware 14.2: doxygen 1.8.9.1
# Slackware 15.0: doxygen 1.9.3

# Below I cover installing Doxygen from source 1.9.8, source 1.9.1, and from
# a binary distribution of 1.9.8

## If you try to build 1.9.7 or 1.9.8 and get an error like this:
# doxygen-1.9.?/src/util.h:28:19: fatal error: variant: No such file or directory
# compilation terminated.
## ...you may have an old version of gcc.  As this is written, Slackware
## 15.0 is the latest, and the patches version of gcc included in 14.2
## is too old to include 'variant'.  Building gcc from source is no
## small undertaking, so you may then want to try installing/upgrading
## doxygen with a binary distribution.  Skip down to that section below.

# Prerequisites:
# flex (< 2.4.31, see below)
# bison
# glibc's iconv or libiconv
# Perl
# Qt >= 5.14 (optional)
# A LaTeX such as TeX Live or the no longer maintained TeTeX (for LaTeX, PS, and PDF output)
# GraphViz >= 2.38
# - with support for FreeType
# Ghostscript
# Python >= 2.7 (for 'make docs')
# CMake >= 3.14

# I've had trouble building older versions with certain versions of flex,
# ones newer than the version that comes with Slackware.  With Doxygen
# 1.5.1 and Slackware's flex 2.5.4a package it was fine, and after that
# it was fine with Doxygen 1.5.5 and flex 2.5.34


# Doxygen 1.9.8 - source (released 2023-08-25)
# =============
# doxygen.nl downloads
# doxygen-announce: Doxygen version 1.9.8 released
# GitHub: Release page 1.9.8
# SourceForge: Doxygen Files 1.9.8
# doxygen.nl: Changelog 1.9.8

# Get the source tarball
cd
test -f installed/doxygen-1.9.8.src.tar.gz &&
mv installed/doxygen-1.9.8.src.tar.gz .
test ! -f doxygen-1.9.8.src.tar.gz &&
wget https://www.doxygen.nl/files/doxygen-1.9.8.src.tar.gz

# Verify tarball w/ md5sum:
echo "5e608271e39108728b2e408a14f2991a  doxygen-1.9.8.src.tar.gz" | \
md5sum -c

# Extract the source
mkdir -p -m 0700 ~/src
cd ~/src
find -maxdepth 1 -type d -name "doxygen-*" -exec rm -r {} \;
tar xzvf ~/doxygen-1.9.8.src.tar.gz
cd doxygen-1.9.8
test $UID = 0 && chown -R root:root .

# Read installation instructions here:
# https://www.doxygen.nl/manual/install.html

# Create a directory for build files
mkdir -p build
cd build

# If you have compiled it before, clean up
test -f Makefile && make clean
test -f CMakeCache.txt && rm CMakeCache.txt

# List configuration options
cmake -L ..

# If you want Doxygen-generated documentation in English only:
# -Denglish_only=ON

# If you want Doxygen documentation, add -Dbuild_doc=YES

# If you have libiconv installed under the /usr/local prefix, want
# to use that instead of glibc's iconv, use
# -DICONV_IN_GLIBC=false

# Configure the build with CMake
cmake -G "Unix Makefiles" -DCMAKE_INSTALL_PREFIX=/usr ..

# Build it
make

# Test the build
make tests

# Build the documentation (if you used -Dbuild_doc=YES above)
make docs

# Become root to install Doxygen
su

# Remove the Slackware package, if there is one
test -x /sbin/removepkg && /sbin/removepkg doxygen

# If you have an old one in /usr/local/bin, remove it
rm /usr/local/bin/doxygen

# Install it
make install

# Become yourself again
exit

# Save the source for later
cd
mkdir -p -m 0700 installed
rm -f installed/doxygen-*.src.tar.*
mv doxygen-1.9.8.src.tar.gz installed/


# Doxygen 1.9.1 - source (released 2021-01-08)
# =============
# AFAIK, 1.9.6 is the latest version that will build with a gcc that does
# not have 'variant', which includes gcc 5.5.0 from patches Slackware 14.2
#
# 1.9.1 is the latest that I was able to build at all due to other issues,
# having tried 1.9.6, 1.9.5, 1.9.4, 1.9.3, 1.9.2 and failed
#
# Unless you specifically need 1.9.1 from source, I would recommend using
# the binary release of the latest version in the section below instead

# doxygen.nl downloads
# doxygen-announce: Doxygen version 1.9.1 released
# GitHub: Release page 1.9.1
# SourceForge: Doxygen Files 1.9.1
# doxygen.nl: Changelog 1.9.1

# Get the source tarball
cd
test -f installed/doxygen-1.9.1.src.tar.gz &&
mv installed/doxygen-1.9.1.src.tar.gz .
test ! -f doxygen-1.9.1.src.tar.gz &&
wget https://github.com/doxygen/doxygen/releases/download/Release_1_9_1/\
doxygen-1.9.1.src.tar.gz

# Verify tarball w/ sha256sum:
# (this came from mine, so only proves yours = mine)
echo "67aeae1be4e1565519898f46f1f7092f1973cce8a767e93101ee0111717091\
d1  doxygen-1.9.1.src.tar.gz" | sha256sum -c

# Extract the source
mkdir -p -m 0700 ~/src
cd ~/src
find -maxdepth 1 -type d -name "doxygen-*" -exec rm -r {} \;
tar xzvf ~/doxygen-1.9.1.src.tar.gz
cd doxygen-1.9.1
test $UID = 0 && chown -R root:root .

# Read installation instructions here:
# https://www.doxygen.nl/manual/install.html

# Create a directory for build files
mkdir -p build
cd build

# If you have compiled it before, clean up
test -f Makefile && make clean
test -f CMakeCache.txt && rm CMakeCache.txt

# List configuration options
cmake -L ..

# If you want Doxygen-generated documentation in English only:
# -Denglish_only=ON

# If you want Doxygen documentation, add -Dbuild_doc=YES

# If you have libiconv installed under the /usr/local prefix, want
# to use that instead of glibc's iconv, use
# -DICONV_IN_GLIBC=false

# Configure the build with CMake
cmake -G "Unix Makefiles" -DCMAKE_INSTALL_PREFIX=/usr ..

# Build it
make

# Test the build
make tests

# Build the documentation (if you used -Dbuild_doc=YES above)
# (last time I tried this it failed for me with Python 3.8)
make docs

# Become root to install Doxygen
su

# Remove the Slackware package, if there is one
test -x /sbin/removepkg && /sbin/removepkg doxygen

# If you have an old one in /usr/local/bin, remove it
rm /usr/local/bin/doxygen

# Install it (/usr/bin/doxygen)
make install

# If you did NOT do -Dbuild_doc=YES above and then 'make docs',
# manually install the existing man pages
install -m 644 ../doc/*.1 /usr/man/man1/

# Make sure your non-root user can remove the source later
chown -R $(logname) .
chmod -R u+w .

# Become yourself again
exit

# Save the source for later
cd
mkdir -p -m 0700 installed
rm -f installed/doxygen-*.src.tar.*
mv doxygen-1.9.1.src.tar.gz installed/


# doxygen 1.9.8 - binary distribution x86-64
# =============
# If you're going from a source-installed doxygen or Slackware package,
# skip down to the bottom to remove that first, then proceed here

## If you run through all of this and see errors like:
# doxygen: /lib64/libc.so.6: version `GLIBC_X.XX' not found (required by doxygen)
## ...then you need to downgrade Doxygen to an earlier version that works with
## your older glibc, or upgrade your distribution to one with a newer
## glibc...

cd
test -f installed/doxygen-1.9.8.linux.bin.tar.gz &&
mv -f installed/doxygen-1.9.8.linux.bin.tar.gz .
test ! -f doxygen-1.9.8.linux.bin.tar.gz &&
wget https://www.doxygen.nl/files/doxygen-1.9.8.linux.bin.tar.gz

# Verify tarball w/ md5sum:
echo "aec78d9c9e6668258d17de94520a63a7  doxygen-1.9.8.linux.bin.tar.gz" | \
md5sum -c

# Extract the binary distribution
mkdir -p -m 0700 ~/src
cd ~/src
find -maxdepth 1 -type d -name "doxygen-*" -exec rm -r {} \;
tar xzvf ~/doxygen-1.9.8.linux.bin.tar.gz
cd doxygen-1.9.8
test $UID = 0 && chown -R root:root .

# Read installation instructions here:
# https://www.doxygen.nl/manual/install.html#install_bin_unix

# Become root to install Doxygen
su

# Remove the Slackware package, if there is one
test -x /sbin/removepkg && /sbin/removepkg doxygen

# If you have an old one in /usr/local/bin, remove it
rm /usr/local/bin/doxygen

# You can just run 'make install' to use the default prefix of
# /usr/local, or match Slackware's paths like so:
install -m 755 bin/doxygen /usr/bin/
install -d /usr/doc/doxygen/examples /usr/doc/doxygen/html
install -m 644 doxygen_manual-1.9.8.pdf /usr/doc/doxygen/
install -m 644 examples/* /usr/doc/doxygen/examples/
install -m 644 html/* /usr/doc/doxygen/html/
install -m 644 man/man1/*.1.gz /usr/man/man1/

# Make sure your non-root user can remove the binary distribution later
chown -R $(logname) .
chmod -R u+w .

# Become yourself again
exit

# Save the tarball for later
cd
mkdir -p -m 0700 installed
rm -f installed/doxygen-*.linux.bin.tar.*
mv doxygen-1.9.8.linux.bin.tar.gz installed/


# If you ever want to uninstall Doxygen, this should do it:
# (see 'install_manifest.txt in the source build directory)
cd
su
for pfx in /usr/local /usr;
do
  rm -f ${pfx}/bin/doxygen
  test -d ${pfx}/doc/doxygen && rm -r ${pfx}/doc/doxygen
  find ${pfx}/doc -maxdepth 1 -type d -name "doxygen-*" -exec rm -r {} \;
  ( cd ${pfx}/man/man1
    rm -f doxygen.1* doxyindexer.1* doxysearch.1* doxywizard.1* )
done
exit
find ~/src -maxdepth 1 -type d -name "doxygen-*" -exec rm -r {} \;
rm -f ~/installed/doxygen-*.tar.*

List of HOWTOs

Web page itself last updated: 2023-12-20 8:06pm (EST -0500)
HOWTO last updated: 2023-12-15 4:15pm
Copyright © 2001-2024 Jason Englander. All Rights reserved.
[HTML5]