AnsweredAssumed Answered

Installing LPCXpresso on Linux

Question asked by LPCware Support on Mar 31, 2016

Due to the huge variation in capabilities of different Linux distributions, LPCXpresso is only tested and supported on recent distributions of Ubuntu and Fedora. The LPCXpresso IDE *may* work on other distributions but we cannot provide support if it does not.

 

The installer is supplied as an executable that installs the LPCXpresso IDE components. The installer requires root privileges, although, once it is installed, no special privileges are required to run the LPCXpresso IDE. The installer will request a super-user password when it is started. Once installation has completed, we strongly recommend that your system is restarted -- if you do not do this then some areas of the tools may not function correctly. The installer should be started from the command line, but will switch to GUI mode once the super-user password has been entered.

 

Installation on 64-bit distributions

 

The LPCXpresso IDE is a 32-bit product. For 64-bit versions of Linux, the 32-bit compatibility components must be installed.

Note: All of these components must be installed, otherwise the installation program will not run and the LPCXpresso IDE will not function correctly. To install these components from the command line, follow the instructions given below for your distribution.

Ubuntu 13.10 or later

Ubuntu 13.10 no longer provides a convenient method to install all 32-bit compatible libraries, so they must all be installed individually. Those that are required for LPCXpresso 7 are as follows:

 

    sudo apt-get install libgtk2.0-0:i386 libxtst6:i386 libpangox-1.0-0:i386 \
    libpangoxft-1.0-0:i386 libidn11:i386 libglu1-mesa:i386 \
    libncurses5:i386 libudev1:i386 libusb-1.0:i386 libusb-0.1:i386 \
    gtk2-engines-murrine:i386 libnss3-1d:i386

 

Ubuntu 13.04 or earlier

Ubuntu 13.04 and earlier provides a convenient method to install 32-bit compatible libraries. They can be installed using the following command:

 

  sudo apt-get install linux32 ia32-libs

 

Fedora

First update the operating system:

 

  sudo yum update

 

Then install the following 32-bit libraries:

 

    sudo yum install gtk2.i686 glibc.i686 glibc-devel.i686 libstdc++.i686 \
    zlib-devel.i686 ncurses-devel.i686 libX11-devel.i686 libXrender.i686 \
    libXrandr.i686 libusb.i686 libXtst.i686 nss.i686

 

Note: Under Fedora 23 and 24, the LPCXpresso IDE installer will fail with an error in Bind. As of LPCXpresso IDE v8.2 release, this issue is still under investigation.

 

Other Linux Distros

While not officially supported, the LPCXpresso IDE has been reported to work on many other Linux Distros, including Linux Mint, openSUSE and Debian. When attempting to run on these Distros, remember that LPCXpresso is a 32-bit application and so various 32-bit compatible libraries must be installed. These include:

 

    libgtk2.0-0:i386 libxtst6:i386 libpangox-1.0-0:i386 libpangoxft-1.0-0:i386 \
    libidn11:i386 libglu1-mesa:i386 libncurses5:i386 libudev1:i386 \
    libusb-1.0:i386 libusb-0.1:i386 gtk2-engines-murrine:i386 \
    libnss3:i386

 

Note: The glibc 2.15 shared library is also required.

We are unable to provide assistance when installing on other Distros, but the NXP Community forum at LPCXpresso IDE  is a good place to search or post questions.

 

Post-installation issues

 

GTK3 Incompatibility

Recent versions of the GTK 3 graphical user interface library interact poorly with LPCXpresso IDE, causing both “Import project(s)” and “New project…” operations to stall while the data is unzipped..

 

This library is used in most versions of Gnome and Unity desktops, as used in the unmodified Ubuntu 16.04 distribution (and perhaps others). The incompatibility can be avoided by setting the environment variable SWT_GTK3 to the value “0” before LPCXpresso is run.

 

For example, it could be run on the command line using:

 

   SWT_GTK3=0 /usr/local/lpcxpresso_8.2.0/lpcxpresso/lpcxpresso

Note: Setting SWT_GTK3 more generally (for example in your .bashrc script) will prevent other graphical programs from making use of GTK3.

 

dfu-util fails to run

On some Linux systems, when booting LPC-Link or LPC-Link2, the supplied version of dfu-util may fail to execute. To resolve this you may need to install an additional component:

 

    sudo apt-get install libusb-0.1-4:i38

 

This should only be installed on systems where dfu-util fails to run.

 

Connection Refused error

On some Linux systems, when starting a debug session a *"Connection refused"* error may be displayed. This happens because a critical system library is not installed where we expect to find it.

To resolve this issue, open a Terminal Window and execute the following commands (if running a 64-bit version of Linux, you must first install the 32-bit compatibility libraries as described above).

Note: The actual location of this library may depend on the distribution and version of Linux you are running.

 

Ubuntu:

 

    cd /lib/i386-linux-gnu
    sudo ln -sf libudev.so.1 libudev.so.0

 

Fedora:

 

    cd /usr/lib/
    sudo ln -sf libudev.so.1 libudev.so.0


Ubuntu-specific issues

When using the Unity interface, there may be an issue preventing some menu items from displaying in the LPCXpresso IDE (this does not affect the 'Classic' interface). To workaround this problem, create a shell script with the following content, and start the LPCXpresso IDE by running this script:

 

    #!/bin/bash
    export UBUNTU_MENUPROXY=0
    /usr/local/<lpcxpresso_install_dir>/lpcxpresso/lpcxpresso

 

Fedora-specific issues

If SELINUX is used, it must be set to "permissive" mode to allow the LPCXpresso IDE to run.

Outcomes