Getting Started

From Sniper

(Difference between revisions)
Jump to: navigation, search
Line 1: Line 1:
* Get the Sniper source code from our [[Download]] page
* Get the Sniper source code from our [[Download]] page
-
* Download a Pin kit from the [http://www.pintool.org/downloads.html Pin downloads] page
+
* Download a [https://software.intel.com/en-us/articles/pin-a-dynamic-binary-instrumentation-tool Pin] or [https://software.intel.com/en-us/articles/program-recordreplay-toolkit Pinplay] kit from their respective sites.
-
** Do not use any (new) version that uses PinCRT. Currently the (older) revision 71313 is still available which is known to work with Sniper
+
** The master branch of Sniper works with modern Pin versions (Pin 3.0+), while the pin2 branch works with older versions (Pin 2.14-71313). We recommend using a modern Pin 3 version if possible.
-
** Extract Pin into sniper/pin_kit
+
** Sniper 7.2 has been tested with versions of Pin up to Pin-3.7 and Pinplay-3.5.
-
** Or set PIN_HOME to the location of Pin if you use a different directory or shared Pin location
+
** Extract Pin and symlink or rename to the pin_kit directory in Sniper's subdirectory: <code>sniper/pin_kit</code>
 +
** Set PIN_HOME to the location of Pin if you use a different directory or shared Pin location
-
* Optional: Set target architecture
+
* Install Option 1 - Docker Install
-
** <code>export SNIPER_TARGET_ARCH=ia32 # default: intel64 (or update Makefile.config)</code>
+
** <code>cd sniper/docker</code>
-
** <code>sudo apt-get install libc6-dev-i386 g++-4.4-multilib lib32z1-dev # install 32-bit libraries if running 64-bit OS (Ubuntu in this case) and the g++ multilib version depends on the g++ version that you are using</code>
+
** <code>make run # downloads the requirements and starts running a Docker instance</code>
 +
** <code>cd .. # return to the base Sniper directory </code>
 +
 
 +
* Install Option 2 - Native install
 +
** <code>sudo dpkg --add-architecture i386</code>
 +
** <code>sudo apt-get install binutils build-essential curl git libboost-dev libbz2-dev libc6:i386 libncurses5:i386 libsqlite3-dev libstdc++6:i386 python wget zlib1g-dev</code>
* Compile Sniper. Some extra dependencies (a pre-compiled copy of the Python interpreter environment) will be downloaded automatically, so make sure you have a working internet connection when you make Sniper for the first time
* Compile Sniper. Some extra dependencies (a pre-compiled copy of the Python interpreter environment) will be downloaded automatically, so make sure you have a working internet connection when you make Sniper for the first time
Line 32: Line 38:
=== Prerequisites ===
=== Prerequisites ===
-
* GCC 4.3 or higher
+
* Modern Ubuntu version (16.04, 18.04, etc.)
-
* A recent Pin version (for example, [http://www.pintool.org/ 2.14-71313] or newer)
+
* A recent Pin version (for example, [https://software.intel.com/en-us/articles/pin-a-dynamic-binary-instrumentation-tool Pin 3.5] or newer recommended)
-
* Boost 1.38+
+
-
* Linux 2.6.22+
+

Revision as of 07:58, 16 February 2019

Next steps

Prerequisites

Personal tools
Namespaces
Variants
Actions
Navigation
Toolbox