I’m building and OS X app that needs a set of dynamic libraries in order to run (Graphviz Libraries). On the machine I’m developing on it works fine but when I tried running the app on another machine the app crashes (which does not surprise me) probably because it doesn’t find the libraries, they are installed but in a different location.
My question is what is the best way to make sure your program works?
Graphviz libraries should be installed into “
/usr/local“, but can be installed in other places.There are ways to include dylibs in application packages you build (this related question’s answer has more info), but it’s a bit of a hassle to set up the build steps / phases in Xcode to do the extra steps at build time (such as calling “
install_name_tool” to point to “@executable_path“).If your app is going to be installed on not too many machines, I’d recommend just making certain that Graphviz is properly installed into the expected place. If you’re going to distribute this app far & wide, you might as well include the Graphviz dylibs within your app package. A third — possible — option might be to call the Graphviz installer as a sub-installer from an installer that you create.