Attention

You are viewing an older version of the documentation. The latest version is v3.3.

Setup Notifications

During ECI setup, various notifications may appear. Explore the topics below to understand the best known resolutions.

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.

../_images/D.png

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]

../_images/044.png

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.

../_images/E.png

To resolve this issue, follow the steps below:

  1. 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

  2. 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
    
  3. 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!.

../_images/F.png

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.

  1. Enable the current user to run Docker without requiring elevated privileges by performing the following commands:

    $ sudo groupadd docker
    $ sudo usermod -aG docker $USER
    
  2. 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.

../_images/G.png

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]

../_images/H.png

Press n to retain the target build cache and exit, or press y to delete target build cache and continue the build.

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 /).

../_images/J.png