Skip to content

gnumake: disable subsecond mtime on darwin#51408

Merged
matthewbauer merged 1 commit intoNixOS:stagingfrom
matthewbauer:disable-subsecond-gnumake
Dec 3, 2018
Merged

gnumake: disable subsecond mtime on darwin#51408
matthewbauer merged 1 commit intoNixOS:stagingfrom
matthewbauer:disable-subsecond-gnumake

Conversation

@matthewbauer
Copy link
Member

@matthewbauer 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

@GrahamcOfBorg GrahamcOfBorg added 6.topic: darwin Running or building packages on Darwin 10.rebuild-darwin-stdenv This PR causes stdenv to rebuild on Darwin and must target a staging branch. 10.rebuild-darwin: 501+ This PR causes many rebuilds on Darwin and should normally target the staging branches. 10.rebuild-linux: 0 This PR does not cause any packages to rebuild on Linux. labels Dec 2, 2018
@endgame
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.

Copy link
Member

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?

@matthewbauer matthewbauer force-pushed the disable-subsecond-gnumake branch from c0fde56 to 5d31221 Compare December 3, 2018 05:39
Copy link
Contributor

@endgame endgame left a 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
@matthewbauer matthewbauer force-pushed the disable-subsecond-gnumake branch from 5d31221 to 26de2d1 Compare December 3, 2018 14:32
@matthewbauer matthewbauer merged commit f1a111b into NixOS:staging Dec 3, 2018
@matthewbauer matthewbauer deleted the disable-subsecond-gnumake branch February 22, 2019 04:15
wolfgangwalther added a commit to wolfgangwalther/nixpkgs that referenced this pull request Apr 4, 2024
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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

6.topic: darwin Running or building packages on Darwin 10.rebuild-darwin: 501+ This PR causes many rebuilds on Darwin and should normally target the staging branches. 10.rebuild-darwin-stdenv This PR causes stdenv to rebuild on Darwin and must target a staging branch. 10.rebuild-linux: 0 This PR does not cause any packages to rebuild on Linux.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants