-
-
Notifications
You must be signed in to change notification settings - Fork 14.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
including syslimits.h fails if glibc is in build inputs #8962
Comments
It's a problem with This one is the problem: Now it's weird. OK x64: FAIL x64: FAIL x86: FAIL x86: So it seems that the x64 virtualbox build is lucky |
Note that these don't use standard stdenv on 64-bit but the multilib one. |
bisecting... |
Done. The issue seems to be in commit e08b9ab. |
Indeed, after reverting e08b9ab in |
@aszlig I think because previously we were linking against libiconv. Now instead libiconv is glibc and it gets to NIX_CFLAGS_COMPILE and breaks the syslimits.h. After the revert, can you check |
|
Actually, no, that doesn't make sense, because problems occur only on 32-bit and the stdenv there is equal to the usual 32-bit one (no real multi-lib). |
@vcunat if you read carefully what I (tried) explained above, that error also happens on x64 when glibc is in NIX_CFLAGS_COMPILE. But, virtualbox luckily compiles on x64 for some other reason. |
For now, until a better resolution is found.
OK, filtering out that glibc include path fixes the build, so I pushed that for now. It seems some interaction with usage of |
Possible problem:
|
This happens also on other systems, e.g. ubuntu when adding |
And I wonder, why do we use |
Relevant: 6671bb8 |
So @edolstra you appear to have some insight about that |
Possible solution: use |
Ok so this is what happens, with the help of @vcunat on IRC that let me understand what's going on: By default, we have Normal case: gcc, glibc. So syslimits.h is found in gcc, include_next limits.h is found in glibc. OK. With With With What to do? :) |
Some -isystem discussion: 51713fb. |
This shouldn't be a blocker now, although the -isystem situation is (still) perhaps suboptimal. |
Maybe I'm mistaken, but gcc 4.9 seems to be failing due to what looks like a similar glibc/gcc header issue: https://hydra.nixos.org/build/24001011 |
Yes, maybe. I know this problem; notice that |
This can be fixed by adding |
@edolstra a friendly ping so you remember about this for gcc5 |
In master we already have |
Right, now Perhaps this issue could be fixed by setting |
Works as of 16.09. |
This issue has been mentioned on NixOS Discourse. There might be relevant details there: |
Failure: http://hydra.nixos.org/build/23953373/nixlog/1/raw
It seems to be a toolchain issue on i686 only for virtualbox:
a.c:
Test:
gcc a.c
OK x64:
nix-shell -A linuxPackages.virtualbox
OK x86 stdenv:
nix-shell -A pkgsi686Linux.utillinux
FAIL x86 for virtualbox:
nix-shell -A pkgsi686Linux.linuxPackages.virtualbox
cc @vcunat @aszlig
The text was updated successfully, but these errors were encountered: