Linux - GeneralThis Linux forum is for general Linux questions and discussion.
If it is Linux Related and doesn't seem to fit in any other forum then this is the place.
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
Is it possible to create a multi-lib system from a pure-64 system?
Or do I need a multi-lib system to start with?
Or how about from a pure-32 system? Although I guess that should be harder than from pure-64, as the 64-bit stuff can't be run on that system.
I just tried welding stuff together by copying some essential stuff from the 32-bit version of my distro into the 64-bit version, and with a lot of tinkering I actually managed to get an executable, but then I got an error when I tried to actually execute it.
So, any advice would be good, especially if I need a multi-lib system to start with or not.
No, it doesn't.
I have two versions of my distro. One is 32-bit and the other is 64-bit. There is no multi-lib.
I have been thinking to add the possibility of a multi-lib install to the 64-bit version, but for that I guess I'll have quite a bit of work to do.
The whole thing is LFS-based, but with several adjustments here and there.
Well, my PC and my notebook run Fedora. But I am working on my own distro based on LFS, called EasyLFS.
Thus far, as said, I have both a version for 32-bit and 64-bit, but would like to have multi-lib on the 64-bit version.
I never tried LFS, but a quick google of Multilib and LFS leads to many pages that tend to focus you toward http://trac.cross-lfs.org/
I'm sure you could follow the example of some other Multilib distribution and do it yourself, but since there is a guide for making your own from LFS, you ought to look at it.
There is a standard approach to x86_64 multilib in RedHat based distributions and a different basic approach in Debian based distributions. I don't know if there are third ways out there (the main RedHat vs. Debian difference in x86_64 multilib approach is pretty fundamentally a two way choice). So if you copy another distribution, be at least aware of which side of that divide you are sitting on.
If you are making your own distro, unless you have wide distribution planned, it's seems better to just do everything in 64 bit. It may be better that if you have a select few programs that use 32 bit only (e.g. programs with assembly language) then you figure out how to run only those programs on your 64 bit platform. Multi Lib is nasty business especially for the end user that may want to compile software you don't offer.
Multi Lib is nasty business especially for the end user that may want to compile software you don't offer.
At home I use 64bit Mepis, which is based on Debian and does x86_64 multi lib the Debian way. I download source project and just use their ordinary build and install scripts, even projects that were not tested on any 64 bit or multi lib platform by their developers. That process acts exactly as it would in a pure 64bit distribution. Some projects just work. Some projects need minor edits to their build or source code because something is wrong with them in 64bit. None of those edits are required because Mepis is multi lib. All of those same edits would be required in a pure 64 bit distribution.
I also have downloaded and installed 32bit binary packages, which the Debian multi lib approach makes harder, but not too hard once you learn how.
I also have downloaded source and built 32 bit binaries. The Debian approach to multi lib makes that even harder. I wouldn't know how to do that for any complicated package.
At work I use both 32bit and 64bit Centos. But someone working for me does all the installation of packages. As I understand it, the RedHat approach to multi lib (compared to Debian), makes it easier to install 32bit binaries on a 64bit Centos, but makes it harder to build 64bit binaries from source.
The person installing packages for those systems usually gets lost installing pre built binaries even for 64bit packages, usually because we need the binaries from that program's own web site rather than the older version from Centos (so the dependencies get tricky). So he downloads almost all packages as source and builds 64bit binaries. He always needs to change the build or install scripting (makefiles or whatever other form it is in) to fit the Centos multi lib approach, but never has much trouble with those changes.
We haven't had any need for 32bit binaries on the 64bit Centos systems. When we do occasional testing of 32bit binaries on the 64bit Centos systems, we just network mount the directories from our 32bit Centos systems. But I think actually installing 32bit packages on 64bit Centos would be easier than on 64bit Mepis if we ever wanted to.
Okay, I'm trying it now.
I use my 64-bit LiveCD and will try to compile a multi-lib system roughly following the CLFS-instructions.
If that works I'll have to see how I can cut this down to integrate it into my system and the scripts that create it.
Just to let you folks know, and if anybody ever is looking for it, here's the latest info.
As said I was, or actually still am, trying to build a multi-lib system.
I was unsure if this may be possible from a pure 64-bit system, but from what I can see so far it is, as I have just finished compiling GLibC for 32- and 64-bit.
So, things are progressing and I'll have to see where this takes me, and how I might be able to plug this into the current installation-process. But that's something for later on...