Skip to content
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

Merged
merged 1 commit into from Dec 3, 2018

Conversation

Projects
None yet
4 participants
@matthewbauer
Copy link
Member

matthewbauer commented Dec 2, 2018

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

@endgame

This comment has been minimized.

Copy link
Contributor

endgame commented Dec 2, 2018

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 ranlib), finding the ac_cv_... setting in the .nix file and being extremely confused.

@@ -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";

This comment has been minimized.

@Mic92

Mic92 Dec 2, 2018

Contributor

Should this maybe carry a comment, when it should safe to re-enable this feature again?
i.e. a while after 10.13?

@matthewbauer matthewbauer force-pushed the matthewbauer:disable-subsecond-gnumake branch Dec 3, 2018

@endgame

endgame approved these changes Dec 3, 2018

Copy link
Contributor

endgame left a comment

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: disable subsecond mtime on darwin
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

@matthewbauer matthewbauer force-pushed the matthewbauer:disable-subsecond-gnumake branch to 26de2d1 Dec 3, 2018

@matthewbauer matthewbauer merged commit f1a111b into NixOS:staging Dec 3, 2018

@matthewbauer matthewbauer deleted the matthewbauer:disable-subsecond-gnumake branch Feb 22, 2019

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.