Mir

Mir fails to build on xenial today: android_graphic_buffer_allocator.h:23:31: fatal error: hardware/hardware.h: No such file or directory

Bug #1539338 reported by Daniel van Vugt
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Mir
Fix Released
Critical
Daniel van Vugt
0.18
Won't Fix
Medium
Unassigned
0.19
Won't Fix
Medium
Unassigned
android-headers (Ubuntu)
Fix Released
Critical
Unassigned
mir (Ubuntu)
Fix Released
Medium
Unassigned

Bug Description

After updating my xenial build machine today, lp:mir no longer builds:

In file included from /home/dan/bzr/mir/trunk/src/platforms/android/server/platform.cpp:22:0:
/home/dan/bzr/mir/trunk/src/platforms/android/server/android_graphic_buffer_allocator.h:23:31: fatal error: hardware/hardware.h: No such file or directory
compilation terminated.

The file in question exists in /usr/include/android-19/ but I suspect it might have moved there only recently.

WORKAROUND:
Just avoid building Mir with Android support:
cmake .. -DMIR_PLATFORM=mesa-kms

Tags: ftbfs

Related branches

Changed in mir:
assignee: nobody → Daniel van Vugt (vanvugt)
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Found the cause. It was this update:

android-headers (23-0ubuntu1) xenial; urgency=medium

  * New upstream release which now includes multiple sets of header files
    divided by the Android API levels we care about.
  * All header sets are now installed in their corresponding debian package
    android-headers-<API level>. The former android-headers package is now
    a transitional one depending on android-headers-19 and installing proper
    symlinks to allow all current users to still build without any changes.
  * Install proper pkgconfig configuration files for all header sets so that
    users can now select which of those to use a build time.

 -- Simon Fels <email address hidden> Mon, 11 Jan 2016 08:50:59 +0100

tags: added: ftbfs
removed: ftmfs
Changed in android-headers (Ubuntu):
importance: Undecided → Critical
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Unfortunately because the offending change is a package change in xenial, we can't immediately fix this without also losing support for building on wily or vivid. So we'll either need a flexible creative workaround in Mir, or a fix in android-headers itself.

Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Hmm, my /usr/include/android/ is empty. This suggests the aforementioned "symlinks to allow all current users to still build without any changes" are missing.

Changed in mir:
status: New → In Progress
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package android-headers - 23-0ubuntu2

---------------
android-headers (23-0ubuntu2) xenial; urgency=medium

  * debian/android-headers.{preinst,postinst,postrm}: Use
    dpkg-maintscript-helper to switch /usr/include/android to a symlink.
    (LP: #1539338)
  * debian/control: add appropriate Pre-Depends on dpkg for mainscript helper.

 -- Christopher James Halse Rogers <email address hidden> Fri, 29 Jan 2016 16:00:44 +1100

Changed in android-headers (Ubuntu):
status: New → Fix Released
Revision history for this message
Daniel van Vugt (vanvugt) wrote :
description: updated
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :

Fix committed into lp:mir at revision None, scheduled for release in mir, milestone 0.20.0

Changed in mir:
status: In Progress → Fix Committed
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Chris' fix to android-headers means we don't need to rush fixes into Mir maintenance branches any more.

Changed in mir (Ubuntu):
status: New → Triaged
importance: Undecided → Medium
Revision history for this message
Launchpad Janitor (janitor) wrote :
Download full text (3.3 KiB)

This bug was fixed in the package mir - 0.20.0+16.04.20160219-0ubuntu1

---------------
mir (0.20.0+16.04.20160219-0ubuntu1) xenial; urgency=medium

  [ Alan Griffiths ]
  * New upstream release 0.20.0 (https://launchpad.net/mir/+milestone/0.20.0)
    - ABI summary: Only servers need rebuilding;
      . mirclient ABI unchanged at 9
      . mirserver ABI bumped to 38
      . mircommon ABI unchanged at 5
      . mirplatform ABI unchanged at 11
      . mirprotobuf ABI unchanged at 3
      . mirplatformgraphics ABI bumped to 8
      . mirclientplatform ABI unchanged at 4
      . mirinputplatform ABI unchanged at 5
    - Enhancements:
      . Allow screencasting to create a virtual output (for Miracast)
      . Separate the protocol version number from the client API version macros.
        They're not meant to be related concepts.
      . Add UBSanitizer to the list of build types.
      . logging: Human readable timestamps in DumbConsoleLogger.
      . examples: AdorningDisplayBufferCompositor::composite() no long ignores
        output boundaries and occlusions.
      . examples: Add -a <app name> option to eglapps.
      . common, client: a more flexible way to probe modules: once we've found
        a good current platform we don't even try to load an older one.
      . Fix build and test run with CMAKE_BUILD_TYPE=ThreadSanitizer (missing
        locks).
      . Add MIR_USE_LD_GOLD build option.
    - Bug fixes:
      . unity-system-compositor crashed with std::runtime_error in
        mir::compositor::CompositingFunctor::wait_until_started() from
        usc::MirScreen::set_screen_power_mode (mir_power_mode_on)
        (LP: #1528384)
      . Phone not usable while a call comes in - followed by "restart"
        (LP: #1532607)
      . ui freezes when simultaneously moving mouse & plug/unplug hdmi
        (LP: #1538632)
      . Mir fails to build on xenial today: android_graphic_buffer_allocator.h
        fatal error: hardware/hardware.h: No such file or directory
        (LP: #1539338)
      . [mali] egl_demo_client_flicker has graphics corruption on android
        (LP: #1517205)
      . [testsfail] Intermittent failure in
        TestClientCursorAPI.cursor_passed_through_nested_server (LP: #1525003)
      . [android] External monitor slows rendering (LP: #1532202)
      . Display::create_gl_context may create context with incorrect attributes
        (LP: #1539268)
      . unity-system-compositor locked up in __libc_do_syscall() (LP: #1543594)
      . NestedServer.client_sees_set_scaling_factor intermittent failure
        (LP: #1537798)
      . [android] External monitor slows rendering - part 2 (LP: #1535894)
      . scene: make sure not to set the swapinterval to 0 when an independent
        stream is created. The default should be 1 (like the stream created as
        part of surface creation).
      . Track the displays plugged state to avoid reporting configurations in
        case they are unplugged (LP #1531503). [Cherrypicked from 0.21]
      . mouse pointer support on emulator is broken (LP: #1517597).
        [Cherrypicked from 0.21]
      . move an android-only test that ended up in tests/unit-tests/graphics.
        (LP: ##154...

Read more...

Changed in mir (Ubuntu):
status: Triaged → Fix Released
Changed in mir:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

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