[Bug 799965] Re: cross-compiler doesn't have /usr/include on the search path

Matthias Klose doko at ubuntu.com
Thu Dec 6 17:55:31 UTC 2012


** Also affects: gcc-4.6-armhf-cross (Ubuntu)
   Importance: Undecided
       Status: New

** Also affects: gcc-4.7-armhf-cross (Ubuntu)
   Importance: Undecided
       Status: New

** Also affects: gcc-4.7-armel-cross (Ubuntu)
   Importance: Undecided
       Status: New

-- 
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to gcc-4.6 in Ubuntu.
https://bugs.launchpad.net/bugs/799965

Title:
  cross-compiler doesn't have /usr/include on the search path

Status in Linaro Ubuntu Evaluation Builds:
  In Progress
Status in “gcc-4.6” package in Ubuntu:
  Confirmed
Status in “gcc-4.6-armel-cross” package in Ubuntu:
  Fix Released
Status in “gcc-4.6-armhf-cross” package in Ubuntu:
  Fix Released
Status in “gcc-4.7” package in Ubuntu:
  Invalid
Status in “gcc-4.7-armel-cross” package in Ubuntu:
  Fix Released
Status in “gcc-4.7-armhf-cross” package in Ubuntu:
  Fix Released
Status in “gcc-4.7” package in Debian:
  New

Bug description:
  As more multiarch support makes its way into the system, I gave a try
  to cross-building mesa with only the armel cross-compiler packages and
  multiarch-installable headers/libraries.  This works ok until the
  build tries to find X headers, because /usr/include is not on the
  default path:

  make[5]: Entering directory `/home/vorlon/devel/linaro/multiarch/mesa/git/build/swx11+glu/src/mesa/drivers/x11'
  arm-linux-gnueabi-gcc -c -I../../../../include -I../../../../src/mapi -I../../../../src/mesa -I../../../../src/mesa/main  -Wall -g -O2 -Wall -Wmissing-prototypes -std=c99 -ffast-math -fvisibility=hidden -fno-strict-aliasing  -fPIC   -D_GNU_SOURCE -DPTHREADS -DHAVE_POSIX_MEMALIGN -DUSE_XSHM fakeglx.c -o fakeglx.o
  In file included from fakeglx.c:44:0:
  glxheader.h:36:23: fatal error: X11/Xlib.h: No such file or directory
  compilation terminated.
  make[5]: *** [fakeglx.o] Error 1

  In the multiarch world, it's assumed that since not all headers are
  architecture-dependent, not all of them will have to be moved to the
  per-architecture path /usr/include/<triplet>.  That means cross-
  compilers will also need to look in /usr/include, not just in
  /usr/<arch>/include and /usr/include/<arch>.

  Actually, it's possible that this compiler isn't currently multiarch-
  enabled at all?

  $ arm-linux-gnueabi-gcc -print-search-dirs|sed -n -e's/libraries: =//p' | sed -e's/:/\n/g' | xargs -n1 readlink -f
  /usr/lib/gcc/arm-linux-gnueabi/4.6.1
  /usr/arm-linux-gnueabi/lib
  /usr/lib/x86_64-linux-gnu
  $

  No mention of /usr/lib/arm-linux-gnueabi here yet.

  ProblemType: Bug
  DistroRelease: Ubuntu 11.04
  Package: gcc-arm-linux-gnueabi 4:4.5.2-8
  ProcVersionSignature: Ubuntu 2.6.38-7.39-generic 2.6.38
  Uname: Linux 2.6.38-7-generic x86_64
  Architecture: amd64
  Date: Mon Jun 20 15:33:59 2011
  InstallationMedia: Ubuntu 10.04.1 LTS "Lucid Lynx" - Release amd64 (20100816.1)
  ProcEnviron:
   LANGUAGE=en_US:en
   PATH=(custom, user)
   LANG=en_US.UTF-8
   SHELL=/bin/bash
  SourcePackage: gcc-defaults-armel-cross
  UpgradeStatus: Upgraded to natty on 2011-03-24 (88 days ago)

To manage notifications about this bug go to:
https://bugs.launchpad.net/linaro-ubuntu/+bug/799965/+subscriptions




More information about the foundations-bugs mailing list