Error while building SampleRuntime (Github)

Hi, Whenever you try to build the project (with the tools/build-runtime.sh script), an error is thrown (“incorrect version”). This is even independent of the actually set version. However, it can be fixed by setting -DARP_CHECK_DEVICE_VERSION=OFF by adding this to line 24 of the mentioned script (which disables version checks completely). Version:19.9.0.23151

CMAKE Configure
-- Setting ARP_TOOLCHAIN_NATIVE_SYSROOT=‘/tools/cross/arm/phoenix-plcnext/sdk/sysroots/x86_64-pokysdk-linux’
-- Setting ARP_TOOLCHAIN_TARGET_SYSROOT=‘/tools/cross/arm/phoenix-plcnext/sdk/sysroots/cortexa9t2hf-neon-pxc-linux-gnueabi’
-- The C compiler identification is GNU 8.2.0
-- The CXX compiler identification is GNU 8.2.0
-- Check for working C compiler: /tools/cross/arm/phoenix-plcnext/sdk/sysroots/x86_64-pokysdk-linux/usr/bin/arm-pxc-linux-gnueabi/arm-pxc-linux-gnueabi-gcc
-- Check for working C compiler: /tools/cross/arm/phoenix-plcnext/sdk/sysroots/x86_64-pokysdk-linux/usr/bin/arm-pxc-linux-gnueabi/arm-pxc-linux-gnueabi-gcc – works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /tools/cross/arm/phoenix-plcnext/sdk/sysroots/x86_64-pokysdk-linux/usr/bin/arm-pxc-linux-gnueabi/arm-pxc-linux-gnueabi-g++
-- Check for working CXX compiler: /tools/cross/arm/phoenix-plcnext/sdk/sysroots/x86_64-pokysdk-linux/usr/bin/arm-pxc-linux-gnueabi/arm-pxc-linux-gnueabi-g++ – works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
CMake Error at /tools/cross/arm/phoenix-plcnext/sdk/cmake/FindArpDevice.cmake:93 (message):
The device version ‘2019.9 (19.9.0.23151 )’ is not supported by this SDK.
Supported versions are 2019.9 (19.9.0.23151 ).
Call Stack (most recent call first):
CMakeLists.txt:46 (find_package)

-- Configuring incomplete, errors occurred! Best regards,
Michael Krön

Hi Michael, That error is most likely due to an annoying quirk with all SDKs before 2020.0 - the device version you provide must match exactly with the expected version, which isn’t so bad - except that there are two blank spaces between 23151 and the closing bracket. This is particularly difficult to spot, because the error message indicates that there is only one blank space. This has been improved in SDK version 2020.0, where there are no blank spaces between the version number and the closing bracket in the supported device version. So, I can recommend upgrading your PLC and SDK to version 2020.0. By coincidence, earlier today we pushed an update to the SampleRuntime repo on Github. We have updated the tutorial for version 2020.0, added some small features, and corrected all the known errors. So, all together, I hope this fixes the problem for you. ~ Martin.