I'm trying to install armel libraries and gcc support on an armhf system. I've installed libc6-dev:armel to get the armel libraries and headers, and now believe that I need to install gcc-multilib to get gcc to use them (when -mfloat-abi=softfp is specified). However, the package installation fails:
$ sudo apt-get install gcc-4.6-multilib
Reading package lists... Done
Building dependency tree
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:
The following packages have unmet dependencies:
gcc-4.6-multilib : Depends: libsfgcc1 (>= 1:4.6.3-1ubuntu5) but it is not going to be installed or
libgcc1-armel but it is not installable
E: Unable to correct problems, you have held broken packages.
libgcc1-armel is a virtual package provided by a package I already have installed:
$ dpkg -s libgcc1:armel | egrep 'Version|Provides'
Version: 1:4.6.3-1ubuntu5
Provides: libgcc1-armel
Why does apt consider this package uninstallable when it is already installed?
Note: I've tried this with both apt/dpkg from precise (with armel specified as a foreign architecture in /etc/dpkg/dpkg.cfg.d/architectures) and with apt/dpkg from quantal (which seems to have more mature multi-arch support, such as dpkg --add-architecture).
Note 2: Using libsfgcc1 instead of libgcc1:armel allows this library to be installed, but precludes installation of other multi-arch libraries like libssl1.0.0:armel, which requires libgcc1:armel only. I'm guessing that libsfgcc1 is a transitional library that was introduced before true multi-arch support.