Vaucanson 2b.3 (February 3rd, 2014)


Vaucanson 2 is an ongoing full rewrite of Vaucanson. While it mostly ressembles Vaucanson 1 in many regards, it is also very different in many others: it is much faster, far easier to use, and provides a richer feature-set. However, it does not yet provide any form of useful documentation.

The reader is invited to read the NEWS.txt file in the distribution to know more about what Vaucanson 2 can already do.

Available Ports

  • MacPorts
Run this command:
sudo port sync && sudo port install vaucanson


Virtual Machine

To install a Vaucanson virtual machine, please follow this procedure:

  1. Install VirtualBox from your distro, or from
  2. Install Vagrant from your distro, or from
  3. Download this Vagrantfile and save it somewhere. For instance
    1mkdir ~/src/vcsn2
    2cd ~/src/vcsn2
    3wget {{SERVER}}/dload/vaucanson/2.0/Vagrantfile
  4. Run Vagrant (first time will be slow: let it download the VM)
    1cd ~/src/vcsn2
    2vagrant up
    Vaucanson is runnning!
  5. Open http://localhost:8888 in your favorite browser.
  6. Experiment! (Hit Shift-Enter to evaluate):
    1import vcsn
  7. Turn your VM off when you are done
    1vagrant halt


In order to compile Vaucanson 2, you need:

C++ compiler
Clang 3.4 or better are known to work properly. GNU g++ 4.7 cannot compiler Vaucanson 2 at all, however 4.8 and 4.9 can compile most of it correctly: they fail to compile properly (incorrect behavior at runtime) some pieces of code in tupleset, an undocumented feature, so you should not be concerned, yet.
The display of automata is made using AT&T Graphviz library. (On Ubuntu/Debian, install the following package: graphviz)
Boost (version 1.49 or later) provides free peer-reviewed portable C++ source libraries (at least the Boost.Python and Boost.Regex components, and properly others).
The Flex scanner generater, 2.5.37 or better.
Although not required, it is strongly recommended to build using ccache (by passing CXX=ccache clang++ as argument to configure). Otherwise you may experience nasty lags at runtime (yes, really, at runtime).