AEICOR - Industry 4.0 Technology Library
Docs» Technology» Industry 4.0 — OT/IT convergence» OPC UA: an Industry 4.0 information framework» S2OPC - Safe & Secure Open-source OPC UA stack» S2OPC : Safe & Secure OPC UA - Quick Start Guides» S2OPC Linux compilation steps

S2OPC Linux compilation steps

This guide compiles the S2OPC OPC UA stack from source on a Linux host running Debian 9.5 or Ubuntu, and runs its demo application. It covers the package dependencies, the build, and the publisher/subscriber sample (pubsub_server, which runs both roles in one process). For the real-time PubSub variant of the same stack over TSN, see S2OPC - TSN.

Verified against S2OPC Toolkit 1.0.0 in October 2020, on the dependency versions pinned below. The stack has moved on considerably since — see the stack comparison for current findings — so treat the version pins here as what was tested rather than as a current recommendation.

Prerequisite

Below are the list of hardware used for setting up the demo for this user guide. But you can use a different set of hardware as per availability.

  1. DUT H/W: i5 Quad core
  2. DUT S/W: Install debian 9.5 or ubuntu on the DUT
  3. [Note] The DUT hardware configuration is upto the users. If you need steps to setup the DUT with Linux + RT patch follow this QSG.

Dependencies

Below Linux package dependencies need to be met for the S2OPC demo application to work.

  • Open terminal
  • Login as root

$ su

  • Create an installation folder(parent folder) and install the below dependency packages on the DUT from the parent folder

# mkdir S2OPC && cd S2OPC/

CMake (>= 3.5, tested with CMake version 3.9.4)
# wget https://github.com/Kitware/CMake/releases/download/v3.19.0-rc1/cmake-3.19.0-rc1.tar.gz
# tar -xvzf cmake-3.19.0-rc1.tar.gz
# cd cmake-3.19.0-rc1/
# ./configure
# make
# make install
Mbedtls (tested with mbedtls version 2.16.0)
# cd ..
# apt-get install autoconf
# apt-get install libtool
# wget https://github.com/ARMmbed/mbedtls/archive/mbedtls-2.16.0.tar.gz
# tar -xvzf mbedtls-2.16.0.tar.gz
# cd mbedtls-mbedtls-2.16.0/
# make
# make install
Expat XML parser (tested with libexpat version 2.2.9)
# cd ..
# git clone https://github.com/libexpat/libexpat.git
# cd libexpat/expat/
# ./buildconf.sh
# ./configure
# mkdir build
# cd build
# cmake -DCMAKE_INSTALL_INCLUDEDIR=/usr/local/lib .. && sudo make install
Check framework (tested with libcheck version 0.14)
# cd ../../..
# wget  https://github.com/libcheck/check/releases/download/0.14.0/check-0.14.0.tar.gz
# tar -xvzf check-0.14.0.tar.gz
# cd check-0.14.0/
# mkdir build
# cd build/
# ccmake ..
# make
# make install

Steps to compile S2OPC samples

Download and compile S2OPC sample application. Clone the toolkit 1.0 release version in the S2OPC parent folder.

# cd ../../
# git clone https://gitlab.com/systerel/S2OPC.git --branch S2OPC_Toolkit_1.0.0
# cd S2OPC
# ./build.sh
# cd build/bin/

Steps to run OPCUA Pub/Sub samples

After successful compilation, the binary is available as pubsub_server in the bin directory.

# ./pubsub_server

This sample application runs both the publisher and subscriber demo.

What else can you try?

If you want to edit the demo application to test out your configuration, below are the relevant information.

  • OPC UA Address Space — the default address space for the publisher/subscriber application is located in build/bin/pubsub_server.xml
  • Pub/Sub configuration — the default Pub/Sub configuration is located in build/bin/config_pubsub_server.xml
  • Dynamic configuration — Pub/Sub configuration and address space can be loaded at run-time from its XML representation.

Other demos with S2OPC

S2OPC stack includes a few other helpful features and demo applications to help you with your evaluation.

  • OPCUA Client server examples
  • OPCUA Pub/Sub runtime information model and configuration update
  • Real time OPCUA PubSub over TSN
  • OPC UA demo on Windows, Vxworks, Zephyr and FreeRTOS
  • Cyber security certifications

For more help with setting up your evaluation and toolkits, contact us at adopt.opctsn@aeicor.com
You can also reach S2OPC support at https://www.s2opc.com

Previous Next

Site Tools

  • Media Manager

Page Tools

  • Show pagesource
  • Fold/unfold all
  • Back to top

User Tools

  • Log In
technology/industry40/opcua/s2opc/qsg/build-linux.txt · Last modified: 2026/07/30 20:02 by apibot
AEICOR - Industry 4.0 Technology Library

Table of Contents

Table of Contents

  • Prerequisite
  • Dependencies
  • Steps to compile S2OPC samples
  • Steps to run OPCUA Pub/Sub samples
  • What else can you try?
  • Other demos with S2OPC
  • Case studies: delivered systems, written for a reader
  • custom-solutions
  • dev
  • Machine-builder industries: the same engineering, every industry
  • Embedded platforms: choosing between an RTOS and embedded Linux
  • playground
  • Silicon for industrial communication
  • Solutions and tools: engineering wedges, delivered as a service
  • Technology
  • Turnkey product development
  • Use cases: what the machine actually has to do
  • Whitepapers and webinars
  • wiki