A multilib 64bit Linux OS is system which capable of running 64bit as well as 32bit software. By default, a fresh installation of Slackware64 bit is a multilib-ready. This article will discuss about how to turn our pure slackware64 to be multilib.
In FHS (Filesystem Hierarchy Standards), there is a separation of library, the one for 64bit is located on /lib64 directory while the 32bit on /lib directory. This separation ensure a clean system and the slackware team has chose this for the system.
The 64bit application will look for library on /lib64 hence we said the Slackware64 is a multilib-ready. The 32bit application will look for library on /lib, but Slackware is not shipped with any 32bit software.
Basically, what will we do are:
- switch the glibc (gnu library c) and gcc (compiler) to multilib version.
System libraries are taken from 32bit Slackware and installed in the 64bit Slackware system which completes the process of creating a 32bit software layer.
We will use the simplest but work method.
Create a working directory. In this article I will use /tmp for that. You might use other directory if you want. Change to that directory and then invoke this command.
lftp -c 'open http://slackware.com/~alien/multilib/ ; mirror 14.0'
That command will download required packages to build multilib system. Wait until the download finished.
Now upgrade the glib and gcc to multilib system (the downloaded one) with this command:
upgradepkg --reinstall --install-new *.t?z
Now proceed with this if you download the directory slackware64-compat32 (in the default you do):
upgradepkg --install-new slackware64-compat32/*-compat32/*.t?z
Congratulations, now your system is Slackware64 multilib-enabled. Now you can download and run any 32bit applications.
For you who use package manager such as slackpkg, you need to add glibc and gcc packages names to blacklist. Otherwise, you have a chance that your multilib version is replaced with pure 64bit version.
Edit /etc/slackpkg/blacklist and add this line:
When you want to install a 32-bit package to multilib Slackware and want to make sure that the system is not tainted, you can do following:
convertpkg-compat32 -i <package>
The script then check the package for compatibility and then make the compatible package for you to install.linux, slackware