Linux Installation

AxsunOCTCapture library (libaxsunoctcapture.so) and dependency installation instructions.

NOTE: The following instructions are specific to Ubuntu 18.04. Installation on other Linux distributions will have the same dependency requirements but possibly with different commands (e.g. package managers, etc.).

libstdc++.so.6 (required)

Symbol version GLIBCXX_3.4.26 is required, which is packaged with GCC 9.1 (or a newer version if you prefer). GCC 9 can be installed on Ubuntu 18.04 using:

sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt update
sudo apt install g++-9

TurboJPEG 3.x (optional)

This dependency is for retrieving JPEG compressed data transmitted from the Ethernet DAQ or loaded from a saved data file. It is not needed when capturing data via the PCIe interface, because this interface does not support JPEG compression. Download the latest version (64 bit) of libjpeg-turbo from https://sourceforge.net/projects/libjpeg-turbo/files/ and build from source or install using the package manager. For example, on x64 Debian/Ubuntu-based distributions:

wget https://sourceforge.net/projects/libjpeg-turbo/files/3.0.1/libjpeg-turbo-official_3.0.1_amd64.deb
sudo dpkg -i libjpeg-turbo-official_3.0.1_amd64.deb

This will copy files to /opt/libjpeg-turbo/. The library file libturbojpeg.so must be in your linker search path, so create a symlink using:

sudo ln -s /opt/libjpeg-turbo/lib64/libturbojpeg.so /usr/lib/x86_64-linux-gnu/

libpcap (optional)

This dependency is for data capture from the DAQ via Gigabit Ethernet interface. It is not needed when capturing via the PCIe interface.

sudo apt-get install libpcap-dev

NOTE: Remember to configure the network adapter which is connected to your Ethernet DAQ using a static (Manual) IPv4 Address of 192.168.10.1 and a Netmask of 255.255.255.0

NOTE: libpcap requires elevated privileges to the socket for capturing network traffic. Run applications as root using sudo ./<application_name> or set the file capabilities for the application using sudo setcap cap_net_raw,cap_net_admin=eip <application_name> Otherwise you will get an error "Failed to setup packet capture. (socket: Operation no permitted)" when selecting the Ethernet interface.

Windriver PCIe driver (optional)

This dependency is for data capture from the DAQ via PCIe interface. It is not needed when capturing via the Ethernet interface. An additional license is required to use the PCIe interface on Linux OS. Please contact us to inquire about pricing. These instructions are for Windriver version 1600.

Prerequisite: you must have GCC and make installed on your system. If you installed GCC 9 via the ppa according to the instructions above, you may need to "update-alternatives":

sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 100 --slave /usr/bin/g++ g++ /usr/bin/g++-9 --slave /usr/bin/gcov gcov /usr/bin/gcov-9
sudo apt install make

Copy the downloaded archive (e.g. WD1600LNX86_64.tar.gz) to your desired installation directory and execute the following commands to extract, build, and install the kernel driver and associated shared library:

tar xvzf WD1600LNX86_64.tar.gz    # extract archive
cd WD1600LNX86_64/redist/         # change to 'redist' directory
./configure                       # configure makefile
sudo make install                 # build and install    

Create a symlink from the library file (libwdapi1600.so) to a location in the linker's search path. Use an absolute path to the library file:

sudo ln -s /<abs_path>/WD1600LNX86_64/lib/libwdapi1600.so /usr/lib/x86_64-linux-gnu/

Load the kernel driver module and change its permissions:

cd ../util                        # change to 'util' directory
sudo ./wdreg windrvr1600          # load the kernel module with wdreg script
sudo chmod go+w /dev/windrvr1600  # change permissions on the loaded device

NOTE: Loading the kernel module and changing permissions needs to be repeated after every system reboot. If desired, this process can be scripted to execute automatically using the systemd utility as discussed here.

Copy the license file windrvrlicense.txt (provided by Excelitas-Axsun) to /etc/axsun/

# from a directory containing the license file...
sudo mkdir /etc/axsun                    # create 'axsun' directory in /etc
sudo cp windrvrlicense.txt /etc/axsun/   # copy license file

Last updated