FORUM CTRLX AUTOMATION
ctrlX World Partner Apps for ctrlX AUTOMATION
08-09-2023 03:40 PM
Hello,
I created a snap with the realtime SDK 1.18 and tried to install it on my virtual ctrlX Core.
The snapping process runs without errors but during the installation I get the following errors in the logbook:
Trace error app.automationframeworkBundle exception [70001]: Could not start bundle: (null) [21]
Trace error app.automationframeworkBundle exception [70001]: "Could not load all bundle libraries"
Trace error app.automationframeworkBundle exception [70001]: "Could not load all libraries"
Trace error app.automationframeworkBundle exception [70001]: "Could not load library: /var/snap/rexroth-automationcore/1010/framework/.cache/bundle21/version0.0/libdummy_cpp_state_machine_lib.so"; Cause: /var/snap/rexroth-automationcore/1010/framework/.cache/bundle21/version0.0/libdummy_c
Sadly the rest of the message is truncated.
So I obviously made a mistake, but I don't know how to find out what I did wrong.
I looked into the HowTo article for debugging, but this debugging always starts after installing the snap or is for non- realtime snaps.
Is there a possibility to get the complete message? Or is there a way to check the snap befor installing it? Am I missing something in a HowTo?
Thank you and best regards
Solved! Go to Solution.
08-11-2023 07:10 AM
Hi @therusch
The error message shows you that a share object "libdummy_cpp_state_machine_lib.so" could not be loaded. Can you check if this library is available in your bundle (inside your snap)? And here you should also check if all the dependencies for this library are also available (for example with ldd).
I would recommend to reverse engineer a little bit in our bundles and see what you are doing different. Here you can see the unziped datalayer.bundle and its celix-bundle-manifest. This bundle and more bundles are also included in the SDK (ctrlx-automation-sdk/bundle).
To explain the mainfest a little bit I can recommend this introduction into the OSGi bundle manifest from IBM (link).
Best regards,
Nick
08-11-2023 07:26 AM
You can also debug your RT-Bundles directly in the App Build Environment. This is already configured in our RT-samples (automation.scheduler, automation.scheduler.thread, rtdatalayer.owner and rtdatalayer.user).
Prerequisite to do this is, you got install the C++ Extension in Visual Studio Code. Then you can run the script "build-debug.sh" and when this is finished, start the debugging (F5). Then the framework, which is located in the SDK (at bin/framework) is started. It will then load all the bundles it can find in the folder bundles and your own self-created bundle.
For this I would recommend you to use the V1.20 of RT-SDK because the framework in V1.20 will need two environment variables to start in the App Build Environment, which were not necessary for 1.18 framework. You can see this in the .vscode/launch.json.