Multiarch - Debian Wiki
Wiki
FrontPage
RecentChanges
FindPage
HelpContents
Multiarch
Wiki
Comments
Info
Attachments
Multiarch
Translation(s)
Brasileiro
- English -
Русский
Debian multiarch support
This page discusses how multiarch support was originally added to Debian. For other multiarch topics, see
the multiarch category
Multiarch was a significant and powerful development in Debian history, introduced in Ubuntu Natty and Debian Wheezy. The immediate practical effects were to get rid of the
ia32-libs
package, and to allow proper cross-architecture dependencies for cross-building.
The current solution supports co-installation of libraries and headers for different architectures, but not (yet) binaries. So you can have either the i386 version of a binary, or the amd64 version, but not both (using conventional /bin paths). All the dependencies will be installed and available for the corresponding binary.
Documentation
These documents define the implementation and should contain everything you need to know.
The case for multiarch
Why are we putting ourselves through all this pain? Isn't lib64 good enough for everyone?
Multiarch package manager specification
Main spec, detailing how files are laid out, how dependencies are defined, and how it works in combination with apt and dpkg
Multiarch/Tuples
. The tuple schema used for multiarch paths (instead of GNU triplets).
Multiarch HOWTO for users
User-oriented info on how to use multiarch: configuration, installation, cross-building.
Multiarch conversion howto
A maintainer-oriented document detailing how you can convert your library package over for multiarch paths.
Bootstrapping
The process/ordering/timeline for getting Debian unstable multiarched.
Issues for tools
The conversion process can produce problems for tools using apt or dpkg and these can be documented here.
Multiarch Cross-building Specification
How multiarch is used for cross-building, including the extensions to support cross- build-dependencies
Linker and multilib behaviour
Explanatory details on the linker, gcc, libc and multilib. Not strictly speaking part of the multiarch spec, but it explains why it works, and clarifies discussion on future developments.
There are many other now-superceded documents. Links exist below for anyone who cares about the history of development.
Resources
IRC channel:
#multiarch
on irc.debian.org (OFTC).
There is no specific mailing list. Discussion is on lists/channels of affected packages and tools, such as dpkg, apt, gcc and general development lists (e.g. debian-devel)
Current Status
Debuting in Ubuntu Natty and Debian Wheezy.
Apt support is in Debian Squeeze and Ubuntu Maverick
Patches for gcc, eglibc, and a number of base libraries are available in Ubuntu natty.ch
Dpkg support is available starting from version 1.16.2.
Tuple tool:
Future development
Adding support for co-installable binaries is a probable future extension, but is not part of the scope of the current multiarch work (in order for it only to take 7 years, not 15).
Multiarch makes various things possible or even easy: cross architecture dependencies, cross-compilers in the archive, partial architectures. A meeting held at debconf11 discussed these issues.
Multiarch/Debconf11MultiarchRelatedMinutes
History
The genesis of Multiarch has been (very!) long, and the proposal has changed significantly along the way. Here are some of the dates when things happened, with links to the documents written at the time. These have all been superceded by the docs reference above.
2011.02.22
Multiarch discussion at Emdebian meeting
- Dpkg starts being multiarch aware.
2011.02.15
Multiarch tuple spec proposed to LSB working group
2010.09
Multiarch-ready apt (v0.8) has made it into squeeze. Dpkg wasn't quite ready unfortunately.
2010.08.04
At Debconf10 we thrashed out a
proposal for new ABI names
which are necessary to implement multiarch correctly
2010.06.30
Discussion at the Linaro/Ubuntu sprint in Prague produced this very useful document on
how compilers, paths, linkers, and loaders fit together
2009.07.25
The info below is out of date and for historical value. See
MultiarchSpec
for the current cross-distro work.
2008.06.23
Multiarch patches for dpkg 1.14.20 updated and uploaded to the Debian Multiarch Alioth Project patch tracker. Adds MA support except for dependency tracking.
2006.02
FOSDEM Multiarch meeting
2005.07
Multiarch talk at Debconf 5
2004.05
Multiarch BOF at Debconf 4
Old Resources
Forums
Debian Multiarch Alioth Project
debian-multiarch alioth mailing list
Documents
Tuple Naming Proposal
A proposal to implement a new tuple schema instead of GNU triplets for multiarch paths. The current tuple schema can be found at
Multiarch/Tuples
Multiarch Implementation Strategy Assessment
pdf
dpkg2.0 design document
pdf
tfheen's proposal from 2004/05/30
upstream standards proposal
Minutes of the informal multiarch meeting at FOSDEM 2006
Talks
debconf4 - Multiarch: why and how, a proposal - June 1, 2004 - Tollef Fog Heen, Matt Taggart - Porto Alegre, Brazil
html
pdf
debconf5 - Multiarch a proposal and an implementation - July 10, 2005 Tollef Fog Heen
html
Video:
mpeg
ogg
debconf5 - Freezing HEL Over (dpkg2.0)- July 15, 2005 Scott James Remnant
mpeg
ogg
IRC discussions
#debian-devel in February 2004
#debian-tech in September 2005
an interesting -rpath
thread
the way to go
needed preparations for etch dpkg
needed preparations for etch toolchain
CategoryMultiarch
Multiarch (
last modified 2025-05-01 21:57:16
Changes made after 24 July 2025 00:00 UTC are available under
Creative Commons Attribution-ShareAlike 4.0 International
unless otherwise noted.
Debian
, Wiki
team
bugs
and
config
MoinMoin
and
Python
, with hosting provided by
Metropolitan Area Network Darmstadt
US