Installation Dependencies on 64-bit Linux®

Last modified by Microchip on 2023/11/09 09:11

Requirements

MPLAB® X Integrated Development Environment (IDE) and the MPLAB XC C Compilers are 32-bit applications, so to run them on a 64-bit system with a 64-bit Linux® distribution, you may need to install additional packages from your distribution's repository.

For better or worse, there is still quite a bit of variation among 64-bit Linux distributions with respect to their support of 32-bit applications and exactly which libraries are installed or required by default. The information on this page will allow you to successfully install and run MPLAB X IDE and the MPLAB XC Compilers on a 64-bit Linux system.

Do I have a 64-bit Linux Installation?

You can determine whether you are running a 64-bit version of Linux by running the following command in a terminal:

>_
uname -m

If the output has 64 at the end (e.g., x86_64), then you have a 64-bit system.

What about 64-bit distributions with multiarch support?

64-bit versions of Debian-based distributions such as Ubuntu, Linux Mint, and their derivatives, and perhaps some others now include multiarch support. Ideally, this means that you don't need to install ia32-libs, though you may still require some 32-bit versions of specific libraries.

You can determine if a 64-bit Debian-based distribution has multiarch support by running the following command in a terminal:

>_
​dpkg --print-foreign-architectures

If the output is i386 you have multiarch support and don't need to install the ia32-libs 32-bit runtime libraries, though you will probably need to install other 32-bit libraries.

What 32-bit libraries/packages do I need to install?

MPLAB X IDE requires the libraries listed below. The MPLAB XC compilers require a subset of these libraries, so if you install them for MPLAB X IDE, you will be all set to use the MPLAB XC compilers as well.

PackageDescriptionLibraries
ia32-libs32-bit runtime libraries. Only for 64-bit distributions without multiarch support 
libc6:i386Embedded GNU C Librarylibc.so, libdl.so, libm.so, libpthread.so, librt.so
libx11-6:i386X11 client-side librarylibX11.so
libxext6:i386X11 miscellaneous extension librarylibXext.so
libstdc++6:i386GNU Standard C++ Librarylibstdc++.so
libexpat1:i386XML parsing C librarylibexpat.so

Back to Top

Distribution Specific Notes

Ubuntu 14.04 and Later

ibc6:i386 is the only one of these packages you will find if you are using Synaptic. These must be installed from the command line using apt-get:

#!
​sudo apt-get install libc6:i386 libx11-6:i386 libxext6:i386 libstdc++6:i386 libexpat1:i386

Fedora

If you try to install without the required libraries, the installer will quit without any warning messages.

Tested on versions 20 and above.

#!
​sudo dnf install libX11.i686 libXext.i686 libgcc.i686 libstdc++.i686 expat.i686

Mageia 4

The installer script can't detect 32-bit libraries on this platform.

A workaround suggested by a user is as follows. In the installation script function, check32BitLibraries(), search for:​

#!
echo Check for 32 Bit libraries
out=0
for lib in $@
do
ldconfig -p | grep $lib | grep 386 > /dev/null
if [ $? -ne 0 ]; then
if [ $out -eq 0 ]; then
echo These 32 bit libraries were not found and are needed for MPLAB X to run:

Change

ldconfig -p | grep $lib | grep 386

to

ldconfig -p | grep $lib | grep -v x86-64

to enable detection.

According to the developers, a fix similar to this will be in the version 2.25 installer script.

Back to Top

Package Installation

Check Installation Status

You may already have one or more of these installed on your system. To determine whether a package is installed on a Debian-based distribution, run the following command in a terminal:

>_
​dpkg -s package

For example: 

dpkg -s libexpat1:i386

For rpm-based systems, the command is:

>_
​dpkg -s package

Installing Required Packages

On Debian-based systems (e.g., Ubuntu, Mint) packages may be installed with apt-get in a terminal window:

>_
​sudo apt-get install package1 package2 packageN

Or they may be installed from your distribution's graphical package manager such as Synaptic, Muon, or the Ubuntu Software Center.

Back to Top