Skip to content Skip to main navigation Skip to footer

How to run IFL on 64-bit Linux distributions

Problem:

Image for Linux does not run on a 64-bit Linux distribution, either by double-clicking the imagel icon in the file manager, or by typing './imagel' in a terminal window. There may be no response or error message when attempting to run the program.

This issue can also affect the ability to install IFL to the distribution or create IFL boot media from the distribution since a missing package can prevent the IFL setup script from running.

Cause:

The 64-bit version of the distribution does not have the 32-bit shared libraries installed. These 32-bit shared libraries are usually not installed by default on 64-bit distributions.

Solutions:

Install the 32-bit shared libraries that IFL requires.  Most 64-bit distributions do not install these by default, but they can be installed after the fact by using the distribution's package manager.  The shared library packages required to accomplish this task will vary by distribution. Some common distributions are covered below.  Prior to version 2.99-00 the CUI version did not require additional libraries.

Some of the packages listed below will depend on other packages, which will also be installed at the same time. The package manager will work out the dependencies and will install what is needed. Installing 32-bit support can use anywhere from about 25 to 270 MiB of additional disk space, depending on the distribution, and what is already installed by default. Command lines to install the packages are listed below for convenience, but a graphical package manager, if available, can also be used.

Important note: The command lines listed below will need to be run as root, or by prefacing them with 'sudo' if the distribution supports/requires it (e.g. sudo apt-get install ia32-libs).

Note: The setup script included with the newer 3.x versions of IFL require one or more of the 32-bit CUI packages in order to run. If you are installing the CUI version of IFL, install the CUI packages for the distribution before running setup. If you are installing the GUI version of IFL, install the the GUI packages for the distribution before running setup (the GUI packages include the required CUI packages).

Note: Having this page open in a browser on the Linux system will allow you to copy & and paste the commands into a terminal (no need to type them in).

 


Article Links

Debian 7.x and older (Debian, Ubuntu, Kubuntu, Linux Mint, etc.)

Ubuntu & Kubuntu 13.10, 14.04, 14.10; Linux Mint 17.x

Ubuntu & Kubuntu 15.04, 15.10, 16.04; Linux Mint 18.x

Ubuntu & Kubuntu 16.10, 17.04, 17.10, 18.04, 18.10; Linux Mint 19.x, 20.0

Ubuntu 19.04, 19.10, 20.04, 20.10, 22.04; Linux Mint 20.1, 21

Debian 8 (jessie)

Debian 9 (stretch)

Debian 10 (buster), Debian 11 (bullseye)

OpenSUSE (as of OpenSUSE Leap 42.3, Leap 15.x)

Fedora (as of Fedora 16 thru 23); CentOS (as of CentOS 7.x); Red Hat (as of RHEL7)

Fedora 25 thru 36; Centos 8.3; Red Hat (as of RHEL8)

Arch Linux 2020.04.01_x86_64


 

Debian 7.x and older (Debian, Ubuntu, Kubuntu, Linux Mint, etc.):

Additional package(s) required (GUI & CUI):  ia32-libs, libncursesw5:i386
GUI: libjpeg62:i386

Additional disk space used:  Up to 270 MiB

Command lines:

apt-get update

Command line GUI: apt-get install ia32-libs libjpeg62:i386 libncursesw5:i386

Command line CUI: apt-get install ia32-libs libncursesw5:i386

 

Ubuntu & Kubuntu 13.10, 14.04, 14.10; Linux Mint 17.x

Additional packages required (GUI & CUI): libstdc++6:i386, lib32z1, libncursesw5:i386

GUI: lib32ncurses5, lib32bz2-1.0, libpng12-0:i386, libjpeg62:i386, libxext6:i386, libxft2:i386, libxinerama1:i386, libxcursor1:i386

Additional disk space used:  Up to 50 MiB

Command lines:

dpkg --add-architecture i386

apt-get update

Command line GUI: apt-get install lib32z1 lib32ncurses5 lib32bz2-1.0 libpng12-0:i386 libjpeg62:i386 libxext6:i386 libxft2:i386 libxinerama1:i386 libstdc++6:i386 libncursesw5:i386 libxcursor1:i386

Command line CUI: apt-get install lib32z1 libncursesw5:i386 libstdc++6:i386

 

Ubuntu & Kubuntu 15.04, 15.10, 16.04; Linux Mint 18.x

Additional packages required (GUI & CUI): lib32z1, libstdc++6:i386, libncursesw5:i386

GUI: lib32ncurses5, libpng12-0:i386, libjpeg62:i386, libxext6:i386, libxft2:i386, libxinerama1:i386, libxcursor1:i386

Additional disk space used:  Up to 50 MiB

Command lines:

dpkg --add-architecture i386

apt-get update

Command line GUI: apt-get install lib32z1 lib32ncurses5 libpng12-0:i386 libjpeg62:i386 libxext6:i386 libxft2:i386 libxinerama1:i386 libstdc++6:i386 libncursesw5:i386 libxcursor1:i386

Command line CUI: apt-get install lib32z1 libncursesw5:i386 libstdc++6:i386

 

Ubuntu & Kubuntu 16.10, 17.04, 17.10, 18.04, 18.10; Linux Mint 19.x, 20.0

Additional packages required (GUI & CUI): lib32z1, libstdc++6:i386, libncursesw5:i386

GUI: libncurses5:i386, libpng12-0:i386, libjpeg62:i386, libxext6:i386, libxft2:i386, libxinerama1:i386, libxcursor1:i386

Additional disk space used: Up to 50 MiB

Command lines:

dpkg --add-architecture i386

apt-get update

Command line GUI #1: apt-get install lib32z1 libncurses5:i386 libjpeg62:i386 libxext6:i386 libxft2:i386 libxinerama1:i386 libstdc++6:i386 libncursesw5:i386 libxcursor1:i386

Command line GUI #2: wget http://mirrors.kernel.org/ubuntu/pool/main/libp/libpng/libpng12-0_1.2.54-1ubuntu1_i386.deb
    (This command will download the libpng12 package and save it to the current folder.)

Command line GUI #3: dpkg -i libpng12-0_1.2.54-1ubuntu1_i386.deb
    (This command will install the downloaded libpng12 package. Must be run from the folder containing the package file.)

Command line CUI: apt-get install lib32z1 libncursesw5:i386 libstdc++6:i386

 

Ubuntu 19.04, 19.10, 20.04, 20.10, 22.04; Linux Mint 20.1*, 21

Additional packages required (GUI & CUI): lib32z1, libstdc++6:i386, libncursesw5:i386

GUI: libpng12-0:i386, libjpeg62:i386, libxext6:i386, libxft2:i386, libxinerama1:i386, libxcursor1:i386

Additional disk space used: Up to 50 MiB

*Linux Mint 20.1 Note: If 20.1 was an upgrade (not a clean install) and usrmerge was not run, use the Linux Mint 20.0 instructions.

Command lines:

dpkg --add-architecture i386

apt-get update

Command line GUI #1: apt-get install lib32z1 libjpeg62:i386 libxext6:i386 libxft2:i386 libxinerama1:i386 libstdc++6:i386 libncursesw5:i386 libxcursor1:i386

Command line GUI #2: wget http://mirrors.kernel.org/ubuntu/pool/main/libp/libpng/libpng12-0_1.2.54-1ubuntu1_i386.deb
    (This command will download the libpng12 package and save it to the current folder.)

Command line GUI #3: dpkg -x libpng12-0_1.2.54-1ubuntu1_i386.deb libpng12
    (This command will extract the package to the libpng12 folder. Must be run from the folder containing the package file.)

Command line GUI #4: cp -P libpng12/lib/i386-linux-gnu/* /usr/lib/i386-linux-gnu/
    (This command will copy the files into the appropriate /usr/lib folder. Must be run from the folder containing the package file.)

Command line CUI: apt-get install lib32z1 libncursesw5:i386 libstdc++6:i386

 

Debian 8 (jessie)

Additional packages required (GUI & CUI): lib32z1 libstdc++6:i386 libncursesw5:i386

GUI: lib32ncurses5 libpng12-0:i386 libjpeg62-turbo:i386 libxext6:i386 libxft2:i386 libxinerama1:i386 libxcursor1:i386

Additional disk space used:  Up to 30 MiB

Command lines:

dpkg --add-architecture i386

apt-get update

Command line GUI: apt-get install lib32z1 lib32ncurses5 libpng12-0:i386 libjpeg62-turbo:i386 libxext6:i386 libxft2:i386 libxinerama1:i386 libstdc++6:i386 libncursesw5:i386 libxcursor1:i386

Command line CUI: apt-get install lib32z1 libncursesw5:i386 libstdc++6:i386

Note: Several additional packages will be installed by command line above. They are dependencies of the packages listed on the command line.

 

Debian 9 (stretch)

Additional packages required (GUI & CUI): lib32z1 libstdc++6:i386 libncursesw5:i386

GUI: lib32ncurses5 libpng12-0:i386 libjpeg62-turbo:i386 libxext6:i386 libxft2:i386 libxinerama1:i386 libxcursor1:i386

Additional disk space used:  Up to 30 MiB

Command lines:

dpkg --add-architecture i386

apt-get update

Command line GUI #1: apt-get install lib32z1 lib32ncurses5 libjpeg62-turbo:i386 libxext6:i386 libxft2:i386 libxinerama1:i386 libstdc++6:i386 libncursesw5:i386 libxcursor1:i386

Command line GUI #2: wget http://ftp.us.debian.org/debian/pool/main/libp/libpng/libpng12-0_1.2.50-2+deb8u3_i386.deb
    (This command will download the libpng12 package and save it to the current folder.)

Command line GUI #3: dpkg -i libpng12-0_1.2.50-2+deb8u3_i386.deb
    (This command will install the downloaded libpng12 package. Must be run from the folder containing the package file.)

Command line CUI: apt-get install lib32z1 libncursesw5:i386 libstdc++6:i386

Note: Several additional packages will be installed by command line above. They are dependencies of the packages listed on the command line.

 

Debian 10 (buster), Debian 11 (bullseye)

Additional packages required (GUI & CUI): lib32z1 libstdc++6:i386 libncursesw5:i386

GUI: libpng12-0:i386 libjpeg62-turbo:i386 libxext6:i386 libxft2:i386 libxinerama1:i386 libxcursor1:i386

Additional disk space used:  Up to 40 MiB

Command lines:

dpkg --add-architecture i386

apt-get update

Command line GUI #1: apt-get install lib32z1 libjpeg62-turbo:i386 libxext6:i386 libxft2:i386 libxinerama1:i386 libstdc++6:i386 libncursesw5:i386 libxcursor1:i386

Command line GUI #2: wget http://ftp.us.debian.org/debian/pool/main/libp/libpng/libpng12-0_1.2.50-2+deb8u3_i386.deb
    (This command will download the libpng12 package and save it to the current folder.)

Command line GUI #3: dpkg -x libpng12-0_1.2.50-2+deb8u3_i386.deb libpng12
    (This command will extract the package to the libpng12 folder. Must be run from the folder containing the package file.)

Command line GUI #4: cp -P libpng12/lib/i386-linux-gnu/* /usr/lib/i386-linux-gnu/
    (This command will copy the files into the appropriate /usr/lib folder. Must be run from the folder containing the package file.)

Command line CUI: apt-get install lib32z1 libncursesw5:i386 libstdc++6:i386

Note: Several additional packages will be installed by command line above. They are dependencies of the packages listed on the command line.

 

OpenSUSE (as of OpenSUSE Leap 42.3, Leap 15.x, Tumbleweed 2022-08)

Additional packages required (GUI): libxine2-32bit, libpng12-0-32bit, libjpeg62-32bit, libXinerama1-32bit, libncurses5-32bit, libXcursor1-32bit

Additional packages required (CUI): libncurses5-32bit

Additional disk space used: Up to 84 MiB

Command line GUI:  zypper install libxine2-32bit libpng12-0-32bit libjpeg62-32bit libXinerama1-32bit libncurses5-32bit libXcursor1-32bit

Command line CUI:  zypper install libncurses5-32bit

Note: Some versions, such as Leap 15.4, may also require the libXft2-32bit package for the GUI version.

 

Fedora (as of Fedora 16 thru 23); CentOS (as of CentOS 7.x); Red Hat (as of RHEL7)

Additional packages required (GUI & CUI):  glibc.i686, libstdc++.i686, ncurses-libs.i686

GUI: libXinerama.i686, fontconfig.i686, libXft.i686, libpng.i686, libjpeg-turbo.i686, libXcursor.i686

Additional disk space used: 25 MiB

Command line GUI:  yum install glibc.i686 libXinerama.i686 libstdc++.i686 fontconfig.i686 libXft.i686 libpng.i686 libjpeg-turbo.i686 ncurses-libs.i686 libXcursor.i686

Command line CUI:  yum install glibc.i686 libstdc++.i686 ncurses-libs.i686

Note: Some of these distro versions may also require the libpng12.i686 package. This will be indicated by an "error while loading shares libraries: libpng12.so.0" error message when starting up 'imagel'. The install command line for that package is:

yum install libpng12.i686

Note: Some versions of Fedora have deprecated yum and the command is redirected to dnf. Additionally, to avoid a transaction check error when installing the GUI libraries you may need to install libpng.i686 separately from the others. For example:

dnf install glibc.i686 libXinerama.i686 libstdc++.i686 fontconfig.i686 libXft.i686 libjpeg-turbo.i686 ncurses-libs.i686 libXcursor.i686

dnf install libpng.i686

dnf install libpng12.i686

 

Fedora 25 thru 36; Centos 8.3; Red Hat (as of RHEL8)

Additional packages required (GUI & CUI):  glibc.i686, libstdc++.i686, ncurses-compat-libs.i686

GUI: libXinerama.i686, libXft.i686, libpng12.i686, libjpeg-turbo.i686, libXcursor.i686

Additional disk space used: 25 MiB

Command line GUI:  yum install glibc.i686 libXinerama.i686 libstdc++.i686 libXft.i686 libpng12.i686 libjpeg-turbo.i686 ncurses-compat-libs.i686 libXcursor.i686

Command line CUI:  yum install glibc.i686 libstdc++.i686 ncurses-compat-libs.i686

 

Arch Linux 2020.04.01_x86_64

Note: All commands below must be run as root or equivalent (e.g. using 'sudo' or 'su').

Due to the way Arch Linux is released, installed, and updated, several additional steps may be required in order to install the required 32-bit libraries and allow the IFL setup script to run. Steps may be skipped if known to already be applied/installed.

  1. Install sudo if needed/wanted (not needed if logging in as root or using 'su'):
    pacman -S sudo

    Note: You may need to add user to sudo group before using sudo.

  2. Install the which utility (required by the IFL setup script):
    pacman -S which

  3. Edit /etc/pacman.conf and uncomment the [multilib] section. You can use any text editor for this step (e.g. nano, gedit):
    gedit /etc/pacman.conf

    Browse near the end of the file and locate the [multilib] section. Uncomment the section by removing the # character from beginning of each line and then save the file. Example:
    [multilib] Include = /etc/pacman.d/mirrorlist

  4. Update the system:
    pacman -Syu

  5. The required 32-bit libraries can now be installed.

Additional packages required (GUI & CUI):  lib32-gcc-libs, lib32-ncurses (v5), lib32-libtinfo (v5)

GUI: lib32-libxcursor, lib32-libxext, lib32-libxft, lib32-libxinerama, lib32-libpng12, lib32-libjpeg6-turbo

Command line GUI & CUI #1: pacman -U https://archive.org/download/archlinux_pkg_lib32-ncurses/lib32-ncurses-5.9-3-x86_64.pkg.tar.xz

Command line GUI & CUI #2: ln -s libncursesw.so.5 /usr/lib32/libtinfo.so.5

Command line GUI #3: pacman -S lib32-libxcursor lib32-libxext lib32-libxft lib32-libxinerama lib32-libpng12 lib32-libjpeg6-turbo

Command line CUI #3:  pacman -S lib32-gcc-libs

Was This Article Helpful?

3