Cannot run main.py automatically via Node-RED – OSError: libcomm_datalayer.so: cannot open shared object file

Hi everyone,

I’m trying to autostart my Python project (main.py) on ctrlX CORE using Node-RED. I have a working Node-RED flow that successfully starts a simple test script:

import time
while True:
    time.sleep(1)
    print("Hello World, this is a test!!", flush=True)

This works fine.

However, when I try to run my actual project main.py, I get the error:

OSError: libcomm_datalayer.so: cannot open shared object file

I already tried several approaches from the community, but nothing seems to work. My Node-RED flow uses ctrlx-datalayer-request nodes to create the script instance and point to main.py.

My questions:

  1. Is it possible to start a full Python project with subscriptions to the ctrlX Data Layer automatically using Node-RED?

  2. How do I make libcomm_datalayer.so visible to my script when run this way?

Any guidance, examples, or best practices would be greatly appreciated!

Thanks in advance,
Alice

UPDATE: i changed the path from /var/snap/rexroth-automationcore/common/solutions/activeConfiguration/MyProject/main.py to /var/snap/rexroth-ide/common/solutions/activeConfiguration/MyProject/main.py and the error disappeared, but now it displays me another error:

{
    "lastMainDiag": 135208961,
    "lastDetailDiag": 203883266,
    "lastErrText": "Main: Runner could not execute the script. Status Response Code: ERR_FILE_NOT_FOUND",
    "lastErrTrace": [
        "/var/jenkins/workspace/script.manager/private/src/impl/manager/task_manager.cpp",
        "runScript",
        "137"
    ]
}

and on nodered i have a request failed type of error in the create instance on datalayer node, with this message: "CtrlxProblemError: DL_CREATION_FAILED"... but i think it is almost a step back

9 replies