How to install or update Boost libraries on a AXC F 2152 controller
hello,
i wonder, if anyone has tried to compile a newer version of the boost package for the AXC-F-2152 ? I'm trying to build an own standalone APP in C++ for the Linux part of the controller which depends on some of the libraries of boost_1.85. There are no real-time requirements for this APP.
At the moment this APP runs on a RaspPi and reads SPI data from an FPGA. The data can be made available over ProfiNet and I managed to receive the data with the AXC-F-2152 ProfiNet Master Device. So, now I want to transfer the App from the RaspPi to the controller and if this works, trying to read the data from the PLCnext-Runtime using one of the available interfaces.
To cross-compile boost I followed the steps of Martin Boers tutorial on Youtube (https://youtu.be/Sw0-7ZEm2Uk?si=D6SI0JkOduagpXTf), building an ACF-project employing MQTT with the Paho-C/CPP libs. This tutorial uses CMAKE as build system, in contrary the boost-project uses a b2 (bjam) build system. I adopted the shell script of the tutorial replacing git with wget to receive the latest boost download and i replaced the cmake part of the shell scrpt with b2 (bootstrap / b2) with all necessary options/toolchain etc.
I got the b2-engine to start building the *.so-files using an PLCnext-SDK (2024.6) toolchain. However, despite the fact it builds many of the individual boost libs successfully it fails on a number of others. So, I can't use it and was getting tired of trying.
So, I then found a CMAKE version of the boost project available on Github. This CMAKE version is meant for developers of the boost project and is not available on the release-version of boost. However, i gave it a try and it works and compiles all shared libraries. I copied them to the toolchain first (not yet to the controller): /opt/pxc/2024.6/sysroots/cortexa9t2hf-neon-pxc-linux-gnueabi/usr/local/boost/lib/*.so
Then, going back to my standalone APP on Vscode i tried to build the APP with CMAKE. This fails in finding the copied boost libs at the toolchains sysroot. It appears that CMAKE needs a FindBoost.cmake file with instruction where to find boost but such a file is not available anywhere in the toolchain, not even for the existing older boost version of the controllers itself (/usr/lib/).
Anybody out there who knows the trick of building a newer boost version for the AXC-F-2152 ?
I can post my CMAKE and shell scripts but didn't want to blow up this post as it is already a too long story :)
Thanks, Ralf
Comments
Edit: i gave it another try with ChatGPT today and I managed to build Boost on my host (WSL) . Still need to copy libs/header to the controller (/usr/local/) and then finally test if my CMAKE project can find the new boost version in the sysroot. Happy to share scritpts if anybody needs it (build script, user-config.jam, chatGPT log).