xdeb fails to compile kernel
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
linux (Ubuntu) |
Incomplete
|
Undecided
|
Unassigned | ||
linux-linaro (Ubuntu) |
Fix Released
|
Undecided
|
John Rigby | ||
linux-linaro-mx51 (Ubuntu) |
Invalid
|
Undecided
|
John Rigby | ||
xdeb (Ubuntu) |
Invalid
|
Undecided
|
Unassigned |
Bug Description
Binary package hint: xdeb
I was trying to cross-compile the kernel using the command 'xdeb -aarmel --only-explicit --apt-source linux-linaro-omap'. I am not entirely sure where the problem lies - toolchain, xdeb or the kernel packaging. Filing this so it doesn't get lost.
Toolchain version was: arm-linux-
Using built-in specs.
COLLECT_
COLLECT_
Target: arm-linux-gnueabi
Configured with: ../src/configure -v --with-
Thread model: posix
gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-1ubuntu6)
Here is the relevant part of the log:
dh_strip -plinux-
arm-linux-
dh_strip: arm-linux-
make: *** [binary-
dpkg-buildpackage: error: fakeroot debian/rules binary gave error exit status 2
debuild: fatal error at line 1335:
dpkg-buildpackage -rfakeroot -d -us -uc -aarmel -b -tc failed
Traceback (most recent call last):
File "/usr/bin/xdeb", line 849, in <module>
main()
File "/usr/bin/xdeb", line 841, in main
build(options, src, all_srcs[src])
File "/usr/bin/xdeb", line 596, in build
spawn(
File "/usr/lib/
raise SubprocessExcep
utils.Subproces
Changed in linux-linaro (Ubuntu): | |
status: | New → Confirmed |
assignee: | nobody → John Rigby (jcrigby) |
Changed in linux (Ubuntu): | |
status: | Incomplete → Invalid |
status: | Invalid → Incomplete |
Changed in linux-linaro-mx51 (Ubuntu): | |
status: | New → Confirmed |
Changed in linux-linaro (Ubuntu): | |
status: | Confirmed → Invalid |
Changed in linux-linaro-mx51 (Ubuntu): | |
assignee: | nobody → John Rigby (jcrigby) |
Changed in linux-linaro-mx51 (Ubuntu): | |
status: | Confirmed → In Progress |
Changed in linux-linaro-mx51 (Ubuntu): | |
status: | In Progress → Invalid |
Changed in linux-linaro (Ubuntu): | |
status: | Invalid → Fix Released |
On my amd64 system, linux-headers- 2.6.38- 2-generic is arch: amd64 and ships a /usr/src/ linux-headers- 2.6.38- 2-generic/ scripts/ kallsyms file which is for x86-64.
When you're cross-building the kernel, there are two questions:
a) does kallsyms need to be called during the build; if yes, then you will need a version built for the buildd's architecture
b) do you need to cross-build kallsyms to ship in the target package, or is it already provided in another package/built every time it's needed
Given the output you quote, it seems stripping of debian/ linux-headers- 2.6.37- 1002-linaro- omap/usr/ fails, which means that a file which is about to be shipped in this package can't be stripped. dh_strip in Ubuntu is normally aware of the need to call the cross-strip to strip for another architecture. So my conclusion is that this file is built for your build architecture instead of armel and should either not be in the packages at all, or should be built for armel.
If a) is true, then it's just a matter of installing the right file in the package.
If per b) you actually don't need to ship the file, just stop installing it in the package and your problem is solved too.
In both cases, this points at a problem in the kernel packaging or cross-build rules, but if you run "file debian/ linux-headers- 2.6.37- 1002-linaro- omap/usr/ src/linux- headers- 2.6.37- 1002-linaro- omap/scripts/ kallsyms" , this should confirm whether the file is indeed of the buildd's architecture as I suspect.
I think John Rigby saw similar issues.
Thanks,