Installing Stackdb

Currently, you must install Stackdb from source. Stackdb is available via git at http://git-public.flux.utah.edu/git/a3/vmi.git . Stackdb is only available for Linux, and for x86/x86_64 architectures. Stackdb itself will likely build on non-Linux UNIX-like OSes; but first, because it depends on elfutils; and second, because we have only been interested in applying it to platforms that are best-supported under Linux (such as Xen and QEMU/KVM), we do not support other build environments.

Dependencies

To build Stackdb, your system must have the following packages installed:

On any modern, recently-updated Linux distribution, these packages may be available in the distribution’s repositories (with the exception of distorm). You shouldn’t need to build them from source, but we provide instructions below if you feel the need to do so.

Optional Packages

Stackdb’s functionality can be enhanced by installing the following packages and enabling them when building Stackdb.

In the following two sections, we provide instructions for building dependencies, followed by instructions for building this package.

Notes on Building Dependencies

Building and Installing Stackdb

Stackdb is easy to install. Enter the source directory you cloned or downloaded, and run autoconf:

cd vmi && autoconf && cd ..

Create a separate build directory:

mkdir vmi.obj && cd vmi.obj

Then run Stackdb’s configure script with the options you need, based on the instructions above (or run ../vmi/configure --help to make sure you’ve got the build options you want):

../vmi/configure --prefix=/usr/local

(or maybe something like this, if your glib, distorm, and elfutils are installed in non-standard places:)

../vmi/configure --prefix=/usr/local --with-glib=/opt/vmi/glib \
    --with-elfutils=/opt/vmi/elfutils

Finally, build and install Stackdb:

make && make install

After installing, please refer to the Quick Start or User Guide documentation. (These documents may also be found in the source directory in vmi/doc{quick-start.md,user-guide.md}.