cc-wrapper: set gl_cv_clean_version_stddef=yes on cygwin#468206
cc-wrapper: set gl_cv_clean_version_stddef=yes on cygwin#468206Ericson2314 merged 1 commit intoNixOS:masterfrom
Conversation
|
This feels to me like the wrong place to put this? At at least it exposes the absurdity of our GNU-autools-specific stdenv is. |
|
Yeah, it's a hack. I can try to figure out where a real fix would go. |
|
Perhaps in |
|
For reference, here is the failure in Edit: actually this happens on linux as well. I guess the stddef wrapper just doesn't work on cygwin. Investigating that now. |
|
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114870 I guess what happens is that the gnulib stddef.h wrapper disables The definition can't be found. The compile error above is because on cygwin So I guess the <time.h> test was not a great way of detecting the original bug. It's actually been removed in latest gnulib in preparation for GCC 15, however it's been replaced with a check for GCC 13 or 14, so it wouldn't help here. |
|
I made a PR to fix this in It may also be required in other projects, but I was able to rebuild nix without fixing anything else. Since it's dependent on the gnulib version, and likely to go away with GCC 15, I suppose we don't really need a global fix. |
bb2a00a to
9bbc709
Compare
|
Since GCC 15 this problem now affects a lot of core gnu projects (iconv, gnupatch, gnugrep, etc). It's fixed upstream in https://gitweb.git.savannah.gnu.org/gitweb/?p=gnulib.git;a=commitdiff;h=e529f4fbd08fa9e60c7092ba0f8cc976a735077c Once that change rolls out, gl_cv_clean_version_stddef will no longer be used.
I thought about this. It's really a libc problem with newlib-cygwin, but cc-wrapper is the place where libc is abstracted in terms of setup hooks. |
|
@Ericson2314 This is one of the last things required for #475998. Any thoughts on my last comment? |
Ericson2314
left a comment
There was a problem hiding this comment.
This a hack, but it is also a temporary one. So I can live it with. Cygwin must ship! (And other platforms are not affected.
This fixes errors such as:
Things done
passthru.tests.nixpkgs-reviewon this PR. See nixpkgs-review usage../result/bin/.Add a 👍 reaction to pull requests you find important.