General Installation Notes
The code related to the swig-generated bindings can sometimes cause problems. If this happens, you will see errors for files being built in the tclpkg directory. These bindings are not part of the core layout and rendering tools, and are not necessary for many users. If you have problems and don't need these bindings, try rerunning configure with the --disable-swig option.
For ordinary Graphviz builds and installation, the following notes can be ignored. They are only reveleant if you decide to move the software after the initial installation.
The Graphviz software needs to find certain files at runtime, so one cannot just copy the binary and library files. Most importantly, it looks for a file configN. This file is used to determine which layout and rendering features are available. It is assumed to be in the same directory as the plugin libraries.
By default, the path to the directory containing the configN file and the plugins is built in at build time. On Windows and Linux systems, this path is determined dynamically using the file system location of the gvc library (also Mac OS/X since about graphviz-2.29.20110526). These can all be overridden by defining the environment variable GVBINDIR.
For convenience, the Windows binary package also provides some basic configuration files for the fontconfig library. These are stored in the etc directory. If the Graphviz software is moved, this directory should probably also be moved to be in the same directory as the Graphviz bin and lib directories.
Source code for the latest stable and development versions of Graphviz are available, along with instructions for anonymous access to the sources using Git. Also see build notes.
Notes on how to build Graphviz on Windows. N.B. Except in rare cases, such as a desire to modify the core Graphviz code, there is no need to build Graphviz on Windows from source. We strongly recommend that one should just install one of the available binary packages from here. If you insist, we will answer questions but basically you are on your own.
Executable Packages from AT&T
Stable and development rpms for Redhat Enterprise, or Centos systems
Stable and development rpms for Fedora systems
Stable and development debs for Ubuntu systems
Stable and development pkgs for Solaris systems
Stable and development Windows Install packages
Stable and development Mac OS Install packages
and third-party libraries.
Grappa is a separate Java graph library and user interface that works with Graphviz. It was written by John Mocenigo in our lab. It calls Graphviz programs for remote layout service. Grappa can run as a browser applet (if you can resolve the Java plugin nightmare on your own) and it provides convenient graph programming classes. Grappa is no longer active work, so we are not planning major improvements or difficult bug fixes - caveat emptor.
In our experience with Grappa applications, we encountered many problems in trying to get applets to run under the various incompatible versions of Java extant (didn't Sun hire any engineers who believe in backward compatibility?) and we found performance problems when working with graphs of many hundreds or thousands of objects. Our work on Yoix is a new attack to these engineering problems. Yoix itself is a web application language, and is not Graphviz-aware. So, the base system it is not a replacement for Grappa. Instead, we are working on a Graphviz extension module that loads in Yoix. We plan to release this extension to Yoix in late 2005 or 2006.
Third-Party (non-AT&T) Executable Packages
Please contact us if you can offer a platform we don't have, or you've improved on what's here.
We list these links as a courtesy, but disclaim responsibility for the contents of these software products.
Ubuntu Precise, Raring package.
Fedora. On a working Fedora system, use:
yum list 'graphviz*'
to see all available graphviz packages.
Mac OS X
MacPorts provides both stable and development versions of Graphviz and the Mac GUI Graphviz.app. These can be obtained via the ports "graphviz", "graphviz-devel", "graphviz-gui" and "graphviz-gui-devel".
Homebrew has a graphviz port (so just brew install graphviz, we hope).
Pixelglow Graphviz An enhanced GUI application for Mac OS X based on Graphviz 1.13 (out of date, not maintained) An updated version of this is now available using macports, as noted above.
Warning: it can take a long time (hours) to build graphviz from source with a full set of drivers, because of its package dependencies. Specifically, graphviz drivers use cairopango for internationalized text sizing and rendering, ghostscript for loading and rendering external Postscript shapes, a bunch of libraries for X11 support, and possibly gtkglext (which implies gtk2 and mesa) for the experimental smyrna viewer. This may even force building glib2 if not already present.
Cygwin Ports provides a port of Graphviz to Cygwin.
WinGraphviz Win32/COM object (dot/neato library for Visual Basic and ASP).
FreeType-compatible. We provide these as a courtesy, only for compatibility on legacy Unix systems that lack native fonts.
Source code for a reusable spline path router library and Tcl/Tk GUI (experts only).