Package: module-assistant
Version: 0.11.6
Severity: normal
module-assistant cannot install headers for a foreign-architecture
kernel:
# dpkg --print-architecture
i386
# uname -r
3.12-1-amd64
# dpkg -l linux-image-$(uname -r)
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name Version Architecture Description
+++-==============-============-============-=================================
ii linux-image-3. 3.12.8-1 amd64 Linux 3.12 for 64-bit PCs
# m-a --text a-i leds-alix
.
Updated infos about 1 packages
Getting source for kernel version: 3.12-1-amd64
apt-get install linux-headers-3.12-1-amd64
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages were automatically installed and are no longer required:
libgroupsock0 libkdc2-heimdal liblivemedia7 libserf1 libusageenvironment0
python-logilab-astng
Use 'apt-get autoremove' to remove them.
The following extra packages will be installed:
linux-compiler-gcc-4.8-x86 linux-headers-3.12-1-common linux-kbuild-3.12
The following NEW packages will be installed:
linux-compiler-gcc-4.8-x86 linux-headers-3.12-1-amd64
linux-headers-3.12-1-common linux-kbuild-3.12
0 upgraded, 4 newly installed, 0 to remove and 5 not upgraded.
Need to get 4,945 kB of archives.
After this operation, 31.9 MB of additional disk space will be used.
Do you want to continue? [Y/n]
This sometimes works at present, because the amd64 flavour is
functionally identical and ABI-compatible on i386 and amd64, but I
actually want to get rid of the amd64 flavour on i386 as it is now
a waste of space and build time. (Similarly for the s390x flavour
on s390.)
But even now, the resulting module packages are built for the primary
architecture, and some of them (depending on the 'source' package's
template - dahdi-source is one example) have dependencies on
linux-image-$kversion. That makes them uninstallable when the
kernel is foreign.
So I think that module-assistant should select a target
architecture as follows:
1. Provide an option to set the target architecture explicitly.
2. If the option is not set, look for an installed linux-image or
linux-headers package for the target kernel version.
(a) If either or both are present then the target architecture
is the architecture of the installed package(s). If both
are installed but with different architectures, you could
report an error or pick one as the winner.
(b) If neither is present then the target architecture is the
primary architecture.
It should then explicitly specify that target architecture when
installing linux-headers packages and when building packages.
Ben.
-- System Information:
Debian Release: jessie/sid
APT prefers unstable
APT policy: (500, 'unstable'), (500, 'testing'), (500, 'stable'), (1,
'experimental')
Architecture: i386 (x86_64)
Foreign Architectures: amd64
Kernel: Linux 3.12-1-amd64 (SMP w/4 CPU cores)
Locale: LANG=en_GB.utf8, LC_CTYPE=en_GB.utf8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Versions of packages module-assistant depends on:
ii bzip2 1.0.6-5
ii libtext-wrapi18n-perl 0.06-7
ii perl 5.18.1-5
ii xz-utils 5.1.1alpha+20120614-2
Versions of packages module-assistant recommends:
ii liblocale-gettext-perl 1.05-7+b2
Versions of packages module-assistant suggests:
ii build-essential 11.6
ii whiptail 0.52.15-3
-- no debconf information
--
To UNSUBSCRIBE, email to [email protected]
with a subject of "unsubscribe". Trouble? Contact [email protected]