Build Guide

Build Guide


Scopira Build Guide

This document describes how to build Scopira (and possibly, some Scopira-based applications) from the source distribution. This document will assume you will be building scopira from your home directory. However, this is not a requirement.

Currently, Scopira is developed and used primarily on Linux. This guide assumes that you will be building it for Linux, ideally a Red Hat or Fedora distribution (but any with GNU C++ 3.x should be fine. If you would like to build Scopira on another UNIX-like operating system, you can simply install the required libraries and tweak the top level scopiraflags.pc as needed.

Internally, we have Scopira compiling to Microsoft Windows. However, this build process is currently in a less than optimal state, and thus will not be presented here. If you're familiar with GTK+ for Windows and MinGW, send us an email.

Required packages

PackageRPM nameWhere to getHow to verify
Required: XML Librarylib-xml2-develstandard in most Linux installspkg-config --cflags libxml-2.0
Required: GTK+ GUI Librarygtk2-develstandard in most Linux installspkg-config --cflags gtk+-2.0
Optional: OpenGL GTK+ Librarylibgtkglext-develWeb site or often any "supplemental" repository such as Fedora Extraspkg-config --cflags gtkglext-1.0
Optional: MPIMPI-CH, LAM or any other MPI implementationpkg-config --cflags gtkglext-1.0
Run the How to verify command to verify that a particular package is installed. If this command doesn't output an error message, then that package is successfully installed.

Downloading and extracting Scopira

Download the (latest) scopira-*.tar.gz file and any number of application specific .tar.gz files.

Extract the Scopira archive while in your home directory:

  cd ~
  tar xfzv /path/to/scopira-VERSION.tar.gz
If you downloaded additional applications (like evident), extract them while in your scopira directory. Do this for each application you want to build. For example:
  cd ~/scopira
  tar xfzv /path/to/evident-VERSION.tar.gz

Prepare your enviroment

Scopira uses dynamic libraries and the pkg-config for maximum flexibility. You should add your ~/scopira to two important variables. You should probably also add them to the end of your ~/.bashrc file:
  export PKG_CONFIG_PATH=~/scopira:$PKG_CONFIG_PATH
  export LD_LIBRARY_PATH=~/scopira:$LD_LIBRARY_PATH
If you're on a 64-bit platform, make sure BB64=1 is set:
  export BB64=1

Prepare the Makefile

Scopira uses an automated makefile builder, buildboss. This tool automatically builds makefiles and pkg-config based dependency trees by inspecting a collection of source files for special tags. You should run it with a list of one or more source directories. You should rerun it any time any of the file tags have been changed or files were added or removed from the project.
  cd ~/scopira
    (compile Scopira and any applications you've downloaded:)
  bin/buildboss scopira.src apps/*.src

    (same as above, but also include the OpenGL extension:)
  bin/buildboss scopira.src gl.src apps/*.src
    (same as above, but also include the MPI extension:)
  bin/buildboss scopira.src mpi.src apps/*.src
You may rerun buildboss any time with these parameters to rebuild the makefile. Alternativly, all buildboss generated makefiles have a special target to rerun build with the parameters that generated that makefile:
  cd ~/scopira
  make reboss

Compiling

Finally, to build scopira, use the make command. This will compile all the sources files specified in the previous buildboss command.
  make

Running the applications

Depending on what applications/packages you've chosen to build, you will get: To run an application, simply launch its executable. For example, to run the generic Scopira Pattern Analysis application (it's include with Scopira itself), do:
  cd ~/scopira
  ./scopirapa.exe
Some applications are simply plug-ins for other applications. For this, you need to pass the lib= parameter with the plug-in in question. For example, to run the RDP plug-in with ScopiraPA:
  cd ~/scopira
  ./scopirapa.exe lib=libevident.so

Copyright Information