Graphviz Mac OS X Builds - FAQ

Here are some questions I often get asked about my Graphviz builds.

Where does Graphviz get installed?

Stable versions of Graphviz (even-numbered versions) get installed under /usr/local in a directory named for the version of Graphviz that's being installed. For example, Graphviz 2.12 gets installed into /usr/local/graphviz-2.12, so you can run dot by running /usr/local/graphviz-2.12/bin/dot.

If you don't like the version number in the path, you can make a symlink. If you don't like having to type the path at all, you can update your PATH environment variable.

Development versions (odd-numbered versions) since 2.13.20070307 get installed in /usr/local/graphviz-devel.

Why isn't there a Graphviz.app in my Applications folder?

Is there a Graphviz GUI?

My Graphviz packages do not include a GUI, so there's nothing to install in the Applications folder. (See above for where things do get installed.)

If you want a GUI for Graphviz, there is one that's provided by Pixelglow. It uses its own built-in version of Graphviz, which is several years out-of-date. However, you can patch it so that it makes use of a newer Graphviz from one of my packages. To do this, download and install one of my Graphviz packages, then download Graphviz from Pixelglow. Drag Pixelglow's Graphviz.app to /Applications, and then open the Terminal and run this (using graphviz-devel instead of graphviz-2.12 depending on which of my packages you installed):

cd /usr/local/graphviz-2.12/bin
./fix-graphviz-app "/Applications/Graphviz.app"

This will permanently modify your copy of Graphviz.app to use my updated version of Graphviz. You can freely move or rename your Graphviz.app, but note that it will not function if you later uninstall my Graphviz package, or if you copy this Graphviz.app to a machine on which my Graphviz package is not installed.

If you encounter any problems with a Graphviz.app patched in this way, you should probably contact me, and not Glen at Pixelglow; we shouldn't bother him about patched versions of his software that he's never seen before.

How can I avoid having to use the version number in the path?

You may want to create a symlink at /usr/local/graphviz pointing at the most recent stable version of Graphviz you installed, so that you can run dot more simply as /usr/local/graphviz/bin/dot. To create this symlink, do this (substituting whatever version of Graphviz you're actually installing where I put 2.12):

cd /usr/local
sudo ln -s graphviz-2.12 graphviz

You must be an administrator of your computer to do this, and you will be prompted for your password.

How can I run dot by just typing dot?

That's easy to arrange by modifying your PATH environment variable. Instructions on how to do that vary depending on what shell you use. Open the Terminal and type echo $SHELL and follow the correct set of instructions depending on the result. For stable Graphviz versions, you'll need to have made a symlink as described earlier. For development versions, substitute /usr/local/graphviz-devel for /usr/local/graphviz below.

If your shell is /bin/bash

If the file .bash_profile exists in your home directory, edit that file. If there is no .bash_profile but there is a .profile, edit that instead. If neither exist, create .bash_profile and edit it. Add this line to the end of the file:

export PATH=/usr/local/graphviz/bin:$PATH

Close the terminal window and make a new one, and dot should now be in your path.

If your shell is /bin/tcsh

If you have a file .tcshrc in your home directory, edit that. If instead you have a .cshrc, edit that. If neither exists, create .tcshrc and edit it. Now add this line to the end of the file:

setenv PATH /usr/local/graphviz/bin:$PATH

After you close the terminal window and make a new one, dot should be in your path.

Why do I get an error about xrender?

When you try to run dot or one of the other Graphviz programs for the first time, you might get an error like this:

Warning: dlopen(/usr/local/graphviz-devel/lib/graphviz/libgvplugin_pango.3.dylib, 9): Library not loaded: /usr/X11R6/lib/libXrender.1.dylib
  Referenced from: /usr/local/graphviz-devel/lib/graphviz/libgvplugin_pango.3.dylib
  Reason: image not found
Trace/BPT trap

If so, it just means you haven't installed X11 yet. Go to your Mac OS X installation media and install X11User.pkg.

Why do I get an error about fontconfig?

When running a Graphviz program like dot or neato from a script running inside your web server, you may get this message:

No fonts found; this probably means that the fontconfig library is not correctly configured. You may need to edit the fonts.conf configuration file. More information about fontconfig can be found in the fontconfig(3) manual page and on http://fontconfig.org

I can confirm that this problem occurs in Graphviz 2.12, but it doesn't happen for me anymore in Graphviz 2.13.20070301.0540. I don't know exactly when it got fixed, but if you still see the problem in 2.13.20070301.0540 or later, please let me know.

How do I uninstall Graphviz?

Depending on where Graphviz got installed (see above) you can uninstall it simply by removing that directory. For example:

sudo rm -rf /usr/local/graphviz-2.12

You'll need to be an administrator of your computer to do this, and it will ask you for your password.

If you made a symlink as described above, you can delete that too:

sudo rm -f /usr/local/graphviz

Like all installed packages, Graphviz leaves an installation receipt in /Library/Receipts, with a name like Graphviz 2.12 PowerPC.pkg. You can remove that too if you like, by navigating to /Library/Receipts in the Finder and dragging the receipt to the Trash.

Will you make universal binaries?

I am attempting to make a universal binary distribution which would run on either Intel or PowerPC processors, but I have run into a few problems that I have thus far been unable to resolve. I am seeking assistance from the Graphviz developers. If you have an Intel Mac and would like to help me by testing my universal builds, let me know.