Miscellaneous¶
Installing Boost from Source¶
Basic Installation¶
Boost uses a custom build system which may be difficult to use. The general procedure for compiling and installing Bosot is the following.
./bootstrap.sh
Optionally give
--prefix=some/path
to specify a non-standard installation path. Also, see below if using a custom Python version.See below if using a custom Python version or custom GCC installation.
./b2
Probably give
-j N
(similar to GNU Make) to compile withN
threads../b2 install
Optionally give
--prefix=some/path
to specify a non-standard installation path (if not done earlier).
After bootstrap.sh
has been run, the file project-config.jam
has been created, which can be edited to customise installation path and a lot of other
things. All edits should be done before running b2
.
Custom Python Version (e.g., Python 3 for Boost.Python)¶
This can be achieved in multiple ways. If the custom version (here assumed to be 3.3) is
installed in the normal system location, then passing --with-python=python3
to
bootstrap.sh
should work. This adds a line similar to
“using python : 3.3 ;
” to project-config.jam
. After compilation
(running b2
) the file stage/lib/libboost_python3.so
should exist.
If not, it did not detect Python 3 properly.
If Python is installed in a non-standard location, add the a line similar to
“using python : 3.3 : python3 : /path/to/python/3/installtion/include ;
” to
project-config.jam
, where the last path is the path to the
include
-folder of the Python-installation.
Compiling Graphviz with svg:cairo
¶
Graphviz can load SVG images and place them inside vertices. However, the specific case where the output is PDF requires that Graphviz is compiled with librsvg and libpangocairo. Unfortunately this is not the case for the default package in Ubuntu. To compile a custom version with these libraries you can do the following (on Ubuntu).
Install the dev-versions of the libraries:
sudo apt-get install librsvg2-dev libpango1.0-dev
.Download the source package of Graphviz and do the normal autotools dance. Note that the build system of Graphivz does not currently support out-of-source builds.
LaTeX¶
Graphviz and OpenBabel¶
Put the content of graphvizObabel.sty in the
preamble (or use \usepackage{graphvizObabel}
when the file is in the same
directory). Use pdflatex
as compiler with the -shell-escape
option
(don’t use that option with code you don’t trust!). The following macros are now available.
They should all be used as substitude for \includegraphics
.
The options in all macros can be omitted, and they will be passed down to \includegraphics
.
\graphvizBase[options]{layout engine}{complete graph data}
: for compiling and including a general graphviz graph.\neatoGraph[options]{graph data}
: expands to\graphvizBase[options]{neato}{graph {graph data}}
\neatoDigraph[options]{graph data}
: expands to\graphvizBase[options]{neato}{digraph {graph data}}
\obabel[options]{smiles string}
: uses OpenBabel to draw the molecule in 2D.
The graphviz macros requires graphviz to be installed and have dot
in the path.
The obabel macro requires OpenBabel 2.3 or higher to be installed and have
obabel
in the path.
See also a blog post by Noel O’Boyle, for additional information.