Skip to content

Build Instruction

Liran Oz edited this page Feb 26, 2018 · 4 revisions

Building and installing VMA

Prerequisites

  1. MLNX_OFED (Download the correct version here) - install with --vma
  2. Autoconf, Automake, libtool, unzip, patch, libnl-devel (standart RH release should come with everything required)

Please look at the file install.sh before building VMA. You can either run install.sh or build manually as follow:

Build

You have two options:

####Build binary/shared-object####

  1. ./autogen.sh
  2. ./configure --with-ofed=/usr --prefix=/usr --libdir=/usr/lib64 --includedir=/usr/include --docdir=/usr/share/doc/libvma --sysconfdir=/etc
  3. make

You can find libvma.so in path_to_vma_source_dir/src/vma/.libs/libvma.so.

####Build RPM / DEB packages#### For RPM: ./build/build_rpm.sh

For DEB: ./build/build_deb.sh

Install

####Install binary/shared-object####

After build:

  1. sudo make install
  2. sudo path_to_vma_install_dir/etc/init.d/vma start

Note: step 2 is needed Starting version 8.2.6

####Install RPM / DEB packages#### For RPM: rpm -ivh libvma*.rpm

For DEB: dpkg -i libvma*.deb

Run

Load libvma.so using LD_PRELOAD=path_to_libvma.so before your application, and run your application.

For example:

LD_PRELOAD=libvma.so sockperf

Or:

export LD_PRELOAD=libvma.so

sockperf

NOTES

  1. Download the source by pulling git.

The zip file offered for download does not contain the required file permissions.

If you still wish to use the zip file, run:

find . -name \*.sh -exec chmod 755 {} \;

find ./ -exec touch {} \;

  1. DO NOT USE the "internal" script under ./build .

It is part of Mellanox internal automation system, and will not work for you.