The chat responses are generated using Generative AI technology for intuitive search and may not be entirely accurate. They are not intended as professional advice. For full details, including our use rights, privacy practices and potential export control restrictions, please refer to our Generative AI Service Terms of Use and Generative AI Service Privacy Information. As this is a test version, please let us know if something irritating comes up. Like you get recommended a chocolate fudge ice cream instead of an energy managing application. If that occurs, please use the feedback button in our contact form!
Skip to content

Troubleshooting

Environment Variable Errors

This kind of error occurs, if the user did not setup the host environment properly e.g. via the setup guideline or manually by setting the host environment variables in the .env file accordingly, e.g. like shown below.

# [REQUIRED]
# The users ROS 2 base installation path share directory that contains all standard interfaces including their .msg files.
# This directory has to be be mounted in the ROSie container to be able to lookup all standard types.
# Default: /opt/ros/humble
USER_ROS2_INSTALLATION_PATH=/opt/ros/humble

# [OPTIONAL]
# The user directory where the optionally needed custom interface is installed, e.g. /home/user/ros2_ws/install
USER_ROS2_INTERFACE_INSTALLATION_PATH=/home/user/ros2_ws/install

# [REQUIRED]
# The current directory where this .env file and the whole provided ROSie workspace is located
USER_ROSIE_WORKSPACE_PATH=/home/user/rosie_ws

USER_ROSIE_WORKSPACE_PATH

The USER_ROSIE_WORKSPACE_PATH environment variable defines the path to your actual ROSie workspace. Here, the input and output directories as well as the docker-compose.yaml and .env files should be located.

⚠️ Variable Not Defined

If you did not define the ROSie workspace, where the input/output directories are located, the following error will be displayed:

$ rosie -c example_config.yaml
#####################################  ROSie  #####################################
#  Version: 0.2.0                                                                 #
#  Date:    08.05.2025                                                            #
#  Time:    15:49:48                                                              #
#  Copyright © Siemens AG, 2025, and licensors. All rights reserved.              #
#  Portions include Open Source Software. See ReadMe_OSS_0.2.0.html for details.  #
#  The usage for safety-related applications is not intended.                     #
###################################################################################

Environment variable <USER_ROSIE_WORKSPACE_PATH> is not declared.

⚠️ Wrong Workspace

If you provided a workspace path, that is not existing, the following error should be displayed:

$ rosie -c example_config.yaml
#####################################  ROSie  #####################################
#  Version: 0.2.0                                                                 #
#  Date:    08.05.2025                                                            #
#  Time:    15:50:24                                                              #
#  Copyright © Siemens AG, 2025, and licensors. All rights reserved.              #
#  Portions include Open Source Software. See ReadMe_OSS_0.2.0.html for details.  #
#  The usage for safety-related applications is not intended.                     #
###################################################################################

Environment variable path </home/user/non_existing_path> does not exist.

✔️ Possible Solution

As a solution, the install script scripts/install_rosie_environment.sh can be executed, or the environment variable USER_ROSIE_WORKSPACE_PATH (.env file) can be set manually.

USER_ROS2_INSTALLATION_PATH

If you are using standard ROS 2 interface configurations e.g. geometry_msgs/msg/Twist, the USER_ROS2_INSTALLATION_PATH environment variable is crucial for ROSie to locate your standard ROS 2 installation directory.
This variable should point to the root directory of the ROS 2 installation, where all .msg definitions are located.

⚠️ Variable Not Defined

If the USER_ROS2_INSTALLATION_PATH environment variable is not defined, ROSie will not be able to find necessary standard ROS 2 message definitions, leading to errors during gathering all data type information.
The following error message will be displayed:

$ rosie -c example_config.yaml
#####################################  ROSie  #####################################
#  Version: 0.2.0                                                                 #
#  Date:    08.05.2025                                                            #
#  Time:    15:51:23                                                              #
#  Copyright © Siemens AG, 2025, and licensors. All rights reserved.              #
#  Portions include Open Source Software. See ReadMe_OSS_0.2.0.html for details.  #
#  The usage for safety-related applications is not intended.                     #
###################################################################################

Gathering ROS 2 message types information ...
Environment variable <USER_ROS2_INSTALLATION_PATH> is not declared.

⚠️ Wrong ROS 2 Installation Path

If the provided USER_ROS2_INSTALLATION_PATH points to a directory, which does not exist, the output should look like the following:

$ rosie -c example_config.yaml
#####################################  ROSie  #####################################
#  Version: 0.2.0                                                          #
#  Date:    08.05.2025                                                     #
#  Time:    15:52:45                                                       #
#  Copyright © Siemens AG, 2025, and licensors. All rights reserved.              #
#  Portions include Open Source Software. See ReadMe_OSS_0.2.0.html for details.  #
#  The usage for safety-related applications is not intended.                     #
###################################################################################

Gathering ROS 2 message types information ...
Environment variable path </home/user/non_existing_ros2_install_path> does not exist.

✔️ Possible Solution

You can solve those issues by either running the install script scripts/install_rosie_environment.sh or manually setting the environment variable USER_ROS2_INSTALLATION_PATH.
With the manual step, the USER_ROS2_INSTALLATION_PATH variable needs to point to the correct path of your ROS 2 installation. This can be a standard ROS 2 installation like /opt/ros/humble or a custom installation such as /home/user/custom_ros2/install.
Note that the naming extension .../install is important if you are using a custom ROS 2 installation.

USER_ROS2_INTERFACE_INSTALLATION_PATH

In addition to standard ROS 2 message types, you can define and provide custom .msg definitions to ROSie.
Therefore, the environment variable USER_ROS2_INTERFACE_INSTALLATION_PATH has to be set to provide the path to your custom ROS 2 interface installation directory e.g. /home/user/ros2_ws/install.

⚠️ Type Not Found

If you defined custom ROS 2 .msg definitions and the USER_ROS2_INTERFACE_INSTALLATION_PATH environment variable is not defined, ROSie will not be able to find the corresponding custom ROS 2 message definitions, leading to errors during the gathering of all data type information.
An output like the following will be displayed:

$ rosie -c custom_config.yaml
#####################################  ROSie  #####################################
#  Version: 0.2.0                                                                 #
#  Date:    08.05.2025                                                            #
#  Time:    15:53:36                                                              #
#  Copyright © Siemens AG, 2025, and licensors. All rights reserved.              #
#  Portions include Open Source Software. See ReadMe_OSS_0.2.0.html for details.  #
#  The usage for safety-related applications is not intended.                     #
###################################################################################

Gathering ROS 2 message types information ...
Could not find ROS 2 type file <custom_msgs/msg/CustomType.msg>. Make sure the ENV variable <USER_ROS2_INTERFACE_INSTALLATION_PATH> is set if you provided a custom ROS 2 interface in the YAML config.

✔️ Possible Solution

You can solve those issues by either running the install script scripts/install_rosie_environment.sh or manually setting the environment variable USER_ROS2_INTERFACE_INSTALLATION_PATH.

Usage Errors

As ROSie is a command line tool, errors can occur easily and therefore, the following common errors can occur.

Ownership of start-rosie Script

It could occur that the start-rosie script in /usr/local/bin has a problem with the ownership when using the binary installer.

$ start-rosie
/bin/bash: /usr/local/bin/start-rosie: Permission denied

✔️ Possible Solution

You can fix it changing the ownership of the script:

sudo chown $USER:$USER /usr/local/bin/start-rosie

No Configuration File

⚠️ ROSie is used with the --config [-c] parameter but without the required YAML configuration file name.

$ rosie -c
#####################################  ROSie  #####################################
#  Version: 0.2.0                                                                 #
#  Date:    08.05.2025                                                            #
#  Time:    15:54:01                                                              #
#  Copyright © Siemens AG, 2025, and licensors. All rights reserved.              #
#  Portions include Open Source Software. See ReadMe_OSS_0.2.0.html for details.  #
#  The usage for safety-related applications is not intended.                     #
###################################################################################

Invalid option provided: missing argument for -c

✔️ Provide the exact name of the YAML configuration file that your want to use and which is placed in the input directory of your ROSie workspace.

Wrong Configuration File Name

⚠️ ROSie is used with the --config [-c] parameter and a non-existing YAML configuration file.

$ rosie -c non_existing_config.yaml
#####################################  ROSie  #####################################
#  Version: 0.2.0                                                                 #
#  Date:    08.05.2025                                                            #
#  Time:    15:54:51                                                              #
#  Copyright © Siemens AG, 2025, and licensors. All rights reserved.              #
#  Portions include Open Source Software. See ReadMe_OSS_0.2.0.html for details.  #
#  The usage for safety-related applications is not intended.                     #
###################################################################################

YAML configuration file <non_existing_config.yaml> does not exist in workspace input directory.

✔️ Provide the name of a YAML configuration file name, which file exists in the ROSie workspace input directory.

No PSC File

⚠️ ROSie is used with a valid YAML configuration file as well as the --psc_file [-t] parameter, but without a corresponding .psc file name.

$ rosie -c example_config.yaml -t
#####################################  ROSie  #####################################
#  Version: 0.2.0                                                                 #
#  Date:    08.05.2025                                                            #
#  Time:    15:55:27                                                              #
#  Copyright © Siemens AG, 2025, and licensors. All rights reserved.              #
#  Portions include Open Source Software. See ReadMe_OSS_0.2.0.html for details.  #
#  The usage for safety-related applications is not intended.                     #
###################################################################################

Invalid option provided: missing argument for -t

✔️ Provide a .psc file, that exists in the ROSie workspace input directory.
Note that this parameter combination only makes sense with the use of the --non_interactive [-y] flag to go through the whole generation process without user interaction.

Wrong PSC File Name

⚠️ ROSie is used with a valid non-interactive parameter combination but with providing a .psc file name, that either does not exist in the input directory or is spelled wrong.

$ rosie -y -c example_config.yaml -t non_existing_project.psc
#####################################  ROSie  #####################################
#  Version: 0.2.0                                                                 #
#  Date:    08.05.2025                                                            #
#  Time:    15:57:11                                                              #
#  Copyright © Siemens AG, 2025, and licensors. All rights reserved.              #
#  Portions include Open Source Software. See ReadMe_OSS_0.2.0.html for details.  #
#  The usage for safety-related applications is not intended.                     #
###################################################################################

TIA project .psc file <non_existing_project.psc> does not exist in workspace input directory.

✔️ Provide a .psc file, that exists in the ROSie workspace input directory or is spelled correct.

Missing PSC File in Non-Interactive Mode

⚠️ ROSie is used in non-interactive mode (-y), which requires the .psc file an additional argument.

$ rosie -c example_config.yaml -y
#####################################  ROSie  #####################################
#  Version: 0.2.0                                                                 #
#  Date:    08.05.2025                                                            #
#  Time:    15:58:54                                                              #
#  Copyright © Siemens AG, 2025, and licensors. All rights reserved.              #
#  Portions include Open Source Software. See ReadMe_OSS_0.2.0.html for details.  #
#  The usage for safety-related applications is not intended.                     #
###################################################################################

The argument --psc_file [t] and .psc file name must be set in non-interactive mode.

✔️ Extend the command with the parameter --psc_file or -t plus the name of the .psc file you want to use and which is placed in the ROSie workspace input directory.

Wrong PSC File For Provided YAML Configuration

⚠️ ROSie is used in non-interactive mode with a YAML configuration, that does not match the provided .psc file. Therefore the ROSie API code fails to compile.

$ rosie -y -c project_1.yaml -t project_2.psc
#####################################  ROSie  #####################################
#  Version: 0.2.0                                                                 #
#  Date:    08.05.2025                                                            #
#  Time:    15:59:28                                                              #
#  Copyright © Siemens AG, 2025, and licensors. All rights reserved.              #
#  Portions include Open Source Software. See ReadMe_OSS_0.2.0.html for details.  #
#  The usage for safety-related applications is not intended.                     #
###################################################################################

Gathering ROS 2 message types information ...
Generating PLC code ...
Generating ROSie API library and ROS 2 package ...
Could not generate ROSie API code.

✔️ Provide a .psc file, that was previously generated with the same YAML configuration based PLC code.