mbr ftbfs

Bug #134404 reported by Matthias Klose on 2007-08-24
2
Affects Status Importance Assigned to Milestone
mbr (Debian)
Fix Released
Unknown
mbr (Ubuntu)
High
Colin Watson

Bug Description

Binary package hint: mbr

 mbr 1.1.9-2ubuntu2 ftbfs on i386 (and lpia)

Matthias Klose (doko) wrote :

confirmed by the buildds

Changed in mbr:
importance: Undecided → High
status: New → Confirmed
Changed in mbr:
status: Unknown → New
Henrik Nilsen Omma (henrik) wrote :

Assigning FTBFS bug based on last upload.

Changed in mbr:
assignee: nobody → adconrad
Henrik Nilsen Omma (henrik) wrote :

Moving milestone to beta.

Steve Langasek (vorlon) wrote :

The Debian bug notes:
> It may be relevant that this build was run under an amd64 kernel, on a dual core processor.

This is correct. When building on a 32-bit system, the package builds and runs correctly. When building in a 32-bit chroot on a 64-bit system, the package fails to build with the mentioned test failures. When I copy the same failed build tree over to a 32-bit system and build with -nc, the tests succeed and the package build finishes successfully.

Old versions of the package have the same problem, this is not a recently introduced bug in either the mbr source or in the bin86 assembler.

I don't know yet whether this is a problem in the code or the testsuite.

Changed in mbr:
status: Unknown → New
Colin Watson (cjwatson) wrote :

The package tries to skip these tests on an amd64 kernel (see the KERNEL_ARCH stuff in debian/rules). Unfortunately it fails to detect this correctly because the buildds are run under linux32, which fiddles the output of 'uname -m'.

Colin Watson (cjwatson) wrote :

This is a little bit crazy, but what do people think of this diff as a workaround? I'm pretty sure our buildds all mount /proc, and I don't like the idea of disabling tests across the board.

Colin Watson (cjwatson) wrote :
Colin Watson (cjwatson) wrote :

Matthew Garrett pointed out that the lm flag will be present when running a 32-bit kernel on a 64-bit CPU too. Here's another attempt using linux64 instead (a bit of a double-take solution, but seems better).

Steve Langasek (vorlon) wrote :

looks good to me. Of course linux64 will fail on a 32-bit kernel and $(KERNEL_ARCH) will be empty, but empty doesn't match "x86_64", so it still gives the desired result.

Soren Hansen (soren) wrote :

No, linux64 on 32-bit kernels is a no-op. `linux64 uname -m` = "i686" on my trusty old absolutely non-64-bit laptop :)

Colin Watson (cjwatson) wrote :

mbr (1.1.9-2ubuntu3) gutsy; urgency=low

  * debian/rules: Use linux64 to check architecture, in order to override
    any use of linux32 that might hide the fact that the kernel is really
    64-bit and thus doesn't implement the vm86() syscall (LP: #134404).

 -- Colin Watson <email address hidden> Fri, 05 Oct 2007 02:51:08 +0100

Changed in mbr:
status: Confirmed → Fix Released
assignee: adconrad → kamion
status: Fix Released → Confirmed
status: Confirmed → Fix Released
Changed in mbr:
status: New → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.