c++ includes not getting searched for correctly?

Bryan Hundven bryanhundven@gmail.com
Thu Oct 7 06:31:00 GMT 2010


On Tue, Oct 5, 2010 at 9:01 AM, Anthony Foiani <anthony.foiani@gmail.com> wrote:
> On Mon, Oct 4, 2010 at 9:13 PM, Ralf Corsepius <rc040203@freenet.de> wrote:
>> On 10/01/2010 10:47 PM, Anthony Foiani wrote:
>>> The upshot is that the final cross-compiler looks in the wrong place
>>> for c++ headers; it ends up looking in
>>>
>>>   TARGET/lib/gcc/TARGET/4.5.1/include/
>>>   TARGET/lib/gcc/TARGET/4.5.1/include-fixed/
>>>   TARGET/TARGET/sys-root/usr/include/
>>
>> These are the correct locations.
>>
>>> When it should be looking in:
>>>
>>>   TARGET/TARGET/sys-root/usr/include/c++/4.5.1/
>>
>> And this would be wrong.

I don't understand. Could you kindly explain more about why this is wrong?

> Ok, I think I see the reasoning behind this: things like "stdio.h" in
> /usr/include are a part of libc, while the g++ headers are properly a
> part of GCC itself.  Ok.
>
> So how do I get libstdc++ installed into one of those proper search
> directories?  Here's where they ended up:
>
> [tony@fedora12-64 xtools]$ find . -name '*stdc++*' -print
> ./powerpc-e500v2-linux-gnuspe/sys-root/lib/libstdc++.so
> ./powerpc-e500v2-linux-gnuspe/sys-root/lib/libstdc++.so.6.0.14
> ./powerpc-e500v2-linux-gnuspe/sys-root/lib/libstdc++.la
> ./powerpc-e500v2-linux-gnuspe/sys-root/lib/libstdc++.so.6.0.14-gdb.py
> ./powerpc-e500v2-linux-gnuspe/sys-root/lib/libstdc++.a
> ./powerpc-e500v2-linux-gnuspe/sys-root/lib/libstdc++.so.6
> ./powerpc-e500v2-linux-gnuspe/sys-root/usr/include/c++/4.5.1/powerpc-e500v2-linux-gnuspe/bits/stdc++.h
>
> [tony@fedora12-64 xtools]$ find . -name 'iostream' -print
> ./powerpc-e500v2-linux-gnuspe/sys-root/usr/include/c++/4.5.1/iostream
>
> Config file attached.
>
> Thanks,
> Tony
>
> --
> For unsubscribe information see http://sourceware.org/lists.html#faq
>

I have the same issue on a ppc (e500v2), and armeb (armv5te), and this
x86 toolchain built with crosstool-ng (gcc-4.5.1, eglibc-trunk).

g++test.cpp:
----------------------8<---------------------
#include <iostream>
using namespace std;
int main( int argc, char **argv )
{
    cout << "Hello World" << endl;
    return 0;
}
----------------------8<---------------------

$ /home/bryan/x-tools/i686-nptl-linux-gnu/bin/i686-nptl-linux-gnu-g++
-o g++test g++test.cpp
g++test.cpp:1:20: fatal error: iostream: No such file or directory
compilation terminated.

$ /home/bryan/x-tools/i686-nptl-linux-gnu/bin/i686-nptl-linux-gnu-gcc
-print-search-dirs
install: /home/bryan/x-tools/i686-nptl-linux-gnu/lib/gcc/i686-nptl-linux-gnu/4.5.1/
programs: =/home/bryan/x-tools/i686-nptl-linux-gnu/libexec/gcc/i686-nptl-linux-gnu/4.5.1/:/home/bryan/x-tools/i686-nptl-linux-gnu/libexec/gcc/i686-nptl-linux-gnu/4.5.1/:/home/bryan/x-tools/i686-nptl-linux-gnu/libexec/gcc/i686-nptl-linux-gnu/:/home/bryan/x-tools/i686-nptl-linux-gnu/lib/gcc/i686-nptl-linux-gnu/4.5.1/:/home/bryan/x-tools/i686-nptl-linux-gnu/lib/gcc/i686-nptl-linux-gnu/:/home/bryan/x-tools/i686-nptl-linux-gnu/lib/gcc/i686-nptl-linux-gnu/4.5.1/../../../../i686-nptl-linux-gnu/bin/i686-nptl-linux-gnu/4.5.1/:/home/bryan/x-tools/i686-nptl-linux-gnu/lib/gcc/i686-nptl-linux-gnu/4.5.1/../../../../i686-nptl-linux-gnu/bin/
libraries: =/home/bryan/x-tools/i686-nptl-linux-gnu/lib/gcc/i686-nptl-linux-gnu/4.5.1/:/home/bryan/x-tools/i686-nptl-linux-gnu/lib/gcc/i686-nptl-linux-gnu/4.5.1/../../../../i686-nptl-linux-gnu/lib/i686-nptl-linux-gnu/4.5.1/:/home/bryan/x-tools/i686-nptl-linux-gnu/lib/gcc/i686-nptl-linux-gnu/4.5.1/../../../../i686-nptl-linux-gnu/lib/:/home/bryan/x-tools/i686-nptl-linux-gnu/i686-nptl-linux-gnu//sys-root/lib/i686-nptl-linux-gnu/4.5.1/:/home/bryan/x-tools/i686-nptl-linux-gnu/i686-nptl-linux-gnu//sys-root/lib/:/home/bryan/x-tools/i686-nptl-linux-gnu/i686-nptl-linux-gnu//sys-root/usr/lib/i686-nptl-linux-gnu/4.5.1/:/home/bryan/x-tools/i686-nptl-linux-gnu/i686-nptl-linux-gnu//sys-root/usr/lib/


I attached my x86.config and output of -dumpspecs

--Bryan
-------------- next part --------------
A non-text attachment was scrubbed...
Name: x86.config
Type: application/octet-stream
Size: 10602 bytes
Desc: not available
URL: <http://sourceware.org/pipermail/crossgcc/attachments/20101007/1a09820e/attachment.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: dumpspecs.log
Type: text/x-log
Size: 5381 bytes
Desc: not available
URL: <http://sourceware.org/pipermail/crossgcc/attachments/20101007/1a09820e/attachment.bin>
-------------- next part --------------
--
For unsubscribe information see http://sourceware.org/lists.html#faq


More information about the crossgcc mailing list