graphviz - Graph visualization software ChangeLog


# Graphviz 9.0.0
# ===============
# To clean up files from an old version before installing this one, or
# to uninstall Graphviz, skip down to the bottom for instructions.
# The easiest way would be to run 'make uninstall' from the (configure'd)
# source directory as root.

# Prerequisites:
# flex
# bison
# pkg-config
# TCL, TK (optional)
# XFree86 or (optional)
# swig (optional)
# And if you have SWIG (all optional):
#   mono's mcs (optional)
#   guile (optional)
#   java (optional)
#   lua (optional)
#   ocaml (optional)
#   Perl (optional)
#   PHP + zend (optional; for PHP packages)
#   Python (optional)
#   R (no idea what this is)
#   Ruby (optional)
# expat (optional)
# DevIL (optional)
# zlib
# librsvg (optional)
# Ghostscript (optional)
# pango's libpangocairo >= 1.14.9 (optional)
# libLASi (optional)
# Freetype (optional)
# Fontconfig (optional)
# GTK+ >= 2.7.0 (optional)
# GTS (optional)
# libglade (optional)
# GD >= 2.0.34 (optional; preferably built with Freetype support)
# libpng (optional; if you don't have GD)

# Graphviz Download / Source Code

# Get the source tarball
test -f installed/graphviz-9.0.0.tar.xz &&
mv installed/graphviz-9.0.0.tar.xz .
test ! -f graphviz-9.0.0.tar.xz &&

# Verify tarball w/ sha256sum:
echo "6c9afda06a732af7658c2619ee713d2545818c3ff19b7b8fd48effcd06d57b\
f6  graphviz-9.0.0.tar.xz" | sha256sum -c

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

# With an earlier version (I don't have ocaml installed this time),
# I had to add this to get it to find my ocaml includes:
CPPFLAGS=-I/usr/local/lib/ocaml \

# With an earlier version (I don't have lua (or swig) installed this time),
# I had to add this to get it to find lua:
LIBS=-lm \

# With 2.38.0, I had to use this before configure to get it to see DevIL:
LIBS=-lcom_err \

# If you don't have X and/or libXrender installed, make sure you pass
# --with-rsvg=no or it will fail building that plugin

## If you get an error like this:
# In file included from gv_php_init.c:14:0:
# /usr/include/php/main/php.h:298:46: warning: function declaration isn't a
# prototype [-Wstrict-prototypes]
# gv_php_init.c: In function 'gv_string_writer':
# gv_php_init.c:28:12: error: 'tsrm_ls' undeclared (first use in this
# function)
## run 'make distclean' then re-run configure with --enable-php=no
## (or upgrade PHP and try again)
## --enable-php gives you PHP bindings for Graphviz

# Configure the build for 64-bit
test $(uname -m) = 'x86_64' &&
./configure --docdir=/usr/local/doc/graphviz --libdir=/usr/local/lib64 \
--mandir=/usr/local/man --with-rsvg=no --enable-php=no

# Configure the build for anything else
test $(uname -m) != 'x86_64' &&
./configure --docdir=/usr/local/doc/graphviz --mandir=/usr/local/man \
--with-rsvg=no --enable-php=no

# Build it

# Become root to install it

# Remove this if it exists, from an older version of this howto
rm -f /etc/profile.d/

# Install Graphviz
make install

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

# Become yourself again

# Save the source for later
mkdir -p -m 0700 installed
rm -f installed/graphviz-*.tar.*
mv graphviz-9.0.0.tar.xz installed/

# If you ever want to uninstall Graphviz, this should do it:
# (the 'make uninstall' should do it, the rest is just in case)
test -d src/graphviz-* && ( cd src/graphviz-* ; make uninstall )
( cd /usr/local/bin
  rm -f acyclic bcomps ccomps cluster diffimg dijkstra dot dotty \
   dot_builtins edgepaint gc gml2gv graphml2gv gv2gml gvcolor gvgen \
   gvmap gvpack gvpr gxl2gv lneato mm2gv nop prune sccmap tred \
   unflatten )
test -d /usr/local/include/graphviz && rm -r /usr/local/include/graphviz
for libdir in /usr/local/lib /usr/local/lib64;
  test -d $libdir &&
   ( cd $libdir
     test -d lib/graphviz && rm -r lib/graphviz
     test -d lib64/graphviz && rm -r lib64/graphviz
     test -d pkgconfig &&
      ( cd pkgconfig
        rm -f libcdt.pc libcgraph.pc libgvc.pc libgvpr.pc libpathplan.pc \
         libxdot.pc )
     rm -f libcdt.* libcgraph.* libgraph.* libgvc.* libpathplan.* libxdot.* )
test -d /usr/local/share/graphviz && rm -r /usr/local/share/graphviz
for mandir in /usr/local/man /usr/local/share/man;
  ( cd ${mandir}/man1
    rm -f acyclic.1 bcomps.1 ccomps.1 cluster.1 diffimg.1 dijkstra.1 dot.1 \
     dotty.1 edgepaint.1 gc.1 gml2gv.1 graphml2gv.1 gvcolor.1 gvgen.1 \
     gvmap.1 gvpack.1 gvpr.1 gxl2gv.1 latten.1 lneato.1 mm2gv.1 \
     nop.1 osage.1 patchwork.1 prune.1 sccmap.1 tred.1 unflatten.1 vimdot.1 )
  ( cd ${mandir}/man3
    rm -f cdt.3 cgraph.3 expr.3 gv.3guile gv.3perl gv.3python gv.3ruby \
     gvc.3 gvpr.3 pack.3 pathplan.3 xdot.3 )
  test ${mandir}/man7/graphviz.7 && rm ${mandir}/man7/graphviz.7
find ~/src -maxdepth 1 -type d -name "graphviz-*" -exec rm -r {} \;
rm -f ~/installed/graphviz-*.tar.*

List of HOWTOs

Web page itself last updated: 2023-12-20 8:06pm (EDT -0400)
HOWTO last updated: 2024-01-02 1:00am
Copyright © 2001-2024 Jason Englander. All Rights reserved.