LWN.net Logo

Debian multiarch support

Debian multiarch support

Posted May 30, 2006 7:31 UTC (Tue) by dmaas (guest, #38073)
Parent article: Debian multiarch support

I am glad to see more attention brought to this issue.

I maintain a network of 32- and 64-bit x86 systems for my company. For various reasons it is highly desirable for all systems to run the same disk image (except the kernel, of course). We want to run a handful of computation-intensive software in 64-bit mode on the systems that support it, but everything else can be 32-bit.

I started with a plain 32-bit Debian system and manually added in a few pieces from 64-bit Fedora Core (mainly /lib64 and /usr/lib64) - just enough of the basic libraries to run the computation-intensive 64-bit packages.

It has worked out surprisingly well. I did notice one problem the article points out, which is conflicting binaries in /bin and /usr/bin. I had to install 64-bit versions of certain low-level tools like modprobe, strace, and ps to support the 64-bit systems. I did this by renaming the 32-bit versions to modprobe32, strace32, etc, appending similar suffixes to the 64-bit versions, and writing wrapper scripts which picked the right version to run on a particular machine. Thankfully there were only a handful of these cases.

The other nasty issue was glibc headers. The contents of /usr/include/asm and /usr/include/bits are platform-specific. I followed RedHat's model of installing both x86 and x86_64 headers with different names and picking the right one using small "stub" headers. I wish glibc would install its headers in a more platform-neutral manner.

(incidentally, some of you might want to read up on Plan 9, which solved this problem years ago :)


(Log in to post comments)

Copyright © 2012, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds