Mir

Cross compiling fails with "error: '__uint64_t' does not name a type"

Bug #1262305 reported by Alan Griffiths on 2013-12-18
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Mir
Fix Released
Critical
Andreas Pokorny
mir (Ubuntu)
Critical
Unassigned

Bug Description

For example:

http://s-jenkins.ubuntu-ci:8080/job/mir-android-trusty-i386-build-fjg/5/consoleFull

This is recent and seems to relate to upstream changes. Using a cached partial-armhf-chroot from a few days ago works, a new one doesn't. (Which is why we saw failures in CI and Autolanding before seeing them locally).

Related branches

Revision history for this message
Alan Griffiths (alan-griffiths) wrote :

There are changes in the headers that make code conditionally compiled with "# if __GLIBC_HAVE_LONG_LONG" now compile unconditionally. But I haven't tracked down why there's no definition of __uint64_t.

It is also strange that the error shows as being on /usr/arm-linux-gnueabihf/include/bits/byteswap.h when that shouldn't be on the search path (and, AIUI, ~/partial-armhf-chroot/usr/include/arm-linux-gnueabihf/bits/byteswap.h should be picked up). The diff between these files is - as you might guess basically:

< #elif __GLIBC_HAVE_LONG_LONG
---
> #else

I've tried dumping the system path from CMake - but it looks right.

Logging current state of progress as it's EOD here.

Revision history for this message
Andreas Pokorny (andreas-pokorny) wrote :

With -E -x c++ and our include paths you get the following search order:

#include "..." search starts here:
#include <...> search starts here:
 /home/andreas/mir/devel/include/shared
 /home/andreas/mir/devel/3rd_party/android-input/android/frameworks/base/services/input
 /home/andreas/mir/devel/3rd_party/android-input/android/frameworks/base/include
 /home/andreas/mir/devel/3rd_party/android-input/android/frameworks/native/include
 /home/andreas/mir/devel/3rd_party/android-input/android/hardware/libhardware_legacy/include
 /home/andreas/mir/devel/3rd_party/android-input/android/system/core/include
 /home/andreas/mir/devel/3rd_party/android-input/android/external/kernel-headers/original
 /home/andreas/mir/android-devel/src/shared/protobuf
 /home/andreas/mir/partial-armhf-chroot/usr/include
 /home/andreas/mir/devel/3rd_party/android-deps
 /usr/arm-linux-gnueabihf/include/c++/4.8.1
 /usr/arm-linux-gnueabihf/include/c++/4.8.1/arm-linux-gnueabihf
 /usr/arm-linux-gnueabihf/include/c++/4.8.1/backward
 /usr/lib/gcc-cross/arm-linux-gnueabihf/4.8/include
 /usr/lib/gcc-cross/arm-linux-gnueabihf/4.8/include-fixed
 /usr/lib/gcc-cross/arm-linux-gnueabihf/4.8/../../../../arm-linux-gnueabihf/include
 /usr/include

tags: added: blockingci
Changed in mir:
importance: Undecided → High
milestone: none → 0.1.3
Changed in mir:
assignee: nobody → Andreas Pokorny (andreas-pokorny)
status: New → In Progress
Changed in mir:
importance: High → Critical
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :

Fix committed into lp:mir/devel at revision 1293, scheduled for release in mir, milestone Unknown

Changed in mir:
status: In Progress → Fix Committed
Changed in mir:
status: Fix Committed → Fix Released
Changed in mir (Ubuntu):
importance: Undecided → Critical
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