Multiarch
Bit of a nuisance actually. But here is how to make the best of it. Multi arch is a way to get both amd64 en i386, or 64 and 32 bits software alongside eachother on a linux system. I hope some day just all software is available in 64 bits versions, but as an example, oracle-xe for debian is solely available as 32 bit and that presented a number of problems.
- It depends on bc:i386, while bc:amd64 was installed.
- cups however was completely 64 bits, and relied on bc(:amd64)
- reverting cups to cups:i386 looked like an option ...
- but cups relies on ssl-cert, and there is no ssl-cert:i386 version available
So were fucked, it's probably only resolvable by compiling a 32 bit version of cert-ssl. But i chose to do without cups for a while and print over a windows VM. And no .... you cannot have cups:i386 AND cups:amd64 alongside !!
ia32-libs
This is a way to run 32 bits libraries on 64 bits linux systems. But it is just one gigantic library containing all supported libraries compiled with -m32. So it's source has become a tarball of 550MB and growing. Multi-arch is a solution to this problem, by giving a way for makers pf libraries and software to provide both an i386 and an amd64 version without putting anything into ia32-libs. Still it is probably best for some time to install ia32-libs for the code that isn't multi-arch yet. See the spec for a detailed description of this, and also on how to make multi-arch packages.
installation
When i installed debian 64 bits, when you startup aptitude you just get plain names for all packages: all are amd64 architecture. But of course soon we need a 32 bit program, in this case skype... And the first step is making the packaging system multi-arch aware:
Startup aptitude again and search for a package, say : vim-tiny. You will find a vim-tiny and a vim-tiny:i386 ti install. So that's drawback 1: you have to search longer for the packages you need. apt-get update
Startup aptitude again and search for a package, say : vim-tiny. You will find Conversely :
Would remove it again, untried so i don't know if it will remove i386 packages. I don't see however why it would, you try it.
current architecture
| print arch | |
|---|---|
In my case, it was a debian 64 bits that was installed, so it prints :
| output | |
|---|---|
In all probability, packages in an i386 architecture will be named package and package:amd64. Because now they are called "package:i386" and just "package" And i have no doubt that these installs do the same :
Converting your package for multiarch
Later....