Chapter 11. Installation Troubleshooting

11.1. No eCosPro menu group

Occasionally the eCosPro Menu Group or menu items will not display immediately after installation on Linux Hosts. Normally logging out and back in or restarting the X session resolves this issue. In some instances, a refresh of the menu cache may also be necessary. For example:

Figure 11.1. Ubuntu Gnome Menu Cache Refresh

test@ubuntu:~ > sh -c "/usr/share/gnome-menus/update-gnome-menus-cache \
  /usr/share/applications/ > /usr/share/applications/desktop.${LANG}.cache && \
  killall gnome-panel"

The eCosPro installer uses XdgUtils to make every effort to install the menu group and associated menu items. Unfortunately, some Linux distributions do not follow open standards, creating their own unique way of providing menus. Regrettably in such instances the eCosPro Menu group and items will not be automatically created. The user must either create the menu items themselves, referring to the documentation specific to their Linux distribution, or they may simply ignore the lack of menus and start the eCosPro tools by hand, referring to the eCosPro User Manual and eCosPro Eclipse manuals.

11.2. Application fail to start

11.2.1. Missing shared libraries (Linux only)

The symptom of this issue is applications failing to start when run from the command line, when selected from the menu, or when run from Eclipse (which may give misleading errors such as “Unable to determine gdb version”.)

Some eCosPro Host Tools and Toolchains require the use of shared libraries, which if not installed will result in the failure of the tool to start. While eCosCentric endeavours to minimise dependencies of the binary executables it provides on specific versions of shared libraries, sometimes it is not always possible or practical. If your distribution does not provide the required version of shared library in its standard installation, you will need to specifically install the missing shared libary. Although the eCosPro installer does attempt to determine missing dependencies and report these during the installation (for example, in automated or unmanned installations), this is not always possible.

As an aid to determine if there are shared libraries required but not installed, the script test-shlib.sh exists in the bin sub-directory of the eCosPro Host Tools and may be passed the name of an executable to test. It will report if there are any shared libaries required by the executable but are not installed. For example:

$ cd /opt/ecospro/ecoshosttools-4.0.2.1/bin/
$ ./test-shlib.sh configtool
The following shared libraries are not installed but are required in order to run configtool:
libpng12.so.0
$

No output is produced if all required shared libraries are installed.

To install libpng12.so.0, here are some examples for various distributions:

$ sudo zypper install libpng12-0       # openSUSE 
$ sudo apt-get install libpng12-0      # Ubuntu
$ sudo yum install libpng12            # Fedora

Alternatively, simply executing the command from a command line will often gives you an error of which shared libraries are missing:

$ cd /opt/ecospro/ecoshosttools-4.0.2.1/bin/
$ ./configtool
configtool: error while loading shared libraries: libpng12.so.0: cannot open shared object file: \
            No such file or directory

In some cases, your distribution may not provide the version of shared library required for the release you are running. In these instances you may need to add a back-port repository or source the library from an alternate location. For example, Ubuntu 24 ships with the libncurses6 shared library but the gdb provided with version 4.x of the eCosPro GNU Tools uses the libncurses5 shared library. In order to install libncurses5 through apt the focal-security Suite must first be added to the list of software sources.

Should you be unable to resolve a dependency on an older library. please email .

11.2.2. Eclipse or Help fail to start

Eclipse and the Eclipse help system require at least 1GB of memory in order to run. If your workstation or host environment do not have at least 1GB of available memory, when Eclipse or Help is run java will exit with an error. When run from either the command line or from a menu item, the host environment will report the error, otherwise if Help is run from within the GUI configuration tool, it will fail silently.

The solution is to either add additional memory to the host platform or to exit running applications to free memory.

In rare instances, the version of Eclipse provided alongside eCosPro may also require shared libraries or a specific version of cross- platform widget toolkit (e.g. GTK for your distribution's GUI). In these circumstances it is recommended that you download and install Eclipse from https://www.eclipse.org/ and install the eCosPro CDT plug-in into this installation.