Skip to Content.
Sympa Menu

sm-discuss - Re: [SM-Discuss] From pure amd64 to multilib

sm-discuss AT lists.ibiblio.org

Subject: Public SourceMage Discussion List

List archive

Chronological Thread  
  • From: Sukneet Basuta <sukneet AT gmail.com>
  • To: "sm-discuss @ lists. ibiblio. org" <sm-discuss AT lists.ibiblio.org>
  • Subject: Re: [SM-Discuss] From pure amd64 to multilib
  • Date: Thu, 12 Jan 2012 02:00:59 -0500

On Wed, Jan 11, 2012 at 8:49 PM, flux <flux AT sourcemage.org> wrote:
> We officially do not support multilib. Multilib is a very broken and
> hackish solution to migrating from 32-bit to 64-bit, and has actually
> done more harm to migration than good (it's actually encouraged app
> maintainers to not bother updating their software to be able to build on
> 64-bit, or to not provide 64-bit binaries in the case of binary-only).
>
> 64-bit x86 is *NOT* the same architecture as 32-bit. Yes, there is
> backwards support, but the CPU goes into an entirely different state for
> this. If you want a 64-bit compiler that generates 32-bit output, you
> want a cross-compiler. So no, gcc should not be "fixed". Instead, you
> should either a) set up a 32-bit chroot environment with all 32-bit, or
> b) build a true cross-compiler toolchain in which the tools are built as
> 64-bit but all generate 32-bit.
>
> People should really start thinking of 32-bit x86 and 64-bit x86 as
> being as similar to each other as MIPS-32 is to ARM 32-bit. It would
> help avoid confusions such as this.
>

That's a bit of an extreme comparison, but you are correct. Multilib
systems tend to get messy in my experience.

On Wed, Jan 11, 2012 at 11:48 AM, Ismael Luceno <ismael.luceno AT gmail.com>
wrote:
> There's a problem when trying to bootstrap GCC with multilib support.
> Looks like it requires 32bit glibc... (why in the compiler!?). Am I
> correct or missed something? I think it's a bug to not verify/rebuild
> libc, but I'm not sure how to handle it...
>
> Also, I noticed /usr/include/gnu/stubs-32.h is missing. For building
> applications sometimes it's useful to be able to produce object files
> even if you can't link... so I think we should "fix" glibc to install it
> anyway...

glibc is the standard C library which is required by pretty much every
C program, including parts of gcc.

stubs-32.h should only be included along with stubs-64.h on multiarch
systems. If that is what you want, you need to build a biarch glibc,
but I believe you need a cross-compiler to do that. Or you can try to
install binary packages of glibc.

If you want a multiarch system, I suggest looking into how CLFS does
it and to some extent Gentoo. I'd recommend just setting up a 32-bit
chroot however.




Archive powered by MHonArc 2.6.24.

Top of Page