[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