How to build on Ubuntu Linux

Here's how to make an optimal build of latest bleeding-edge code on Ubuntu Linux. Most of it applies to other distros too (also works for Ubuntu on Windows https://msdn.microsoft.com/en-us/commandline/wsl/).

Install pre-requisites:

Required stuff
  sudo apt-get install build-essential libssl-dev
  sudo apt-get install yasm libgmp-dev libpcap-dev libnss3-dev libkrb5-dev pkg-config libbz2-dev zlib1g-dev
If you have an NVIDIA GPU (CUDA and OpenCL support)
  sudo apt-get install nvidia-cuda-toolkit nvidia-opencl-dev
If you have an AMD GPU (or want to use CPU as OpenCL device)
  sudo apt-get install fglrx-updates-dev
Optional MPI support
  sudo apt-get install libopenmpi-dev openmpi-bin
Optional REXGEN support (additional cracking modes)

Cmake needs to be 2.8.12 or above. Ubuntu 14.04 LTS has this.

  sudo apt-get install subversion cmake bison flex
  mkdir ~/src && cd ~/src
  svn checkout https://github.com/teeshop/rexgen.git rexgen
  cd rexgen/trunk/src/
  mkdir build && cd build
  cmake ..
  make && sudo make install

Clone latest bleeding-edge Jumbo and build:

Clone GIT repo
  cd ~/src
  git clone git://github.com/magnumripper/JohnTheRipper -b bleeding-jumbo john
Build
  cd ~/src/john/src
  # For MPI, use './configure --enable-mpi' below
  ./configure && make -s clean && make -sj4

Test your build:

  $ ../run/john --test=0 --format=cpu

To benchmark, drop the =0 argument to –test.

To test OpenCL or CUDA formats, or both, use –format=[cuda|opencl|cuda].

To test specific format(s) just name them. Wildcards are OK, eg. –format=lotus*

john/tutorials/Ubuntu-build-howto.txt · Last modified: 2017/03/11 18:42 by dhiru
 
Except where otherwise noted, content on this wiki is licensed under the following license: CC Attribution-Noncommercial-Share Alike 3.0 Unported
Recent changes RSS feed Donate to DokuWiki Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki Powered by OpenVZ Powered by Openwall GNU/*/Linux