These docs are for v0.8.3. Click to read the latest docs for v0.9.3.

Building non AVX Packages

How to build FiFo packages if your CPU does not support AVX

If you are using older hardware and your CPU does not have AVX support, you can build non AVX FiFo packages. This document gives a brief overview of how to build and use the packages on non AVX hardware.

You can either compile the packages within your FiFo zone or alternatively you can use a dedicated build zone to create the packages. Once they are built, the packages can be installed manually wherever needed. This document will cover building the packages in a clean build zone.

🚧

Not Officially Supported

Although building packages without AVX should work just fine, it is beyond the scope of a supported FiFo environment and will not be officially supported.

Important

  • You should use the same base dataset as the dataset version specified in the regular "Installing FiFo" section. This is currently : 1bd84670-055a-11e5-aaa2-0346bb21d5a1 minimal-64-lts 14.4.2
  • Your build zone should be on a hardware node that Does Not have AVX support.
  • The Build Zone requires 4GB of Ram to be able to compile the packages.

📘

Updating Non AVX Packages

All FiFo package updates are built with AVX support. Should a new package become available, you will need to build it and install it manually as the official FiFo packages available via pkgin will not work on non AVX hardware.

Instructions

Create a clean build zone using minimal-64-lts 14.4.2 and then install the package dependencies as follows:

pkgin -fy update; pkgin -fy install gmake gcc47 git erlang patch coreutils build-essential sudo grep

Proceed to build the packages as follows :

git clone https://github.com/project-fifo/sniffle
cd sniffle; git checkout master; make package

git clone https://github.com/project-fifo/snarl
cd snarl; git checkout master; make package

git clone https://github.com/project-fifo/howl
cd howl; git checkout master; make package

Once compiled, each packages will be created in each rel/pkg/ subdirectory. Use these packages by copying them to your FiFo zone installation that resides on non AVX hardware. The packages can be installed using the pkg_add command. e.g.

[root@fifo ~/sniffle/rel/pkg]# pkg_add fifo-sniffle-0.8.1.tgz
No valid signature found for fifo-sniffle-0.8.1.
Do you want to proceed with the installation [y/n]?
y
Creating sniffle group ...
Creating sniffle user ...
Creating directories ...
Importing service ...
Trying to guess configuration ...
Creating new configuration from example file.
  Congratulations the Sniffle management server is now installed on the system.
.------------------------------------------------------------------------------.
| By default the service is disabled since it's common that you will need to   |
| do some additional configurations.                                           |
|                                                                              |
| Please have a look at the configuraiton files:                               |
|                                                                              |
|  * /opt/local/fifo-sniffle/etc/sniffle.conf                                  |
|                                                                              |
| Note: To enable Sniffle you first need to enable the epmd service.           |
|                                                                              |
| If this is not the first node in your Smarl cluster join an existing ring    |
| you can use the sniffle-admin tool to join the existing ring.                |
|                                                                              |
| If you want tab completion for the fifoadm command add the following line to |
| your ~/.bashrc:                                                              |
|                                                                              |
| . /opt/local/fifo-sniffle/etc/fifo_complete.sh                               |
|                                                                              |
|                                                                              |
`------------------------------------------------------------------------------'