Skip to content

Commit

Permalink
swift: Workaround Hydra darwin build problem
Browse files Browse the repository at this point in the history
Fail to build with ninja 1.12 when NIX_BUILD_CORES is low (Hydra or Github Actions):

```
ld: warning: directory not found for option '-L/nix/store/g9rbp9m6vs1xj4jl6b6vjb6bm8kgr107-SDKs/MacOSX10.15.sdk/usr/lib/swift'
...
ld: warning: Could not find or use auto-linked library 'swiftCompatibility56'
Undefined symbols for architecture arm64:
  "__swift_FORCE_LOAD_$_swiftCompatibility56", referenced from:
      __swift_FORCE_LOAD_$_swiftCompatibility56_$_Optimizer in libswiftCompilerModules-bootstrapping1.a(Optimizer.o)
  ...
```

Can reproduce using `nix --option cores 2 build -f . swiftPackages.swift-unwrapped`.

Until we find out the exact cause, follow [swift upstream][1], pin ninja to version
1.11.1.

[1]: swiftlang/swift#72989
  • Loading branch information
azuwis committed Nov 8, 2024
1 parent 382907c commit 52211fe
Showing 1 changed file with 9 additions and 1 deletion.
10 changes: 9 additions & 1 deletion pkgs/development/compilers/swift/compiler/default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
, coreutils
, gnugrep
, perl
, ninja
, ninja_1_11
, pkg-config
, clang
, bintools
Expand Down Expand Up @@ -190,6 +190,14 @@ let
'';
};

# https://github.com/NixOS/nixpkgs/issues/327836
# Fail to build with ninja 1.12 when NIX_BUILD_CORES is low (Hydra or Github Actions).
# Can reproduce using `nix --option cores 2 build -f . swiftPackages.swift-unwrapped`.
# Until we find out the exact cause, follow [swift upstream][1], pin ninja to version
# 1.11.1.
# [1]: https://github.com/swiftlang/swift/pull/72989
ninja = ninja_1_11;

in stdenv.mkDerivation {
pname = "swift";
inherit (sources) version;
Expand Down

0 comments on commit 52211fe

Please sign in to comment.