Welcome to Eric Hameleers (Alien BOB)'s Wiki pages.
This is an old revision of the document!
Feel free to leave comments, suggestions and constructive feedback about using multilib on Slackware64.
— Eric Hameleers, Fri Aug 14 15:10:17 UTC 2009
I made a Multilib Slackware following your instructions (Slackware64-current on a Lenovo Thinkpad T61) and it works – indeed
Now I'm able to use Skype and Adobe Reader.
Many thanks, keep up the good work
— Didier Spaier, Paris, le 26 août 2009 à 22h58
1. Why multilib gcc/glibc are not default, or at least put in “testing” or “extra”, in Slackware64?
Pat Volkerding decided that the first release of Slackware64 should be pure 64bit. There was a small change to the specs file in gcc and our binutils are essentially multilib, but out of the box there is no support at all for 32bit applications (running nor compiling them).
When I started working on the 64bit port, I discussed with Pat (and the rest of the team too btw) about the possible architecture options for this new port. There were a few paths I could follow; first the pure 64bit approach using lib instead of lib64 directories (Bluewhite64 does this) or doing full multilib (like Slamd64 does). Pat was opposed to a multilib approach (not too strange, considering that at that point there was the risk that nobody would want a 32bit Slackware once the multilib Slackware64 was released), but I was opposed to doing a pure-64bit port. I really dislike the ugliness of the Bluewhite64 concept which has some sort of 32bit “emulation” dumped on top. It does not earn a prize for elegance.
In the end, I decided on a compromise, and that was to make my port multilib-ready. That way, it would be relatively easy to add that layer later on.
When I was well underway with the port, it became clear that 32bit OS'es would be in demand for a longer time than initially expected, because it is obvious that the netbook market shows a tremendous growth. And most of these netbooks have 32bit CPUs. Those that come with 64bit CPUs have a higher energy demand so I expect that they will not cover a large percentage of netbook sales. So, the fear that our 32bit Slackware will be obsoleted by the 64bit port is pretty much gone now.
Perhaps the next release of Slackware64 will have a full multilib capability out of the box. At a minimum, it would be great to have multilib versions of gcc and glibc onboard. We can not anticipate what 32bit packages anyone would need, but adding ”-compat32” packages is an easy task for the Slackware64 user.
So far, I have only one machine where I want multilib, because I want to use Wine and Skype on it. On average, pure64 suits me fine.
2. Does the method you described works for installing and then using GRUB to boot Slackware64 system?
Sure, you can build and install grub now. But… you do not need multilib Slackware64 to be able to use grub, as long as you have another 32bit Linux on that same computer. After you've installed grub using that other Linux OS (32bit Slackware for instance) you can add a section to your menu.list for Slackware64.
— Eric, Sun Aug 30 19:56:22 UTC 2009
Thanks to feedback from samac and Daedra in the Slackware forum at http://linuxquestions.org/ I made some changes to the compat32-tools package. A new package will be created by the
massconvert32.sh script (cxxlibs-compat32) while the
convertpkg-compat32 was updated so that the qt-compat32 package no longer overwrites several symlinks in /usr/bin that belong to the 64bit qt package.
— Eric, Tue Sep 1 00:05:00 UTC 2009
Excellent and well written guide, thank you very much! My only suggestion is to put a note somewhere that after setting up
multilib, it may be necessary to reinstall NVIDIA drivers, otherwise things like wine tend to crash.
— Andy, Mon Sep 7 14:11 UTC 2009
Thanks for the hint Andy. I added an extra “Caveats” section in the main article to reflect this.
— Eric, Mon Sep 7 15:25:09 UTC 200
Thanks for the guide. I managed to install wine with this guide. One small comment though: “convertpkg-compat32 /path/to/mesa-7.5-i486-1.txz” does not work, the correct command is “convertpkg-compat32 -i /path/to/mesa-7.5-i486-1.txz”.
— Frank van der Loo, Tue Feb 2 13:24:43 UTC 2010
Thanks for great job.
I tried to compile transmission torrent client for i486 and met with trouble: /usr/include/curl/curlbuild.h contain this definition:
156-/* The size of `long', as computed by sizeof. */
157:#define CURL_SIZEOF_LONG 8
Therefore some headers are not arch independent. It was bad surprise for me.) As temporary solution I had installed a curl-7.19.6-i486-1.txz package from slackware32-13.0 and compiled transmission successfully.
— Magras, Mon Jul 26 22:31:43 UTC 2010
Thanks Eric, your solution is simply great! I just want to signal that i had to add the line /usr/lib/seamonkey to the file /etc/ld.so.conf to make a 32 bit program that need libnss3.so to work on my brand new multilib system. Maybe it would be nice to add this information to your otherwise perfect wiki.