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.