Run 32-bit OpenVisualizer on Debian Linux x86_64 host

We wish to run 32-bit OpenVisualizer on a 64-bit host/Python installation, so we can test in this environment, particularly the simulation library. The simplest solution is to run the executable within an i386 schroot. In this description, the host machine is based on Debian jessie amd64.

Create i386 schroot

These instructions are based on the Ubuntu community instructions for this task, which have become a little outdated.

  1. Install debootstrap and schroot packages.
  2. Create jessie_i386.conf, comparable to hardy_i386.conf. See contents below.
  3. Run debootstrap for the chroot.
       # debootstrap --variant=buildd --arch=i386 jessie /srv/chroot/jessie_i386

jessie_i386.conf

(<username> is the login for the user to run the build)

[jessie_i386]
description=Debian Jessie for i386
directory=/srv/chroot/jessie_i386
personality=linux32
root-users=<username>
type=directory
users=<username>

The chroot is now ready to use. Be careful with the user's home directory in the chroot – it's the same directory as when external to the chroot.

To run the schroot (again, <username> is the login for the user to run the build):
    $ schroot -c jessie_i386 -u <username>

Install dependencies

Next we need to install the dependencies for OpenVisualizer. First, install the Debian packages from within the schroot, as the superuser. Notice how architecture-specific packages are identifed with 'i386'.

  1. python2.7-dev
  2. python-pip (which automatically includes setuptools)
  3. iproute2 (for the 'ip' command used to setup the TUN network interface)

Next, use pip to install OpenVisualizer itself, which brings in other Python dependencies. The --pre flag installs a pre-release version of OpenVisualizer. Version 1.6.0alpha1 is the only available version as of this writing:
    # pip install --pre openVisualizer

Run the UI script

That's it. Now run OpenVisualilzer with the UI of your choice, for example, the web interface:
   # openVisualizerWeb.py --sim