Installation
    • PDF

    Installation

    • PDF

    Article summary

    The Glasswall distribution consists of all libraries, wrappers, tools, config and test files required to get started within a single archive. You will need to extract the archive and include the relevant artifacts in your project. The directory structure used in the examples below is correct for version 16.4.0 onwards, for previous versions of the engine you will need to adjust the file system paths shown.

    The Glasswall libraries are split up according to the supported Operating System and architecture:

    • /libs/debian/x86-64 - Linux x86-64 OS libraries
    • /libs/debian/arm64 - Linux arm64 OS libraries
    • /libs/windows/x86-64 - Windows x86-64 OS libraries

    Language specific wrappers can be found in /libs/OS/ARCHITECTURE/sdk_editor_wrappers and /libs/OS/ARCHITECTURE/sdk_word_search_wrappers. These allow users to use a wider range of programming languages for their own applications that use the Glasswall engine. Wrappers are available for:

    • Java (8, 11 and 18)
    • .NET (8 or higher)
    • Python (3.6 or higher)

    General Requirements

    The general requirements are:

    • The Glasswall libraries: glasswall_core2.dll for Windows OS and libglasswall_core2.so for Linux. These libraries contain the Glasswall engine.
    • The Glasswall camera libraries: *_camera.dll for Windows OS and *_camera.so for Linux and Alpine OS. These are libraries used by the Glasswall engine to process specific filetypes.
    • Content management policies that modify the processing behaviour. Examples can be found in /configs.
    • A way of executing the Glasswall engine. This can be an application written using one of the provided language wrappers, or an application that directly interacts with the Glasswall library.
    • Content management policy settings that can be applied to alter the CDR processing behaviour. Examples can be found in the configs directory.

    Installation

    Environment variables

    The following environment variable will need to be set up in order for Editor to find the Glasswall camera libraries:

    QT_PLUGIN_PATH=...: Where ... is the full path to the directory containing the Editor and Editor camera libraries.

    If you are having issues with no documents being processed even though they are supported then double check that this environment variable is setup correctly.

    ##### Environment Variables in Linux

    A temporary environment variable can be created by running export QT_PLUGIN_PATH=.... This will create the environment variable, but only for the current shell and its child processes. Once the shell is closed then this variable will no longer be available.

    A permanent environment variable can be created by adding export QT_PLUGIN_PATH=... to the ~/.bashrc file. This enables the environment variable to be set up every time a shell instance is created. After adding this line you can call source ~/.bashrc to enable this variable to be present for the current shell.

    ##### Environment Variables in Docker

    A permanent environment variable can be created by adding ENV QT_PLUGIN_PATH=... to your Docker file.

    ##### Environment Variables in Windows

    A temporary environment variable can be created by running set QT_PLUGIN_PATH=.... This will create the environment variable, but only for the current shell and its child processes. Once the shell is closed then this variable will no longer be available.

    A permanent environment variable can be created by running setx QT_PLUGIN_PATH=.... This will create the environment variable when a new shell instance is created. After adding this line you can run set QT_PLUGIN_PATH=... to enable this variable to be present for the current shell.

    WARNING: The above commands will truncate your environment variable if it exceeds 1024 characters. In this case you will need to use another method, such as using the graphical interface, to create the environment variable.

    Linux

    On Linux there are a few different ways of installing the Glasswall libraries. Here we demonstrate a temporary and some permanent solutions. For each example the release package has been extracted to /home/Glasswall. You may need to adapt the filepaths to match your environment.

    Example 1 - Temporary solution

    A temporary setup can be created by extracting the archive to a directory and then setting up the environment variable LD_LIBRARY_PATH=... to point to the directories where the Glasswall libraries are located.

    • Run;
      • export QT_PLUGIN_PATH=/home/Glasswall/libs/debian/x86-64/sdk_editor.
      • This will set up the QT_PLUGIN_PATH to point to the directory containing the Glasswall camera libraries.
    • Run;
      • export LD_LIBRARY_PATH=/home/Glasswall/libs/debian/x86-64/sdk_editor:/home/Glasswall/libs/debian/x86-64/sdk_word_search.
      • This will set up the LD_LIBRARY_PATH to point to the directories that contain the different libraries. If you are using Java you will also need to add paths to the Java wrapper directories to LD_LIBRARY_PATH.

    Example 2 - Installation in /usr/lib

    A permanent setup can be created by copying all the libraries to /usr/lib/ or another directory that is searched by the linker, and then running ldconfig to update the list of installed libraries.

    • Run with admin privileges;
      • find /home/Glasswall/libs/debian/x86-64 -type f -name "*.so*" -exec install -m 755 "{}" /usr/lib \;
      • This will copy all the Glasswall libraries into /usr/lib directory and set the permissions to 755. If you are using Java you will also need to do this for the Java wrapper libraries.
    • Run with admin privileges;
      • ldconfig
      • This will update the list of installed libraries so that the Glasswall libraries can be found.
    • Run;
      • echo 'QT_PLUGIN_PATH=/usr/lib/' > ~/.bashrc
      • This will permanently add the QT_PLUGIN_PATH environment variable to point to the location of the Glasswall libraries.
    • Run;
      • source ~/.bashrc
      • This will update the current shell to include the QT_PLUGIN_PATH environment variable.

    Example 3 - Installation in /opt/glasswall

    Another permanent setup can be created by copying the content of the extracted archive to a place such as /opt/glasswall, and creating a config file in /etc/ld.so.d/ that tells the system where to find the Glasswall libraries.

    • Run with admin privileges;
      • mkdir -p /opt/glasswall
      • This will create the directory where the content of the release package will be stored.
    • Run with admin privileges;
      • cp -r /home/Glasswall/* /opt/glasswall/
      • This will copy the extracted contents of the release package into the /opt/glasswall/ directory.
    • Run with admin privileges;
      • find /opt/glasswall/ -name "*.so*" -exec chmod 755 "{}" \;
      • This will find all the Glasswall libraries and set their permissions to 755
    • Run with admin privileges;
      • echo -e "/opt/glasswall/libs/debian/x86-64/sdk_editor\n/opt/glasswall/libs/debian/x86-64/sdk_word_search" >> /etc/ld.so.conf.d/glasswall.conf
      • This will create the configuration file /etc/ld.so.conf.d/glasswall.conf containing the paths to the locations of the Glasswall libraries. If you are using Java you will aslo need to add paths to the Java wrapper libraries to glasswall.conf.
    • Run with admin privileges;
      • ldconfig
      • This will update the list of installed libraries so that the Glasswall libraries can be found.
    • Run;
      • echo 'QT_PLUGIN_PATH=/opt/glasswall/libs/debian/x86-64/sdk_editor' > ~/.bashrc
      • This will permanently add the QT_PLUGIN_PATH environment variable to point to the location of the Glasswall libraries.
    • Run;
      • source ~/.bashrc
      • This will update the current shell instance to include the QT_PLUGIN_PATH environment variable.

    Windows

    The set up for Windows is very similar to the set up for Linux where you need to find a place for the Glasswall libraries to be stored, and then set up the environment variables so that the Glasswall libraries can be found. In our example we are storing the contents of the release archive in C:\Program Files\Glasswall.

    • Extract the contents of the Release archive into C:\Program Files\Glasswall
    • Add the following paths to the PATH environment variable:
      • C:\Program Files\Glasswall\libs\windows\x86-64\sdk_editor
      • C:\Program Files\Glasswall\libs\windows\x86-64\sdk_word_search
    • If you are using Java, add the appropriate paths containing the Java wrapper libraries to the PATH environment variable.
    • Add the Editor cameras directory to the QT_PLUGIN_PATH environment variable. For example:
      • C:\Program Files\Glasswall\libs\windows\x86-64\sdk_editor

    OpenSSL and Visual C++ Redistributable

    Windows users will also need to install OpenSSL and the Visual C++ Redistributable packages. A Chocolatey installation of OpenSSL is recommended which will also install the Visual C++ Redistributable.

    • The instructions to install Chocolatey can be found here.
    • Once Chocolatey is installed, open a command prompt or Windows Power Shell with administrative permissions.
    • Type the command choco install openssl and follow the instructions to complete the installation.
    • Once complete, restart any applications or console sessions to apply the updated environment variables.

    Was this article helpful?