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 1:02 AM, Arnaud Lacombe <lacombar@gmail.com> wrote:
> 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

Arnaud,

I think the gxx-include-dir param is a workaround.

I believe that something else is falling off the rails early during
the ct-ng build that cause (e)glibc to need the
${CT_SYSROOT_DIR}/include symlink or it installs the headers to the
wrong spot, that ultimately screws up the final cc's g++ include
search path.

I have been working on trying to figure this one out. When we can
figure this out, we should remove the --with-gxx-include-dir!

I also saw strange behavior when both
CC_EXTRA_CONFIG=--with-long-double-128 and
CC_GCC_LDBL_128=m were set.

Lets let Tony finish his build, test, and report cycle.

In the mean time, lets keep working on the c++ include path issue in
the respective thread ;-)

-Bryan

--
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]