Source Code
Source Packages
For most cases where you want or need to build from source, you should download one of the source packages linked below. They contain all of required generated files. The typical installation process is:
./configure
make
make install
The configure
script has many options for further tailoring the build
process to your machine. Run
./configure --help
to see these.
Graphviz
Stable Releases
- graphviz-12.2.1
- graphviz-12.2.0
- graphviz-12.1.2
- graphviz-12.1.1
- graphviz-12.1.0
- graphviz-12.0.0
- graphviz-11.0.0
- graphviz-10.0.1
- graphviz-9.0.0
- graphviz-8.1.0
- graphviz-8.0.5
- graphviz-8.0.3
- graphviz-8.0.2
- graphviz-8.0.1
- graphviz-7.1.0
- graphviz-7.0.6
- graphviz-7.0.5
- graphviz-7.0.4
- graphviz-7.0.3
- graphviz-7.0.2
- graphviz-7.0.1
- graphviz-7.0.0
- graphviz-6.0.2
- graphviz-6.0.1
- graphviz-5.0.1
- graphviz-5.0.0
- graphviz-4.0.0
- graphviz-3.0.0
- graphviz-2.50.0
- graphviz-2.49.3
- graphviz-2.49.2
- graphviz-2.49.1
- graphviz-2.49.0
- graphviz-2.48.0
- graphviz-2.47.3
- graphviz-2.47.2
- graphviz-2.47.1
- graphviz-2.47.0
- graphviz-2.46.1
- graphviz-2.46.0
Development Snapshots
Webdot
Stable Releases
Development Snapshots
Git Repos
If you wish to build from the tip-of-tree source repositories for Graphviz and Webdot, these can be found at:
You can either download the zip file or clone the repository. Instructions for the latter can be found here.
If you are taking this approach, then you must have recent versions of "libtool", "libltdl-dev", "automake", "autoconf", and "pkg-config"/"pkgconf". The build process is basically the same as above with the addition of one more step:
./autogen.sh
./configure
make
make install
Requirements
Dependencies
Consider these versions as the minimum suitable for Graphviz, but please always use the latest available version of these packages. If there is any problem with building Graphviz against a latest version, please generate a bug report as we would very much like to know about it.
HINT: If you are using a system that is covered by Graphviz’ continuous integration testing by far the easiest way to determine all the build dependencies is to browse the ci/ directory of the Graphviz Git repository.
- cairo-1.10.0.tar.gz [optional (required for libpangocairo), recommended]
- http://cairographics.org/
- expat-2.0.0.tar.gz [optional (required for HTML-like labels), recommended]
- http://expat.sourceforge.net/
- freetype-2.1.10.tar.gz [optional (required for libpangocairo and for gd), recommended]
- http://www.freetype.org/
- gd-2.0.34.tar.gz [optional, deprecated but needed for GIF output]
- http://www.boutell.com/gd/
- fontconfig-2.3.95.tar.gz [optional (required for libpangocairo and for gd), recommended]
- http://www.fontconfig.org/wiki/
- urw-fonts.tar.gz [optional, required if fontconfig is unable to find any fonts]
- ftp://ftp.gimp.org/pub/gimp/fonts
- glib-2.36.0.tar.xz [optional (required for libpangocairo), recommended]
- https://wiki.gnome.org/Projects/GLib
- libpng-1.2.10.tar.gz [optional (required for cairo, optional for gd), recommended]
- http://www.libpng.org/pub/png/
- pango-1.22.0.tar.gz provides libpangocairo [optional, recommended]
- http://www.pango.org/
- zlib-1.2.3.tar.gz [optional (required for libpng), recommended]
- http://www.zlib.net/
- GTS [optional (required for sfdp, prism, smyrna), recommended]
- http://gts.sourceforge.net/
- GTK+ [optional (required for smyrna)]
- http://www.gtk.org/
- GtkGLExt [optional (required for smyrna)]
- http://projects.gnome.org/gtkglext/
- Glade [optional (required for smyrna)]
- http://glade.gnome.org/
- Glut [optional (required for smyrna)]
- http://www.opengl.org/resources/libraries/glut/
Tools
- autoconf-2.61.tar.gz [if building from git]
- http://ftp.gnu.org/gnu/autoconf/
- automake-1.9.6.tar.gz [if building from git]
- http://ftp.gnu.org/gnu/automake/
- bison-3.0.tar.gz [if building from git]
- http://ftp.gnu.org/gnu/bison/
- flex-2.5.4a.tar.gz [if building from git]
- http://ftp.gnu.org/non-gnu/flex/
- gcc-4.8.1.tar.bz2
- http://ftp.gnu.org/gnu/gcc/
- gcc-g++-4.8.1.tar.bz2
- http://ftp.gnu.org/gnu/gcc/
- ghostscript-8.54-gpl.tar.gz
- http://pages.cs.wisc.edu/~ghost/
- libtool-1.5.22.tar.gz [if building from git]
- http://ftp.gnu.org/gnu/libtool/
- pkg-config-0.20.tar.gz
- http://www.freedesktop.org/wiki/Software/pkg-config/
- swig-1.3.29.tar.gz
- http://www.swig.org/