This is the mail archive of the crossgcc@sourceware.org mailing list for the crossgcc project.

See the CrossGCC FAQ for lots more information.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: fenv.h not found?


On Tue, Oct 19, 2010 at 3:35 AM, Bryan Hundven <bryanhundven@gmail.com> wrote:
> On Tue, Oct 19, 2010 at 12:22 AM, Arnaud Lacombe <lacombar@gmail.com> wrote:
>> Hi,
>>
>> On Tue, Oct 19, 2010 at 2:47 AM, Bryan Hundven <bryanhundven@gmail.com> wrote:
>>> On Mon, Oct 18, 2010 at 11:38 PM, Arnaud Lacombe <lacombar@gmail.com> wrote:
>>>> Hi,
>>>>
>>>> On Tue, Oct 19, 2010 at 1:43 AM, Anthony Foiani
>>>> <anthony.foiani@gmail.com> wrote:
>>>>> [...]
>>>>> ./xtools/powerpc-e500v2-linux-gnuspe/sys-root/usr/include/bits/fenv.h
>>>>> ./xtools/powerpc-e500v2-linux-gnuspe/sys-root/usr/include/tr1/fenv.h
>>>>> ./xtools/powerpc-e500v2-linux-gnuspe/sys-root/usr/include/fenv.h
>>>>>
>>>> this looks odd. These last two `fenv.h' from GCC generally ends up in
>>>> %SYSROOT%/include/c++/%GCC_VERSION%/, but not in your case. EGlibc
>>>> header gets installed:
>>>>
>>>> [ALL ?] ? ?/opt/cross/platforms/foo/xtools-build/tools/bin/install -c
>>>> -m 644 ../sysdeps/powerpc/bits/fenv.h
>>>> /opt/cross/platforms/foo/xtools/powerpc-e500v2-linux-gnuspe//sys-root/usr/include/bits/fenv.h
>>>>
>>>> then is overwritten by gcc:
>>>>
>>>> c_compatibility_headers_install='/opt/cross/platforms/foo/xtools-build/src/gcc-4.5.1/libstdc++-v3/include/c_compatibility/complex.h
>>>> /opt/cross/platforms/foo/xtools-build/src/gcc-4.5.1/libstdc++-v3/include/c_compatibility/fenv.h
>>>> /opt/cross/platforms/foo/xtools-build/src/gcc-4.5.1/libstdc++-v3/include/c_compatibility/tgmath.h
>>>> /opt/cross/platforms/foo/xtools-build/src/gcc-4.5.1/libstdc++-v3/include/c_compatibility/stdatomic.h';
>>>> ? ? ?for file in $c_compatibility_headers_install; do
>>>> /opt/cross/platforms/foo/xtools-build/tools/bin/install -c -m 644
>>>> $file /opt/cross/platforms/foo/xtools/powerpc-e500v2-linux-gnuspe//sys-root/usr/include;
>>>> done
>>>>
>>>> ?- Arnaud
>>>>
>>>
>>> Hmm. I have been building e500v2 toolchains with ct-ng for a little
>>> while, and the only problems I have ran into were
>>> --enable-target-optspace hitting an optimization issue and this c++
>>> search path issue (the last one happened on all of my toolchains, not
>>> just the e500v2).
>>>
>>> I see you are using a 2125 of ctng. Could you try with at least 2141
>>> to rule out the c++ search path issue?
>>>
>> hum, Yann's patch (which ) looks broken:
>>
>> + ? ?if [ "${CT_CC_LANG_CXX}" = "y" ? ]; then
>> + ? ? ? ?extra_config+=("--with-gxx-include-dir=${CT_SYSROOT_DIR}/usr/include")
>> + ? ?fi
>> +
>>
>> "${CT_SYSROOT_DIR}/usr/include" is "${CT_HEADERS_DIR}" where the libc
>> is told to install its headers...
>>
>> As the GCC's fenv.h tries to include the one provided by the C
>> library, it naturally dies.
>>
>> ?- Arnaud
>
> You may be right, but it would seem to me that it would try to find:
> x-tools/powerpc-e500v2-linux-gnuspe/powerpc-e500v2-linux-gnuspe/sys-root/usr/include/c++/4.5.1/fenv.h
>
why would it ? you're giving it the exact place to look for.

> first, but since g++ is looking in the wrong spot for c++ includes
> (${CT_SYSROOT_DIR}/include), it can't load it.
>
no, it is looking into "${CT_SYSROOT_DIR}/usr/include", nuance.

Btw, have a look to the implementation of --with-gxx-include-dir and
GLIBCXX_EXPORT_INSTALL_INFO and its use cases.

 - Arnaud

--
For unsubscribe information see http://sourceware.org/lists.html#faq


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]