-
-
Notifications
You must be signed in to change notification settings - Fork 13.6k
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
gnumake: disable subsecond mtime on darwin #51408
gnumake: disable subsecond mtime on darwin #51408
Conversation
Can you add a comment in the code? I can imagine someone discovering files not being rebuilt in one of their builds (the dual of our issue with |
@@ -27,7 +27,8 @@ stdenv.mkDerivation { | |||
nativeBuildInputs = stdenv.lib.optionals guileSupport [ pkgconfig ]; | |||
buildInputs = stdenv.lib.optionals guileSupport [ guile ]; | |||
|
|||
configureFlags = stdenv.lib.optional guileSupport "--with-guile"; | |||
configureFlags = stdenv.lib.optional guileSupport "--with-guile" | |||
++ stdenv.lib.optional stdenv.isDarwin "ac_cv_struct_st_mtim_nsec=no"; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should this maybe carry a comment, when it should safe to re-enable this feature again?
i.e. a while after 10.13
?
c0fde56
to
5d31221
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Your comment is pretty clear. I'll approve now but can you please add a link to a GH issue so someone can retrace steps if necessary?
gnumake can support subsecond mtimes if it is available. But Darwin doesn’t support setting subsecond mtimes until 10.13! So we can just disable this check to avoid the issue where most of our built tools use seconds but make uses nanoseconds. Might fix some parallel issues along the way. Fixes NixOS#51221
5d31221
to
26de2d1
Compare
This was disabled to fix NixOS#51093. The related discussion upstream revealed that this has been fixed in [1] for v12+. Since v12 is our oldest supported version right now, we should be able to safely enable parallel building on darwin again. Furthermore, it seems that this kind of issue was also fixed in NixOS#51221 and NixOS#51408 for the general case. [1]: postgres/postgres@826eff5
This was disabled to fix NixOS#51093. The related discussion upstream revealed that this has been fixed in [1] for v12+. Since v12 is our oldest supported version right now, we should be able to safely enable parallel building on darwin again. Furthermore, it seems that this kind of issue was also fixed in NixOS#51221 and NixOS#51408 for the general case. [1]: postgres/postgres@826eff5
This was disabled to fix NixOS#51093. The related discussion upstream revealed that this has been fixed in [1] for v12+. Since v12 is our oldest supported version right now, we should be able to safely enable parallel building on darwin again. Furthermore, it seems that this kind of issue was also fixed in NixOS#51221 and NixOS#51408 for the general case. [1]: postgres/postgres@826eff5
This was disabled to fix NixOS#51093. The related discussion upstream revealed that this has been fixed in [1] for v12+. Since v12 is our oldest supported version right now, we should be able to safely enable parallel building on darwin again. Furthermore, it seems that this kind of issue was also fixed in NixOS#51221 and NixOS#51408 for the general case. [1]: postgres/postgres@826eff5
This was disabled to fix NixOS#51093. The related discussion upstream revealed that this has been fixed in [1] for v12+. Since v12 is our oldest supported version right now, we should be able to safely enable parallel building on darwin again. Furthermore, it seems that this kind of issue was also fixed in NixOS#51221 and NixOS#51408 for the general case. [1]: postgres/postgres@826eff5
This was disabled to fix NixOS#51093. The related discussion upstream revealed that this has been fixed in [1] for v12+. Since v12 is our oldest supported version right now, we should be able to safely enable parallel building on darwin again. Furthermore, it seems that this kind of issue was also fixed in NixOS#51221 and NixOS#51408 for the general case. [1]: postgres/postgres@826eff5
This was disabled to fix NixOS#51093. The related discussion upstream revealed that this has been fixed in [1] for v12+. Since v12 is our oldest supported version right now, we should be able to safely enable parallel building on darwin again. Furthermore, it seems that this kind of issue was also fixed in NixOS#51221 and NixOS#51408 for the general case. [1]: postgres/postgres@826eff5
This was disabled to fix NixOS#51093. The related discussion upstream revealed that this has been fixed in [1] for v12+. Since v12 is our oldest supported version right now, we should be able to safely enable parallel building on darwin again. Furthermore, it seems that this kind of issue was also fixed in NixOS#51221 and NixOS#51408 for the general case. [1]: postgres/postgres@826eff5
This was disabled to fix NixOS#51093. The related discussion upstream revealed that this has been fixed in [1] for v12+. Since v12 is our oldest supported version right now, we should be able to safely enable parallel building on darwin again. Furthermore, it seems that this kind of issue was also fixed in NixOS#51221 and NixOS#51408 for the general case. [1]: postgres/postgres@826eff5
gnumake can support subsecond mtimes if it is available. But Darwin
doesn’t support setting subsecond mtimes until 10.13! So we can just
disable this check to avoid the issue where most of our built tools
use seconds but make uses nanoseconds. Might fix some parallel issues
along the way.
Fixes #51221
/cc @endgame @delroth @thoughtpolice