[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#30756: gcc7 doesn't find stdlib.h
From: |
Giel van Schijndel |
Subject: |
bug#30756: gcc7 doesn't find stdlib.h |
Date: |
Fri, 4 May 2018 16:30:08 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.7.0 |
On 04-05-18 14:43, Ludovic Courtès wrote:
> Hi,
>
> Giel van Schijndel <address@hidden> skribis:
>
>> On 09-03-18 13:42, Ludovic Courtès wrote:
>>> julien lepiller <address@hidden> skribis:
>>>
>>>> I'm trying to build a software that requires gcc>=7.2. Unfortunately,
>>>> the process crashes and ends with:
>>>>
>>>> /gnu/store/a4vwdk8r6p6l2mnffz4yaqlr1z6z6w3r-gcc-7.3.0/include/c++/cstdlib:75:15:
>>>> fatal error: stdlib.h: No such file or directory.
>>> On IRC Marius mentioned this bug report:
>>>
>>> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70129#c3
>>>
>>> Note that we use C_INCLUDE_PATH, which is equivalent to ‘-isystem’.
>> This is biting me too for a C++17 project I'm trying to build.
> Marius, do you have a link to the exact change in GCC that caused this
> regression?
>
> I find it hard to believe that a fix would necessarily “slow everything
> down”, as Jakub put it in the report above.
>
> Also it seems clear that in Guix we’ll want a solution that’s not
> CMake-specific.
Obviously, I wasn't suggesting that. I was just suggesting a similar
approach.
> Giel, does the patch below work for you?
No, just by itself it doesn't. It does add 'CPATH', but doesn't drop
'C_INCLUDE_PATH' and 'CPLUS_INCLUDE_PATH'. With this added to my package
preprocessing succeeds:
> (add-before 'configure 'fixgcc7
> (lambda _
> (unsetenv "C_INCLUDE_PATH")
> (unsetenv "CPLUS_INCLUDE_PATH")))
But I can no longer build with warnings treated as error at that point,
because I'm getting a ton of warnings inside headers of dependencies
now. With either of '-Wno-error' or '-w' I can build now.
Would it be possible to filter the list of directories added to these
environment variables to exclude those already present in GCC's default
search path? I believe that should solve it in all cases, not just the
CMake one. I'm currently trying to produce a minimal test case, I'll
post it here when I succeed.
--
Met vriendelijke groet,
With kind regards,
Giel van Schijndel
- bug#30756: gcc7 doesn't find stdlib.h, Giel van Schijndel, 2018/05/04
- bug#30756: gcc7 doesn't find stdlib.h, Ludovic Courtès, 2018/05/04
- bug#30756: gcc7 doesn't find stdlib.h,
Giel van Schijndel <=
- bug#30756: gcc7 doesn't find stdlib.h, Ludovic Courtès, 2018/05/04
- bug#30756: gcc7 doesn't find stdlib.h, Giel van Schijndel, 2018/05/04
- bug#30756: gcc7 doesn't find stdlib.h, Mark H Weaver, 2018/05/04
- bug#30756: gcc7 doesn't find stdlib.h, Mark H Weaver, 2018/05/04
- bug#30756: gcc7 doesn't find stdlib.h, Ludovic Courtès, 2018/05/04
- bug#30756: gcc7 doesn't find stdlib.h, Mark H Weaver, 2018/05/04
- bug#30756: gcc7 doesn't find stdlib.h, Giel van Schijndel, 2018/05/04
- bug#30756: gcc7 doesn't find stdlib.h, Ludovic Courtès, 2018/05/07
- bug#30756: gcc7 doesn't find stdlib.h, Mark H Weaver, 2018/05/07
- bug#30756: gcc7 doesn't find stdlib.h, Ludovic Courtès, 2018/05/08