Setup Notifications¶
During ECI setup, various notifications may appear. Explore the topics below to understand the best known resolutions.
Contents
CODESYS Linux runtime package not found¶
Note
This notification only appears when CODESYS Software PLC feature option is selected
If you select the CODESYS Software PLC feature option and the CODESYS Linux runtime package is not setup correctly, an error will occur. Follow the initialization steps from the section Setting up ECI Build to prepare the CODESYS Linux runtime.

Build directory already exists¶
If the setup script is not building the target for the first time, the script will prompt: Build directory ecs-base-<poky/deby> already exists. Do you want to clean the cached build? y/[n]

Press n to retain the target build cache, or press y to delete target build cache.
Note
It is advised to delete the target build cache if the target source was modified or the previous build was incomplete. Retaining the target build cache will reduce the build time, but may promote build errors if the target source was modified or the previous build was in complete. If build errors occur, rerun the setup script and choose y at this prompt.
Ensure Docker Engine is installed and running¶
If the Docker Engine has not been properly configured, the setup scrip will prompt: Please ensure Docker Engine is installed and running before continuing this setup
.

To resolve this issue, follow the steps below:
Navigate to the following Docker webpage and use the appropriate guide to install Docker to the Linux build system: https://docs.docker.com/engine/install/ubuntu
After installing Docker, enable the current user to run Docker without requiring elevated privileges by performing the following commands:
$ sudo groupadd docker $ sudo usermod -aG docker $USER
Restart the Linux build system to re-evaluate the group membership. Note: It may be possible to simply log out/in to re-evaluate the group membership, but restarting the system is a guaranteed method.
Current user is not part of Docker group¶
If the current user is not part of the Docker group, the setup script will prompt: Current user is not part of docker group!
.

When the current user is not part of the docker
group, Docker cannot be invoked without escalating privileges. Since the build process cannot handle authentication prompts, it is necessary to add the current user to the docker
group to allow the build process to continue.
Enable the current user to run Docker without requiring elevated privileges by performing the following commands:
$ sudo groupadd docker $ sudo usermod -aG docker $USER
Restart the Linux build system to re-evaluate the group membership. Note: It may be possible to simply log out/in to re-evaluate the group membership, but restarting the system is a guaranteed method.
Docker Daemon cannot reach the registry¶
If the Docker Daemon cannot reach the remote registry, the setup scrip will prompt: Docker daemon cannot reach the registry! Please ensure the proxy settings for Docker are correct before continuing this setup
.

Docker requires access to the internet, specifically the Docker registry, to build containers from Dockerfiles. When Docker cannot access the Docker registry, it is not possible to continue the build since the Dockerfile dependencies cannot be met.
This situation may be the result of many compounding factors, the most common being Docker proxy settings. While it is not possible to cover all solutions, the most common are discussed below.
Method 1: Docker configuration
Modify the Docker proxy configuration at:
~/.docker/config.json
Refer to https://docs.docker.com/network/proxy for more information on values to use.
Method 2: Docker *systemd* service
Modify the Docker systemd service at:
/etc/systemd/system/docker.service.d/http-proxy.conf
Refer to https://docs.docker.com/config/daemon/systemd for more information on steps to perform.
Detected lock files for target¶
Important
Another build of the same target may be in progress! Verify that this scenario is not the cause of this notification before proceeding. Simultaneous multiple builds of the same target is not permitted!
If the setup script is not building the target for the first time, and the previous build was interrupted (i.e. Ctrl + C), it is possible that the Bitbake engine did not properly clean up before exiting. In this situation, the current build is indeterminate and must be cleaned to continue.
When this situation is detected, the setup script will prompt: Build must be cleaned to continue. Proceed? y/[n]

Press n to retain the target build cache and exit, or press y to delete target build cache and continue the build.
System memory below recommended minimum¶
Building ECI requires a substantial amount of memory. When the minimum memory requirements are not met, it is possible for the Linux build system to become unstable and/or encounter build errors. The exact minimum memory required depends on the feature options selected, but as a general rule, observe the Linux Build System for best performance.
When the low memory situation is detected, the setup script will prompt: Do you want to continue the setup? y/[n]

Press n to abort the build, or press y to accept the risk and continue the build.
Important
When building with less than the required memory, it is possible to encounter build errors! These errors are only resolved by increasing the available memory.
Filename length test failed¶
In certain situations, the setup script may prompt Filename length test failed! Could not create filename with length of 200 characters
. This notification occurs when the script is unable to create long file names. Typically, this limitation is a result of filesystem encryption. To resolve this issue, move the entire eci-release
directory to a non-encrypted location (i.e. root /
).
