MPLAB® X IDE and the MPLAB XC 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 hopefully 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:
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:
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.
|ia32-libs||32-bit runtime libraries. Only for 64-bit distributions without multiarch support|
|libc6:i386||Embedded GNU C Library||libc.so, libdl.so, libm.so, libpthread.so, librt.so|
|libx11-6:i386||X11 client-side library||libX11.so|
|libxext6:i386||X11 miscellaneous extension library||libXext.so|
|libstdc++6:i386||GNU Standard C++ Library||libstdc++.so|
|libexpat1:i386||XML parsing C library||libexpat.so|
Distribution Specific Notes
Ubuntu 14.04 and later
libc6: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
Installer script can't detect 32 bit libraries on this platform.
Work around suggested by a user:
In the installation script function 'check32BitLibraries()' search for:
echo Check for 32 Bit libraries
for lib in $@
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:
ldconfig -p | grep $lib | grep 386
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.
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:
rpm -qa | grep 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.
Table of Contents