PST SDK  5.2.0.0-0eac0f6
Install and Redistribute

Linux

The Linux PST Software Suite is installed using a Debian installer package that installs the full PST Software Suite, including the PST SDK. After installing the package, the PST Software Suite can be found at /opt/ps-tech/pst.

The PST SDK can be found at /opt/ps-tech/pst/Development, which is structured as follows:

  • docs: This documentation.
  • Drivers/PST-HD: Configuration scripts to enable communication with the PST Iris HD, PST Base HD and PST Pico trackers.
  • examples: Several examples explaining how to use the PST SDK.
  • include: The header files needed to work with the C++ API.
  • python: The sources of the Python API.
  • Redist: The shared libraries and miscellaneous files required to run an application that is using the C++ API.
Note
When running the pst-server or any application implementing the PST SDK on Linux, remember to explicitly supply the specific camera configuration that needs to be used. When running the software with the PST HD or PST Base HD, use basler_ace as an argument. When running the software with the PST Pico, use basler_dart as an argument. Without an explicit camera configuration, the software will try to connect to a PST Iris HD or PST Base HD and fail otherwise. Take a look at the examples to get more information.

Redistribution on Linux

Linux Installer

Redirstribution can be done by redistributing the full PST Software Suite together with the end-user application. Except when using Python API, when the rpath is correctly set for the end-user application, there should be no issues locating the required shared libraries. It will then probably only be necessary to install the correct XML camera configuration file into the installation directory of the end-user application. However, this way of installation most likely installs many components that are not necessary in order to use the end-user application.

Linux Files

The second way of redistribution is to package a copy of the required files together with the installer of the end-user application. This way only the files that are necessary for the specific use case of the end-user application will be redistributed, lowering the overhead. The table below shows which files need to be redistributed in which use case.

  • The Base (C++) files should always be redistributed in order to make the PST SDK work and be able to connect to the PST Iris HD, Base HD or Pico. These are sufficient when using the C++ API.
  • The C file is additionally required when using the C API.
  • The Python files are additionally required when using the Python API.
  • The PST-Client files are only necessary if the end-user application should be used in combination with the PST-Client application. This would for example be the case if the PST-Client is used for tracker initialization and tracking target training.
  • The PST REST Server executable is only necessary if the end-user application should be used in combination with the stand-alone PST REST Server.
File Base (C++) C Python PST-Client REST
pst-client and pst-client-<version> X
pst-rest and pst-rest-<version> X
lib/libV3D.so X
Development/Redist/baslercameraplugin.so.<version> X
Development/Redist/basler_ace.xml X (HD only)
Development/Redist/basler_dart.xml X (Pico only)
Development/Redist/libfreeimage-3.18.0.so X
Development/Redist/libGCBase_gcc_v3_1_Basler_pylon.so X
Development/Redist/libGenApi_gcc_v3_1_Basler_pylon.so X
Development/Redist/libLog_gcc_v3_1_Basler_pylon.so X
Development/Redist/libMathParser_gcc_v3_1_Basler_pylon.so X
Development/Redist/libnlopt.so.0 X
Development/Redist/libNodeMapData_gcc_v3_1_Basler_pylon.so X
Development/Redist/libpstsdk_cpp.so.<version> X
Development/Redist/libpylonbase-5.2.0.so X
Development/Redist/libpylon_TL_usb-5.2.0.so X
Development/Redist/libuxapi-5.2.0.so X
Development/Redist/libXmlParser_gcc_v3_1_Basler_pylon.so X
Development/Redist/pylon-libusb-1.0.so X
Development/Redist/libpstsdk_c.so.<version> X X
Development/python/pstech/*5 X
Development/python/setup.py6 X

5Either a self-created binary of the Python API, or all files within Development/python/pstech should be distributed.
6setup.py is not mandatory, but is recommended to distribute when you are not distributing a binary of the Python API.

For the files that include a <version> tag, use the file that includes the full version number or distribute all files with the same name (e.g. libpstlib.so, libpstlib.so.5 and libpstlib.so.5.0.2). The files without version number are symbolic links to the file including the version number.

Linux Driver

The PST tracker requires camera drivers in order to operate. The script required to configure the system to work with the cameras can be found in the /opt/ps-tech/pst/Development/Drivers/PST-HD directory. Run the setup-usb.sh script in order to configure the system. When applying the configuration from a different directory than the PST Software Suite installation directory, adjust the setup-usb.sh script to reflect the correct paths. This script can also be used as a postinst script when creating a Debian installer package.