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

Darwin M1 Support #13401

Merged
merged 24 commits into from Apr 7, 2022
Merged

Darwin M1 Support #13401

merged 24 commits into from Apr 7, 2022

Conversation

aherrmann-da
Copy link
Contributor

A new attempt at #11496

This adds support to build and test the daml repository on MacOS on M1.
This was tested on an M1 machine on MacOS 12.2 Monterey.

  • Updates or patches rule set dependencies to handle the darwin_arm64 platform and assign appropriate cpu constraints to toolchains.
  • Configure GHC to use the LLVM backend on that platform. GHC 9.0's native backend does not yet support M1.
  • Make sure to consistently use the linker provided by the Bazel CC toolchain.
  • Update NodeJS for M1 compatibility
  • Make sure to re-sign binaries using codesign after patching them with install_name_tool. Otherwise the signature test will fail and MacOS will refuse to execute the binary. The symptom is often that the binary fails to load and terminates immediately with exit-code -9 without any further indication. This also happens when other processes attempt to load the binary, e.g. lldb.
  • Configure the CC toolchain on MacOS for M1 compatibility.
  • Disable create-daml-app tests on MacOS M1, see Update puppeteer for M1 support #13250 for further details.

Note, the NodeJS update seems to cause two issues in the compatibility test:
1.) The install step in the create-daml-app tests fails unless we add node to PATH. Previously it was sufficient to set --scripts-prepend-node-path. See this commit for details.
2.) The install step in create-daml-app tests fails for SDK versions 1.8.1 and 1.9.0 due to conflicting versions constraints on babel-jest. See this commit for details.

Pull Request Checklist

  • Read and understand the contribution guidelines
  • Include appropriate tests
  • Set a descriptive title and thorough description
  • Add a reference to the issue this PR will solve, if appropriate
  • Include changelog additions in one or more commit message bodies between the CHANGELOG_BEGIN and CHANGELOG_END tags
  • Normal production system change, include purpose of change in description
  • If you mean to change the status of a component, please make sure you keep the Component Status page up to date.

NOTE: CI is not automatically run on non-members pull-requests for security
reasons. The reviewer will have to comment with /AzurePipelines run to
trigger the build.

Comment on lines 1238 to 1239
if versions.is_at_least("1.8.0", sdk_version):
# Versions prior to 2.0.0 are incompatible with Node version 16.
if versions.is_at_least("2.0.0", sdk_version):
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

How to proceed with this?
Can we patch or fix the dependency issue, or are these releases incompatible with the more recent NodeJS version?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've kept the older NodeJS version for the compat tests specifically for now. This seems to resolve the issue (at least locally, waiting for CI). This gives us the freedom to look into the NodeJS update for the compat tests independently.

@dasormeter
Copy link
Collaborator

dasormeter commented Mar 24, 2022

hiya @aherrmann-da what is it that is missing for build on an M1 machine onmain presently? i was able to run a bazel build //... successfully on an M1 laptop -- i have not yet tried a full bazel test //...

also are we planning to soon have both an arm64 and amd64 version of the linux docker images for the daml-sdk and friends published to dockerhub and/or our private digitalasset artifactory?

@aherrmann-da
Copy link
Contributor Author

hiya @aherrmann-da what is it that is missing for build on an M1 machine onmain presently? i was able to run a bazel build //... successfully on an M1 laptop -- i have not yet tried a full bazel test //...

@dasormeter This was tested on an M1 machine on MacOS 12.2 Monterey. By that I mean that bazel build //... and bazel test //... pass. So, in that regard, there is nothing that's missing. That said, there is the one issue with create-daml-app, see #13250 for details. This PR works around that by disabling this test on M1.

also are we planning to soon have both an arm64 and amd64 version of the linux docker images for the daml-sdk and friends published to dockerhub and/or our private digitalasset artifactory?

I don't know if there are any plans around that.

@garyverhaegen-da
Copy link
Contributor

garyverhaegen-da commented Mar 25, 2022

Thank you so much for looking into this!

@dasormeter

also are we planning to soon have both an arm64 and amd64 version of the linux docker images for the daml-sdk and friends published to dockerhub and/or our private digitalasset artifactory?

No.

hiya @aherrmann-da what is it that is missing for build on an M1 machine onmain presently? i was able to run a bazel build //... successfully on an M1 laptop -- i have not yet tried a full bazel test //...

@dasormeter This was tested on an M1 machine on MacOS 12.2 Monterey. By that I mean that bazel build //... and bazel test //... pass. So, in that regard, there is nothing that's missing.

I think the question was specifically about main, i.e. why is this PR needed? I have not looked into it myself yet but both @dasormeter and @nycnewman have claimed successful builds on M1 with current main.

My (tenuous) understanding is that main currently builds x86 binaries even when run on M1 machines, and this PR makes us able to generate "native" arm binaries. But happy to be enlightened if that's not the case (or get confirmaton if it is).

@aherrmann-da
Copy link
Contributor Author

I think the question was specifically about main, i.e. why is this PR needed? I have not looked into it myself yet but both @dasormeter and @nycnewman have claimed successful builds on M1 with current main.

My (tenuous) understanding is that main currently builds x86 binaries even when run on M1 machines, and this PR makes us able to generate "native" arm binaries. But happy to be enlightened if that's not the case (or get confirmaton if it is).

Thanks for clarifying @garyverhaegen-da , indeed, I misunderstood the question.

You're correct, main currently builds in x86_64 mode through Rosetta and this PR enables native ARM64 builds.

Copy link
Contributor

@sofiafaro-da sofiafaro-da left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great work, thank you!

@@ -57,6 +57,7 @@ haskell_cabal_library(
version = packages["lsp-types"].version,
srcs = glob(["**"]),
deps = packages["lsp-types"].deps,
haddock = False,
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What does this do? Is this related to adding M1 support?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It disables building haddocks for that package. We already disable it for others. The haddocks build failed on M1, details are in the commit message.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice, thanks for the explanation.

@garyverhaegen-da
Copy link
Contributor

You're correct, main currently builds in x86_64 mode through Rosetta and this PR enables native ARM64 builds.

So if we want to publish M1 binaries, we'll need to build on M1? Is there any way we could get universal binaries built from both platforms? It's currently a bit tricky to add M1 nodes to CI.

@dasormeter
Copy link
Collaborator

Hi @aherrmann when i run bazel build //... on this branch on my M1 machine i get the following error

ERROR: /Users/brianhealey/g/daml/release/BUILD.bazel:9:18: HaskellLinkBinary release/release failed: (Exit 1): ghc_wrapper failed: error executing command
  (cd /private/var/tmp/_bazel_brianhealey/191c77e1bcea6e1b949558cf8ebb3be9/sandbox/processwrapper-sandbox/3861/execroot/com_github_digital_asset_daml && \
  exec env - \
    CC_WRAPPER_CC_PATH=external/local_config_cc/cc_wrapper.sh \
    CC_WRAPPER_CPU=darwin_arm64 \
    CC_WRAPPER_PLATFORM=darwin \
    LANG=C.UTF-8 \
    RULES_HASKELL_DOCDIR_PATH=/nix/store/kd7bjbp0wgz0qjhx6m2fcasp66n0wga2-ghc-native-bignum-9.0.2-doc/share/doc/ghc-native-bignum/html/libraries/base-4.15.1.0 \
    RULES_HASKELL_GHC_PATH=external/rules_haskell_ghc_nixpkgs/bin/ghc \
    RULES_HASKELL_GHC_PKG_PATH=external/rules_haskell_ghc_nixpkgs/bin/ghc-pkg \
    RULES_HASKELL_LIBDIR_PATH=/nix/store/z8577sg7xny6fxhndrrrkpvzhn53w9vc-ghc-native-bignum-9.0.2/lib/ghc-9.0.2 \
  bazel-out/darwin_arm64-opt/bin/external/rules_haskell/haskell/ghc_wrapper bazel-out/darwin_arm64-opt/bin/release/compile_flags_release__HaskellLinkBinary bazel-out/darwin_arm64-opt/bin/release/extra_args_release__HaskellLinkBinary)
Execution platform: @io_tweag_rules_nixpkgs//nixpkgs/platforms:host

Use --sandbox_debug to see verbose messages from the sandbox
ld: warning: directory not found for option '-L/nix/store/xqbgx1y5xh2k13c6nizlprkp0j8mcw6w-clang-wrapper-12.0.1/lib'
ld: warning: directory not found for option '-L/nix/store/xqbgx1y5xh2k13c6nizlprkp0j8mcw6w-clang-wrapper-12.0.1/lib'
/nix/store/cncwqs75v3syxhna1452bfd8wvwrzxxb-clang-wrapper-wrapper-12.0.1/bin/ld: line 256: 51168 Segmentation fault: 11  /nix/store/d853z4g5dp326kc7lqd9n3kh29wic1jf-cctools-binutils-darwin-949.0.1/bin/ld ${extraBefore+"${extraBefore[@]}"} ${params+"${params[@]}"} ${extraAfter+"${extraAfter[@]}"}
clang-12: error: linker command failed with exit code 139 (use -v to see invocation)
`cc_wrapper-python' failed in phase `Linker'. (Exit code: 139)
INFO: Elapsed time: 2133.417s, Critical Path: 1345.88s
INFO: 7331 processes: 3475 internal, 2 local, 3536 processwrapper-sandbox, 318 worker.
FAILED: Build did NOT complete successfully

Copy link
Contributor

@garyverhaegen-da garyverhaegen-da left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Blocking accidental merges until we figure out @dasormeter's issue.

@garyverhaegen-da
Copy link
Contributor

garyverhaegen-da commented Mar 28, 2022

@dasormeter There are Nix changes in this PR; can you confirm you get that after having refreshed your Nix configuration? In principle cding out of then back into the directory should be good enough if you're using dev-env, but if the problem persists could you try nuking Nix and see if that helps?

@dasormeter
Copy link
Collaborator

@dasormeter There are Nix changes in this PR; can you confirm you get that after having refreshed your Nix configuration? In principle cding out of then back into the directory should be good enough if you're using dev-env, but if the problem persists could you try nuking Nix and see if that helps?

I cd'ed out and back in and kicked off a bazel build //... again
Is there a command to run to verify the expected nix changes have kicked in?

@dasormeter
Copy link
Collaborator

Oddly enough the bash, python3.9 and clang that run as part of bazel do not report what kind (intel or mac) they are running -- i guess these are custom jobs we get from nix?
image

@dasormeter
Copy link
Collaborator

I still got the same error after cd'ing out and back in

By nuking Nix do you mean the usual daml repo cleanup commands or something more drastic?

@garyverhaegen-da
Copy link
Contributor

I still got the same error after cd'ing out and back in

By nuking Nix do you mean the usual daml repo cleanup commands or something more drastic?

I'm not using the word "nuke" lightly; what I do is:

rm -rf $HOME/{.nix-channels,.nix-defexpr,.nix-profile,.config/nixpkgs,.cache/nix} && chmod -R +w /nix/store; chmod -R +w /var/tmp/_bazel_garyverhaegen;  rm -rf /nix/store /nix/var /var/tmp/_bazel_garyverhaegen /Users/garyverhaegen/Desktop/code/daml/.bazel-cache; rm -rf /Users/garyverhaegen/Desktop/code/daml/dev-env/jdk

Then reinstall Nix and rebuild everything.

Obviously those commands are a bit specific to my own machine, but you get the idea. I've been told it's unnecessarily drastic and we should never need to do this, but anecdotally it has seemed to solve issues for me a few times. It's mostly psychological though: if something still fails after that I'm pretty confident it's not an issue with caching on my machine.

Do expect about 20 minutes for that + reinstall Nix, so plan for it accordingly if it's your main work machine.

@dasormeter
Copy link
Collaborator

Did you also blow out /var/tmp/_bazel__nixbld1/?

❯ ls var/tmp/_bazel
_bazel__nixbld1/ _bazel_brianhealey/

@garyverhaegen-da
Copy link
Contributor

I don't have that. I assume you've done a multi-user install of Nix and nixbld1 is the username of your Nix builder?

@dasormeter
Copy link
Collaborator

I don't have that. I assume you've done a multi-user install of Nix and nixbld1 is the username of your Nix builder?

Yeah i just followed default options for nix install

@dasormeter
Copy link
Collaborator

I still got the same error after cd'ing out and back in
By nuking Nix do you mean the usual daml repo cleanup commands or something more drastic?

I'm not using the word "nuke" lightly; what I do is:

rm -rf $HOME/{.nix-channels,.nix-defexpr,.nix-profile,.config/nixpkgs,.cache/nix} && chmod -R +w /nix/store; chmod -R +w /var/tmp/_bazel_garyverhaegen;  rm -rf /nix/store /nix/var /var/tmp/_bazel_garyverhaegen /Users/garyverhaegen/Desktop/code/daml/.bazel-cache; rm -rf /Users/garyverhaegen/Desktop/code/daml/dev-env/jdk

Then reinstall Nix and rebuild everything.

Obviously those commands are a bit specific to my own machine, but you get the idea. I've been told it's unnecessarily drastic and we should never need to do this, but anecdotally it has seemed to solve issues for me a few times. It's mostly psychological though: if something still fails after that I'm pretty confident it's not an issue with caching on my machine.

Do expect about 20 minutes for that + reinstall Nix, so plan for it accordingly if it's your main work machine.

Seems to be rebuilding the world from nix derivations when i then run bazel build //... after resintalling nix : is this expected because nix store was blown out?

image

@garyverhaegen-da
Copy link
Contributor

If you've blown your Nix store (as my commands above do), it is expected that Nix has to do some work to get its store back in shape, but most of it should be downloading pre-built binaries, not building things from scratch.

If you want to separate Bazel work from Nix work, you can do just the Nix work by running:

nix-build --no-out-link nix -A tools -A cached

from the root of the repo.

The caching story may be different on M1 so it's possible it's building more there. When I run it (on my Intel mac) it's basically getting everything from the cache.

@dasormeter
Copy link
Collaborator

@aherrmann-da @garyverhaegen-da unfortunately a full nix and bazel nuke and reinstall did not make a difference -- still failing at this same place on an M1 machine when i do bazel build //...

ERROR: /Users/brianhealey/g/daml/daml-assistant/integration-tests/BUILD.bazel:106:16: HaskellLinkBinary daml-assistant/integration-tests/integration-tests failed: (Exit 1): ghc_wrapper failed: error executing command
  (cd /private/var/tmp/_bazel_brianhealey/191c77e1bcea6e1b949558cf8ebb3be9/sandbox/processwrapper-sandbox/5180/execroot/com_github_digital_asset_daml && \
  exec env - \
    CC_WRAPPER_CC_PATH=external/local_config_cc/cc_wrapper.sh \
    CC_WRAPPER_CPU=darwin_arm64 \
    CC_WRAPPER_PLATFORM=darwin \
    LANG=C.UTF-8 \
    RULES_HASKELL_DOCDIR_PATH=/nix/store/kd7bjbp0wgz0qjhx6m2fcasp66n0wga2-ghc-native-bignum-9.0.2-doc/share/doc/ghc-native-bignum/html/libraries/base-4.15.1.0 \
    RULES_HASKELL_GHC_PATH=external/rules_haskell_ghc_nixpkgs/bin/ghc \
    RULES_HASKELL_GHC_PKG_PATH=external/rules_haskell_ghc_nixpkgs/bin/ghc-pkg \
    RULES_HASKELL_LIBDIR_PATH=/nix/store/z8577sg7xny6fxhndrrrkpvzhn53w9vc-ghc-native-bignum-9.0.2/lib/ghc-9.0.2 \
  bazel-out/darwin_arm64-opt/bin/external/rules_haskell/haskell/ghc_wrapper bazel-out/darwin_arm64-opt/bin/daml-assistant/integration-tests/compile_flags_integration-tests__HaskellLinkBinary bazel-out/darwin_arm64-opt/bin/daml-assistant/integration-tests/extra_args_integration-tests__HaskellLinkBinary)
Execution platform: @io_tweag_rules_nixpkgs//nixpkgs/platforms:host

Use --sandbox_debug to see verbose messages from the sandbox
ld: warning: directory not found for option '-L/nix/store/xqbgx1y5xh2k13c6nizlprkp0j8mcw6w-clang-wrapper-12.0.1/lib'
ld: warning: directory not found for option '-L/nix/store/xqbgx1y5xh2k13c6nizlprkp0j8mcw6w-clang-wrapper-12.0.1/lib'
/nix/store/cncwqs75v3syxhna1452bfd8wvwrzxxb-clang-wrapper-wrapper-12.0.1/bin/ld: line 256: 93072 Segmentation fault: 11  /nix/store/d853z4g5dp326kc7lqd9n3kh29wic1jf-cctools-binutils-darwin-949.0.1/bin/ld ${extraBefore+"${extraBefore[@]}"} ${params+"${params[@]}"} ${extraAfter+"${extraAfter[@]}"}
clang-12: error: linker command failed with exit code 139 (use -v to see invocation)
`cc_wrapper-python' failed in phase `Linker'. (Exit code: 139)
INFO: Elapsed time: 2875.536s, Critical Path: 2044.12s
INFO: 11819 processes: 6641 internal, 4 local, 4684 processwrapper-sandbox, 490 worker.
FAILED: Build did NOT complete successfully

@dasormeter
Copy link
Collaborator

@aherrmann-da @garyverhaegen-da unfortunately a full nix and bazel nuke and reinstall did not make a difference -- still failing at this same place on an M1 machine when i do bazel build //...

ERROR: /Users/brianhealey/g/daml/daml-assistant/integration-tests/BUILD.bazel:106:16: HaskellLinkBinary daml-assistant/integration-tests/integration-tests failed: (Exit 1): ghc_wrapper failed: error executing command
  (cd /private/var/tmp/_bazel_brianhealey/191c77e1bcea6e1b949558cf8ebb3be9/sandbox/processwrapper-sandbox/5180/execroot/com_github_digital_asset_daml && \
  exec env - \
    CC_WRAPPER_CC_PATH=external/local_config_cc/cc_wrapper.sh \
    CC_WRAPPER_CPU=darwin_arm64 \
    CC_WRAPPER_PLATFORM=darwin \
    LANG=C.UTF-8 \
    RULES_HASKELL_DOCDIR_PATH=/nix/store/kd7bjbp0wgz0qjhx6m2fcasp66n0wga2-ghc-native-bignum-9.0.2-doc/share/doc/ghc-native-bignum/html/libraries/base-4.15.1.0 \
    RULES_HASKELL_GHC_PATH=external/rules_haskell_ghc_nixpkgs/bin/ghc \
    RULES_HASKELL_GHC_PKG_PATH=external/rules_haskell_ghc_nixpkgs/bin/ghc-pkg \
    RULES_HASKELL_LIBDIR_PATH=/nix/store/z8577sg7xny6fxhndrrrkpvzhn53w9vc-ghc-native-bignum-9.0.2/lib/ghc-9.0.2 \
  bazel-out/darwin_arm64-opt/bin/external/rules_haskell/haskell/ghc_wrapper bazel-out/darwin_arm64-opt/bin/daml-assistant/integration-tests/compile_flags_integration-tests__HaskellLinkBinary bazel-out/darwin_arm64-opt/bin/daml-assistant/integration-tests/extra_args_integration-tests__HaskellLinkBinary)
Execution platform: @io_tweag_rules_nixpkgs//nixpkgs/platforms:host

Use --sandbox_debug to see verbose messages from the sandbox
ld: warning: directory not found for option '-L/nix/store/xqbgx1y5xh2k13c6nizlprkp0j8mcw6w-clang-wrapper-12.0.1/lib'
ld: warning: directory not found for option '-L/nix/store/xqbgx1y5xh2k13c6nizlprkp0j8mcw6w-clang-wrapper-12.0.1/lib'
/nix/store/cncwqs75v3syxhna1452bfd8wvwrzxxb-clang-wrapper-wrapper-12.0.1/bin/ld: line 256: 93072 Segmentation fault: 11  /nix/store/d853z4g5dp326kc7lqd9n3kh29wic1jf-cctools-binutils-darwin-949.0.1/bin/ld ${extraBefore+"${extraBefore[@]}"} ${params+"${params[@]}"} ${extraAfter+"${extraAfter[@]}"}
clang-12: error: linker command failed with exit code 139 (use -v to see invocation)
`cc_wrapper-python' failed in phase `Linker'. (Exit code: 139)
INFO: Elapsed time: 2875.536s, Critical Path: 2044.12s
INFO: 11819 processes: 6641 internal, 4 local, 4684 processwrapper-sandbox, 490 worker.
FAILED: Build did NOT complete successfully

I get many warnings about the clang-wrapper-12.0.1/bin directory not being found in many of the targes

INFO: From HaskellLinkBinary compiler/damlc/tests/damlc-lint:
ld: warning: directory not found for option '-L/nix/store/xqbgx1y5xh2k13c6nizlprkp0j8mcw6w-clang-wrapper-12.0.1/lib'
ld: warning: directory not found for option '-L/nix/store/xqbgx1y5xh2k13c6nizlprkp0j8mcw6w-clang-wrapper-12.0.1/lib'
INFO: From HaskellLinkBinary daml-assistant/daml-helper/test-daml-ledger:
ld: warning: directory not found for option '-L/nix/store/xqbgx1y5xh2k13c6nizlprkp0j8mcw6w-clang-wrapper-12.0.1/lib'
ld: warning: directory not found for option '-L/nix/store/xqbgx1y5xh2k13c6nizlprkp0j8mcw6w-clang-wrapper-12.0.1/lib'
INFO: From HaskellLinkBinary compiler/damlc/tests/damlc-cliparser:
ld: warning: directory not found for option '-L/nix/store/xqbgx1y5xh2k13c6nizlprkp0j8mcw6w-clang-wrapper-12.0.1/lib'
ld: warning: directory not found for option '-L/nix/store/xqbgx1y5xh2k13c6nizlprkp0j8mcw6w-clang-wrapper-12.0.1/lib'
INFO: From HaskellLinkBinary compiler/damlc/tests/damlc-test:
ld: warning: directory not found for option '-L/nix/store/xqbgx1y5xh2k13c6nizlprkp0j8mcw6w-clang-wrapper-12.0.1/lib'
ld: warning: directory not found for option '-L/nix/store/xqbgx1y5xh2k13c6nizlprkp0j8mcw6w-clang-wrapper-12.0.1/lib'
INFO: From HaskellLinkBinary compiler/damlc/tests/daml-doc:
ld: warning: directory not found for option '-L/nix/store/xqbgx1y5xh2k13c6nizlprkp0j8mcw6w-clang-wrapper-12.0.1/lib'
ld: warning: directory not found for option '-L/nix/store/xqbgx1y5xh2k13c6nizlprkp0j8mcw6w-clang-wrapper-12.0.1/lib'
INFO: From HaskellLinkBinary compiler/damlc/damlc-bootstrap:
ld: warning: directory not found for option '-L/nix/store/xqbgx1y5xh2k13c6nizlprkp0j8mcw6w-clang-wrapper-12.0.1/lib'
ld: warning: directory not found for option '-L/nix/store/xqbgx1y5xh2k13c6nizlprkp0j8mcw6w-clang-wrapper-12.0.1/lib'

@dasormeter
Copy link
Collaborator

On third rebuild this looks to have worked

luaotfload | db : Font names database not found, generating new one.
luaotfload | db : This can take several minutes; please be patient.This is LuaHBTeX, Version 1.13.0 (Web2C 2021/NixOS.org)
 system commands enabled.
INFO: Elapsed time: 318.041s, Critical Path: 301.82s
INFO: 770 processes: 6 internal, 431 processwrapper-sandbox, 333 worker.
INFO: Build completed successfully, 770 total actions

Copy link
Collaborator

@dasormeter dasormeter left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Build successfully on M1 laptop
A fully bazel test //... passed as well (took some hrs though :))

Copy link
Contributor

@skisel-da skisel-da left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Build successfully on my M1 laptop as well

rules_sh was an implicit dependency before. We are now depending on it
explicitly to be able to control the version.
This should be upstreamed.
* Detect MacOS M1 OS and architecture.
* Consistently use the CC toolchains' linker.
  This is important when we switch to GHC with LLVM.
The old flags hard-coded the CPU architecture. The new platform
automatically inherits from Bazel's builtin host platform.
We're also disabling it on the other haskell_cabal_library instances,
and it is causing build errors on M1.

```
Running Haddock on library for lsp-types-1.4.0.0..
creating
/private/var/tmp/_bazel_builder/7ce5f28514593fc1883e9fee6040cfef/sandbox/processwrapper-sandbox/1/execroot/com_github_digital_asset_daml/bazel-out/darwin_arm64-opt/bin/external/lsp-types/lsp-types-1.4.0.0/doc/html/lsp-types
creating
/private/var/tmp/_bazel_builder/7ce5f28514593fc1883e9fee6040cfef/sandbox/processwrapper-sandbox/1/execroot/com_github_digital_asset_daml/bazel-out/darwin_arm64-opt/bin/external/lsp-types/lsp-types-1.4.0.0/doc/html
creating
/private/var/tmp/_bazel_builder/7ce5f28514593fc1883e9fee6040cfef/sandbox/processwrapper-sandbox/1/execroot/com_github_digital_asset_daml/bazel-out/darwin_arm64-opt/bin/external/lsp-types/lsp-types-1.4.0.0/doc
creating
/private/var/tmp/_bazel_builder/7ce5f28514593fc1883e9fee6040cfef/sandbox/processwrapper-sandbox/1/execroot/com_github_digital_asset_daml/bazel-out/darwin_arm64-opt/bin/external/lsp-types/lsp-types-1.4.0.0/doc/html
creating
/private/var/tmp/_bazel_builder/7ce5f28514593fc1883e9fee6040cfef/sandbox/processwrapper-sandbox/1/execroot/com_github_digital_asset_daml/bazel-out/darwin_arm64-opt/bin/external/lsp-types/lsp-types-1.4.0.0/doc/html/lsp-types
/private/var/tmp/_bazel_builder/7ce5f28514593fc1883e9fee6040cfef/sandbox/processwrapper-sandbox/1/execroot/com_github_digital_asset_daml/bazel-out/darwin_arm64-opt/bin/external/lsp-types/lsp-types-1.4.0.0/doc/html/lsp-types/haddock-response42424-1.txt
contents: <<<
--prologue=/private/var/tmp/_bazel_builder/7ce5f28514593fc1883e9fee6040cfef/sandbox/processwrapper-sandbox/1/execroot/com_github_digital_asset_daml/bazel-out/darwin_arm64-opt/bin/external/lsp-types/lsp-types-1.4.0.0/doc/html/lsp-types/haddock-prologue42424-0.txt
--dump-interface=/private/var/tmp/_bazel_builder/7ce5f28514593fc1883e9fee6040cfef/sandbox/processwrapper-sandbox/1/execroot/com_github_digital_asset_daml/bazel-out/darwin_arm64-opt/bin/external/lsp-types/lsp-types-1.4.0.0/doc/html/lsp-types/lsp-types.haddock
--package-name=lsp-types
--package-version=1.4.0.0
--since-qual=external
--hide=Language.LSP.Types.CallHierarchy
--hide=Language.LSP.Types.Cancellation
--hide=Language.LSP.Types.ClientCapabilities
--hide=Language.LSP.Types.CodeAction
--hide=Language.LSP.Types.CodeLens
--hide=Language.LSP.Types.Command
--hide=Language.LSP.Types.Common
--hide=Language.LSP.Types.Completion
--hide=Language.LSP.Types.Configuration
--hide=Language.LSP.Types.Declaration
--hide=Language.LSP.Types.Definition
--hide=Language.LSP.Types.Diagnostic
--hide=Language.LSP.Types.DocumentColor
--hide=Language.LSP.Types.DocumentFilter
--hide=Language.LSP.Types.DocumentHighlight
--hide=Language.LSP.Types.DocumentLink
--hide=Language.LSP.Types.DocumentSymbol
--hide=Language.LSP.Types.FoldingRange
--hide=Language.LSP.Types.Formatting
--hide=Language.LSP.Types.Hover
--hide=Language.LSP.Types.Implementation
--hide=Language.LSP.Types.Initialize
--hide=Language.LSP.Types.Location
--hide=Language.LSP.Types.LspId
--hide=Language.LSP.Types.MarkupContent
--hide=Language.LSP.Types.Method
--hide=Language.LSP.Types.Message
--hide=Language.LSP.Types.Parsing
--hide=Language.LSP.Types.Progress
--hide=Language.LSP.Types.Registration
--hide=Language.LSP.Types.References
--hide=Language.LSP.Types.Rename
--hide=Language.LSP.Types.SelectionRange
--hide=Language.LSP.Types.ServerCapabilities
--hide=Language.LSP.Types.SemanticTokens
--hide=Language.LSP.Types.SignatureHelp
--hide=Language.LSP.Types.StaticRegistrationOptions
--hide=Language.LSP.Types.TextDocument
--hide=Language.LSP.Types.TypeDefinition
--hide=Language.LSP.Types.Uri
--hide=Language.LSP.Types.Utils
--hide=Language.LSP.Types.Window
--hide=Language.LSP.Types.WatchedFiles
--hide=Language.LSP.Types.WorkspaceEdit
--hide=Language.LSP.Types.WorkspaceFolders
--hide=Language.LSP.Types.WorkspaceSymbol
--html
--read-interface=file:///nix/store/kd7bjbp0wgz0qjhx6m2fcasp66n0wga2-ghc-native-bignum-9.0.2-doc/share/doc/ghc-native-bignum/html/libraries/array-0.5.4.0,/nix/store/kd7bjbp0wgz0qjhx6m2fcasp66n0wga2-ghc-native-bignum-9.0.2-doc/share/doc/ghc-native-bignum/html/libraries/array-0.5.4.0/array.haddock
--read-interface=file:///nix/store/kd7bjbp0wgz0qjhx6m2fcasp66n0wga2-ghc-native-bignum-9.0.2-doc/share/doc/ghc-native-bignum/html/libraries/base-4.15.1.0,/nix/store/kd7bjbp0wgz0qjhx6m2fcasp66n0wga2-ghc-native-bignum-9.0.2-doc/share/doc/ghc-native-bignum/html/libraries/base-4.15.1.0/base.haddock
--read-interface=file:///nix/store/kd7bjbp0wgz0qjhx6m2fcasp66n0wga2-ghc-native-bignum-9.0.2-doc/share/doc/ghc-native-bignum/html/libraries/binary-0.8.8.0,/nix/store/kd7bjbp0wgz0qjhx6m2fcasp66n0wga2-ghc-native-bignum-9.0.2-doc/share/doc/ghc-native-bignum/html/libraries/binary-0.8.8.0/binary.haddock
--read-interface=file:///nix/store/kd7bjbp0wgz0qjhx6m2fcasp66n0wga2-ghc-native-bignum-9.0.2-doc/share/doc/ghc-native-bignum/html/libraries/bytestring-0.10.12.1,/nix/store/kd7bjbp0wgz0qjhx6m2fcasp66n0wga2-ghc-native-bignum-9.0.2-doc/share/doc/ghc-native-bignum/html/libraries/bytestring-0.10.12.1/bytestring.haddock
--read-interface=file:///nix/store/kd7bjbp0wgz0qjhx6m2fcasp66n0wga2-ghc-native-bignum-9.0.2-doc/share/doc/ghc-native-bignum/html/libraries/containers-0.6.4.1,/nix/store/kd7bjbp0wgz0qjhx6m2fcasp66n0wga2-ghc-native-bignum-9.0.2-doc/share/doc/ghc-native-bignum/html/libraries/containers-0.6.4.1/containers.haddock
--read-interface=file:///nix/store/kd7bjbp0wgz0qjhx6m2fcasp66n0wga2-ghc-native-bignum-9.0.2-doc/share/doc/ghc-native-bignum/html/libraries/deepseq-1.4.5.0,/nix/store/kd7bjbp0wgz0qjhx6m2fcasp66n0wga2-ghc-native-bignum-9.0.2-doc/share/doc/ghc-native-bignum/html/libraries/deepseq-1.4.5.0/deepseq.haddock
--read-interface=file:///nix/store/kd7bjbp0wgz0qjhx6m2fcasp66n0wga2-ghc-native-bignum-9.0.2-doc/share/doc/ghc-native-bignum/html/libraries/directory-1.3.6.2,/nix/store/kd7bjbp0wgz0qjhx6m2fcasp66n0wga2-ghc-native-bignum-9.0.2-doc/share/doc/ghc-native-bignum/html/libraries/directory-1.3.6.2/directory.haddock
--read-interface=file:///nix/store/kd7bjbp0wgz0qjhx6m2fcasp66n0wga2-ghc-native-bignum-9.0.2-doc/share/doc/ghc-native-bignum/html/libraries/exceptions-0.10.4,/nix/store/kd7bjbp0wgz0qjhx6m2fcasp66n0wga2-ghc-native-bignum-9.0.2-doc/share/doc/ghc-native-bignum/html/libraries/exceptions-0.10.4/exceptions.haddock
--read-interface=file:///nix/store/kd7bjbp0wgz0qjhx6m2fcasp66n0wga2-ghc-native-bignum-9.0.2-doc/share/doc/ghc-native-bignum/html/libraries/filepath-1.4.2.1,/nix/store/kd7bjbp0wgz0qjhx6m2fcasp66n0wga2-ghc-native-bignum-9.0.2-doc/share/doc/ghc-native-bignum/html/libraries/filepath-1.4.2.1/filepath.haddock
--read-interface=file:///nix/store/kd7bjbp0wgz0qjhx6m2fcasp66n0wga2-ghc-native-bignum-9.0.2-doc/share/doc/ghc-native-bignum/html/libraries/ghc-bignum-1.1,/nix/store/kd7bjbp0wgz0qjhx6m2fcasp66n0wga2-ghc-native-bignum-9.0.2-doc/share/doc/ghc-native-bignum/html/libraries/ghc-bignum-1.1/ghc-bignum.haddock
--read-interface=file:///nix/store/kd7bjbp0wgz0qjhx6m2fcasp66n0wga2-ghc-native-bignum-9.0.2-doc/share/doc/ghc-native-bignum/html/libraries/ghc-boot-th-9.0.2,/nix/store/kd7bjbp0wgz0qjhx6m2fcasp66n0wga2-ghc-native-bignum-9.0.2-doc/share/doc/ghc-native-bignum/html/libraries/ghc-boot-th-9.0.2/ghc-boot-th.haddock
--read-interface=file:///nix/store/kd7bjbp0wgz0qjhx6m2fcasp66n0wga2-ghc-native-bignum-9.0.2-doc/share/doc/ghc-native-bignum/html/libraries/ghc-prim-0.7.0,/nix/store/kd7bjbp0wgz0qjhx6m2fcasp66n0wga2-ghc-native-bignum-9.0.2-doc/share/doc/ghc-native-bignum/html/libraries/ghc-prim-0.7.0/ghc-prim.haddock
--read-interface=file:///nix/store/kd7bjbp0wgz0qjhx6m2fcasp66n0wga2-ghc-native-bignum-9.0.2-doc/share/doc/ghc-native-bignum/html/libraries/integer-gmp-1.1,/nix/store/kd7bjbp0wgz0qjhx6m2fcasp66n0wga2-ghc-native-bignum-9.0.2-doc/share/doc/ghc-native-bignum/html/libraries/integer-gmp-1.1/integer-gmp.haddock
--read-interface=file:///nix/store/kd7bjbp0wgz0qjhx6m2fcasp66n0wga2-ghc-native-bignum-9.0.2-doc/share/doc/ghc-native-bignum/html/libraries/mtl-2.2.2,/nix/store/kd7bjbp0wgz0qjhx6m2fcasp66n0wga2-ghc-native-bignum-9.0.2-doc/share/doc/ghc-native-bignum/html/libraries/mtl-2.2.2/mtl.haddock
--read-interface=file:///nix/store/kd7bjbp0wgz0qjhx6m2fcasp66n0wga2-ghc-native-bignum-9.0.2-doc/share/doc/ghc-native-bignum/html/libraries/parsec-3.1.14.0,/nix/store/kd7bjbp0wgz0qjhx6m2fcasp66n0wga2-ghc-native-bignum-9.0.2-doc/share/doc/ghc-native-bignum/html/libraries/parsec-3.1.14.0/parsec.haddock
--read-interface=file:///nix/store/kd7bjbp0wgz0qjhx6m2fcasp66n0wga2-ghc-native-bignum-9.0.2-doc/share/doc/ghc-native-bignum/html/libraries/pretty-1.1.3.6,/nix/store/kd7bjbp0wgz0qjhx6m2fcasp66n0wga2-ghc-native-bignum-9.0.2-doc/share/doc/ghc-native-bignum/html/libraries/pretty-1.1.3.6/pretty.haddock
--read-interface=file:///nix/store/kd7bjbp0wgz0qjhx6m2fcasp66n0wga2-ghc-native-bignum-9.0.2-doc/share/doc/ghc-native-bignum/html/libraries/stm-2.5.0.0,/nix/store/kd7bjbp0wgz0qjhx6m2fcasp66n0wga2-ghc-native-bignum-9.0.2-doc/share/doc/ghc-native-bignum/html/libraries/stm-2.5.0.0/stm.haddock
--read-interface=file:///nix/store/kd7bjbp0wgz0qjhx6m2fcasp66n0wga2-ghc-native-bignum-9.0.2-doc/share/doc/ghc-native-bignum/html/libraries/template-haskell-2.17.0.0,/nix/store/kd7bjbp0wgz0qjhx6m2fcasp66n0wga2-ghc-native-bignum-9.0.2-doc/share/doc/ghc-native-bignum/html/libraries/template-haskell-2.17.0.0/template-haskell.haddock
--read-interface=file:///nix/store/kd7bjbp0wgz0qjhx6m2fcasp66n0wga2-ghc-native-bignum-9.0.2-doc/share/doc/ghc-native-bignum/html/libraries/text-1.2.5.0,/nix/store/kd7bjbp0wgz0qjhx6m2fcasp66n0wga2-ghc-native-bignum-9.0.2-doc/share/doc/ghc-native-bignum/html/libraries/text-1.2.5.0/text.haddock
--read-interface=file:///nix/store/kd7bjbp0wgz0qjhx6m2fcasp66n0wga2-ghc-native-bignum-9.0.2-doc/share/doc/ghc-native-bignum/html/libraries/time-1.9.3,/nix/store/kd7bjbp0wgz0qjhx6m2fcasp66n0wga2-ghc-native-bignum-9.0.2-doc/share/doc/ghc-native-bignum/html/libraries/time-1.9.3/time.haddock
--read-interface=file:///nix/store/kd7bjbp0wgz0qjhx6m2fcasp66n0wga2-ghc-native-bignum-9.0.2-doc/share/doc/ghc-native-bignum/html/libraries/transformers-0.5.6.2,/nix/store/kd7bjbp0wgz0qjhx6m2fcasp66n0wga2-ghc-native-bignum-9.0.2-doc/share/doc/ghc-native-bignum/html/libraries/transformers-0.5.6.2/transformers.haddock
--read-interface=file:///nix/store/kd7bjbp0wgz0qjhx6m2fcasp66n0wga2-ghc-native-bignum-9.0.2-doc/share/doc/ghc-native-bignum/html/libraries/unix-2.7.2.2,/nix/store/kd7bjbp0wgz0qjhx6m2fcasp66n0wga2-ghc-native-bignum-9.0.2-doc/share/doc/ghc-native-bignum/html/libraries/unix-2.7.2.2/unix.haddock
--odir=/private/var/tmp/_bazel_builder/7ce5f28514593fc1883e9fee6040cfef/sandbox/processwrapper-sandbox/1/execroot/com_github_digital_asset_daml/bazel-out/darwin_arm64-opt/bin/external/lsp-types/lsp-types-1.4.0.0/doc/html/lsp-types/
--title=lsp-types-1.4.0.0:\ Haskell\ library\ for\ the\ Microsoft\ Language\
Server\ Protocol,\ data\ types
--optghc=-fbuilding-cabal-package
--optghc=-O
--optghc=-outputdir
--optghc=../../bazel-out/darwin_arm64-opt/bin/external/lsp-types/lsp-types-1.4.0.0/build
--optghc=-odir
--optghc=../../bazel-out/darwin_arm64-opt/bin/external/lsp-types/lsp-types-1.4.0.0/build/tmp-42424
--optghc=-hidir
--optghc=../../bazel-out/darwin_arm64-opt/bin/external/lsp-types/lsp-types-1.4.0.0/build/tmp-42424
--optghc=-stubdir
--optghc=../../bazel-out/darwin_arm64-opt/bin/external/lsp-types/lsp-types-1.4.0.0/build/tmp-42424
--optghc=-i
--optghc=-i../../bazel-out/darwin_arm64-opt/bin/external/lsp-types/lsp-types-1.4.0.0/build
--optghc=-isrc
--optghc=-i../../bazel-out/darwin_arm64-opt/bin/external/lsp-types/lsp-types-1.4.0.0/build/autogen
--optghc=-i../../bazel-out/darwin_arm64-opt/bin/external/lsp-types/lsp-types-1.4.0.0/build/global-autogen
--optghc=-I../../bazel-out/darwin_arm64-opt/bin/external/lsp-types/lsp-types-1.4.0.0/build/autogen
--optghc=-I../../bazel-out/darwin_arm64-opt/bin/external/lsp-types/lsp-types-1.4.0.0/build/global-autogen
--optghc=-I../../bazel-out/darwin_arm64-opt/bin/external/lsp-types/lsp-types-1.4.0.0/build
--optghc=-optP-D__HADDOCK_VERSION__=2251
--optghc=-optP-include
--optghc=-optP../../bazel-out/darwin_arm64-opt/bin/external/lsp-types/lsp-types-1.4.0.0/build/autogen/cabal_macros.h
--optghc=-this-unit-id
--optghc=lsp-types-1.4.0.0
--optghc=-hide-all-packages
--optghc=-Wmissing-home-modules
--optghc=-no-user-package-db
--optghc=-package-db
--optghc=../../bazel-out/darwin_arm64-opt/bin/external/stackage/Diff-0.4.1/_install/Diff-0.4.1.conf.d
--optghc=-package-db
--optghc=../../bazel-out/darwin_arm64-opt/bin/external/stackage/base-orphans-0.8.6/_install/base-orphans-0.8.6.conf.d
--optghc=-package-db
--optghc=../../bazel-out/darwin_arm64-opt/bin/external/stackage/OneTuple-0.3.1/_install/OneTuple-0.3.1.conf.d
--optghc=-package-db
--optghc=../../bazel-out/darwin_arm64-opt/bin/external/stackage/splitmix-0.1.0.4/_install/splitmix-0.1.0.4.conf.d
--optghc=-package-db
--optghc=../../bazel-out/darwin_arm64-opt/bin/external/stackage/random-1.2.1/_install/random-1.2.1.conf.d
--optghc=-package-db
--optghc=../../bazel-out/darwin_arm64-opt/bin/external/stackage/QuickCheck-2.14.2/_install/QuickCheck-2.14.2.conf.d
--optghc=-package-db
--optghc=../../bazel-out/darwin_arm64-opt/bin/external/stackage/hashable-1.3.5.0/_install/hashable-1.3.5.0.conf.d
--optghc=-package-db
--optghc=../../bazel-out/darwin_arm64-opt/bin/external/stackage/integer-logarithms-1.0.3.1/_install/integer-logarithms-1.0.3.1.conf.d
--optghc=-package-db
--optghc=../../bazel-out/darwin_arm64-opt/bin/external/stackage/primitive-0.7.3.0/_install/primitive-0.7.3.0.conf.d
--optghc=-package-db
--optghc=../../bazel-out/darwin_arm64-opt/bin/external/stackage/scientific-0.3.7.0/_install/scientific-0.3.7.0.conf.d
--optghc=-package-db
--optghc=../../bazel-out/darwin_arm64-opt/bin/external/stackage/attoparsec-0.14.4/_install/attoparsec-0.14.4-attoparsec-internal.conf.d
--optghc=-package-db
--optghc=../../bazel-out/darwin_arm64-opt/bin/external/stackage/attoparsec-0.14.4/_install/attoparsec-0.14.4.conf.d
--optghc=-package-db
--optghc=../../bazel-out/darwin_arm64-opt/bin/external/stackage/base-compat-0.11.2/_install/base-compat-0.11.2.conf.d
--optghc=-package-db
--optghc=../../bazel-out/darwin_arm64-opt/bin/external/stackage/base-compat-batteries-0.11.2/_install/base-compat-batteries-0.11.2.conf.d
--optghc=-package-db
--optghc=../../bazel-out/darwin_arm64-opt/bin/external/stackage/data-fix-0.3.2/_install/data-fix-0.3.2.conf.d
--optghc=-package-db
--optghc=../../bazel-out/darwin_arm64-opt/bin/external/stackage/dlist-1.0/_install/dlist-1.0.conf.d
--optghc=-package-db
--optghc=../../bazel-out/darwin_arm64-opt/bin/external/stackage/indexed-traversable-0.1.2/_install/indexed-traversable-0.1.2.conf.d
--optghc=-package-db
--optghc=../../bazel-out/darwin_arm64-opt/bin/external/stackage/tagged-0.8.6.1/_install/tagged-0.8.6.1.conf.d
--optghc=-package-db
--optghc=../../bazel-out/darwin_arm64-opt/bin/external/stackage/unordered-containers-0.2.16.0/_install/unordered-containers-0.2.16.0.conf.d
--optghc=-package-db
--optghc=../../bazel-out/darwin_arm64-opt/bin/external/stackage/vector-0.12.3.1/_install/vector-0.12.3.1.conf.d
--optghc=-package-db
--optghc=../../bazel-out/darwin_arm64-opt/bin/external/stackage/indexed-traversable-instances-0.1.1/_install/indexed-traversable-instances-0.1.1.conf.d
--optghc=-package-db
--optghc=../../bazel-out/darwin_arm64-opt/bin/external/stackage/distributive-0.6.2.1/_install/distributive-0.6.2.1.conf.d
--optghc=-package-db
--optghc=../../bazel-out/darwin_arm64-opt/bin/external/stackage/transformers-compat-0.6.6/_install/transformers-compat-0.6.6.conf.d
--optghc=-package-db
--optghc=../../bazel-out/darwin_arm64-opt/bin/external/stackage/comonad-5.0.8/_install/comonad-5.0.8.conf.d
--optghc=-package-db
--optghc=../../bazel-out/darwin_arm64-opt/bin/external/stackage/th-abstraction-0.4.3.0/_install/th-abstraction-0.4.3.0.conf.d
--optghc=-package-db
--optghc=../../bazel-out/darwin_arm64-opt/bin/external/stackage/bifunctors-5.5.11/_install/bifunctors-5.5.11.conf.d
--optghc=-package-db
--optghc=../../bazel-out/darwin_arm64-opt/bin/external/stackage/StateVar-1.2.2/_install/StateVar-1.2.2.conf.d
--optghc=-package-db
--optghc=../../bazel-out/darwin_arm64-opt/bin/external/stackage/contravariant-1.5.5/_install/contravariant-1.5.5.conf.d
--optghc=-package-db
--optghc=../../bazel-out/darwin_arm64-opt/bin/external/stackage/semigroupoids-5.3.7/_install/semigroupoids-5.3.7.conf.d
--optghc=-package-db
--optghc=../../bazel-out/darwin_arm64-opt/bin/external/stackage/assoc-1.0.2/_install/assoc-1.0.2.conf.d
--optghc=-package-db
--optghc=../../bazel-out/darwin_arm64-opt/bin/external/stackage/these-1.1.1.1/_install/these-1.1.1.1.conf.d
--optghc=-package-db
--optghc=../../bazel-out/darwin_arm64-opt/bin/external/stackage/semialign-1.2.0.1/_install/semialign-1.2.0.1.conf.d
--optghc=-package-db
--optghc=../../bazel-out/darwin_arm64-opt/bin/external/stackage/strict-0.4.0.1/_install/strict-0.4.0.1.conf.d
--optghc=-package-db
--optghc=../../bazel-out/darwin_arm64-opt/bin/external/stackage/text-short-0.1.5/_install/text-short-0.1.5.conf.d
--optghc=-package-db
--optghc=../../bazel-out/darwin_arm64-opt/bin/external/stackage/time-compat-1.9.6.1/_install/time-compat-1.9.6.1.conf.d
--optghc=-package-db
--optghc=../../bazel-out/darwin_arm64-opt/bin/external/stackage/uuid-types-1.0.5/_install/uuid-types-1.0.5.conf.d
--optghc=-package-db
--optghc=../../bazel-out/darwin_arm64-opt/bin/external/stackage/witherable-0.4.2/_install/witherable-0.4.2.conf.d
--optghc=-package-db
--optghc=../../bazel-out/darwin_arm64-opt/bin/external/stackage/aeson-2.0.3.0/_install/aeson-2.0.3.0.conf.d
--optghc=-package-db
--optghc=../../bazel-out/darwin_arm64-opt/bin/external/stackage/data-default-class-0.1.2.0/_install/data-default-class-0.1.2.0.conf.d
--optghc=-package-db
--optghc=../../bazel-out/darwin_arm64-opt/bin/external/stackage/data-default-instances-containers-0.0.1/_install/data-default-instances-containers-0.0.1.conf.d
--optghc=-package-db
--optghc=../../bazel-out/darwin_arm64-opt/bin/external/stackage/data-default-instances-dlist-0.0.1/_install/data-default-instances-dlist-0.0.1.conf.d
--optghc=-package-db
--optghc=../../bazel-out/darwin_arm64-opt/bin/external/stackage/old-locale-1.0.0.7/_install/old-locale-1.0.0.7.conf.d
--optghc=-package-db
--optghc=../../bazel-out/darwin_arm64-opt/bin/external/stackage/data-default-instances-old-locale-0.0.1/_install/data-default-instances-old-locale-0.0.1.conf.d
--optghc=-package-db
--optghc=../../bazel-out/darwin_arm64-opt/bin/external/stackage/data-default-0.7.1.1/_install/data-default-0.7.1.1.conf.d
--optghc=-package-db
--optghc=../../bazel-out/darwin_arm64-opt/bin/external/stackage/network-3.1.2.7/_install/network-3.1.2.7.conf.d
--optghc=-package-db
--optghc=../../bazel-out/darwin_arm64-opt/bin/external/stackage/network-bsd-2.8.1.0/_install/network-bsd-2.8.1.0.conf.d
--optghc=-package-db
--optghc=../../bazel-out/darwin_arm64-opt/bin/external/stackage/hslogger-1.3.1.0/_install/hslogger-1.3.1.0.conf.d
--optghc=-package-db
--optghc=../../bazel-out/darwin_arm64-opt/bin/external/stackage/call-stack-0.4.0/_install/call-stack-0.4.0.conf.d
--optghc=-package-db
--optghc=../../bazel-out/darwin_arm64-opt/bin/external/stackage/profunctors-5.6.2/_install/profunctors-5.6.2.conf.d
--optghc=-package-db
--optghc=../../bazel-out/darwin_arm64-opt/bin/external/stackage/transformers-base-0.4.6/_install/transformers-base-0.4.6.conf.d
--optghc=-package-db
--optghc=../../bazel-out/darwin_arm64-opt/bin/external/stackage/free-5.1.7/_install/free-5.1.7.conf.d
--optghc=-package-db
--optghc=../../bazel-out/darwin_arm64-opt/bin/external/stackage/semigroups-0.19.2/_install/semigroups-0.19.2.conf.d
--optghc=-package-db
--optghc=../../bazel-out/darwin_arm64-opt/bin/external/stackage/void-0.7.3/_install/void-0.7.3.conf.d
--optghc=-package-db
--optghc=../../bazel-out/darwin_arm64-opt/bin/external/stackage/adjunctions-4.4/_install/adjunctions-4.4.conf.d
--optghc=-package-db
--optghc=../../bazel-out/darwin_arm64-opt/bin/external/stackage/invariant-0.5.5/_install/invariant-0.5.5.conf.d
--optghc=-package-db
--optghc=../../bazel-out/darwin_arm64-opt/bin/external/stackage/kan-extensions-5.2.3/_install/kan-extensions-5.2.3.conf.d
--optghc=-package-db
--optghc=../../bazel-out/darwin_arm64-opt/bin/external/stackage/parallel-3.2.2.0/_install/parallel-3.2.2.0.conf.d
--optghc=-package-db
--optghc=../../bazel-out/darwin_arm64-opt/bin/external/stackage/reflection-2.1.6/_install/reflection-2.1.6.conf.d
--optghc=-package-db
--optghc=../../bazel-out/darwin_arm64-opt/bin/external/stackage/lens-5.0.1/_install/lens-5.0.1.conf.d
--optghc=-package-db
--optghc=../../bazel-out/darwin_arm64-opt/bin/external/stackage/semirings-0.6/_install/semirings-0.6.conf.d
--optghc=-package-db
--optghc=../../bazel-out/darwin_arm64-opt/bin/external/stackage/mod-0.1.2.2/_install/mod-0.1.2.2.conf.d
--optghc=-package-db
--optghc=../../bazel-out/darwin_arm64-opt/bin/external/stackage/th-compat-0.1.3/_install/th-compat-0.1.3.conf.d
--optghc=-package-db
--optghc=../../bazel-out/darwin_arm64-opt/bin/external/stackage/network-uri-2.6.4.1/_install/network-uri-2.6.4.1.conf.d
--optghc=-package-db
--optghc=../../bazel-out/darwin_arm64-opt/bin/external/stackage/rope-utf16-splay-0.3.2.0/_install/rope-utf16-splay-0.3.2.0.conf.d
--optghc=-package-db
--optghc=../../bazel-out/darwin_arm64-opt/bin/external/stackage/some-1.0.3/_install/some-1.0.3.conf.d
--optghc=-package-db
--optghc=../../bazel-out/darwin_arm64-opt/bin/external/stackage/temporary-1.3/_install/temporary-1.3.conf.d
--optghc=-package-db
--optghc=/private/var/tmp/_bazel_builder/7ce5f28514593fc1883e9fee6040cfef/sandbox/processwrapper-sandbox/1/execroot/com_github_digital_asset_daml/bazel-out/darwin_arm64-opt/bin/external/lsp-types/_install/lsp-types-1.4.0.0.conf.d
--optghc=-package-db
--optghc=/private/var/tmp/_bazel_builder/7ce5f28514593fc1883e9fee6040cfef/sandbox/processwrapper-sandbox/1/execroot/com_github_digital_asset_daml/bazel-out/darwin_arm64-opt/bin/external/lsp-types/lsp-types-1.4.0.0/package.conf.inplace
--optghc=-package-id
--optghc=Diff-0.4.1
--optghc=-package-id
--optghc=aeson-2.0.3.0
--optghc=-package-id
--optghc=base-4.15.1.0
--optghc=-package-id
--optghc=binary-0.8.8.0
--optghc=-package-id
--optghc=bytestring-0.10.12.1
--optghc=-package-id
--optghc=containers-0.6.4.1
--optghc=-package-id
--optghc=data-default-0.7.1.1
--optghc=-package-id
--optghc=deepseq-1.4.5.0
--optghc=-package-id
--optghc=directory-1.3.6.2
--optghc=-package-id
--optghc=dlist-1.0
--optghc=-package-id
--optghc=filepath-1.4.2.1
--optghc=-package-id
--optghc=hashable-1.3.5.0
--optghc=-package-id
--optghc=hslogger-1.3.1.0
--optghc=-package-id
--optghc=lens-5.0.1
--optghc=-package-id
--optghc=mod-0.1.2.2
--optghc=-package-id
--optghc=mtl-2.2.2
--optghc=-package-id
--optghc=network-uri-2.6.4.1
--optghc=-package-id
--optghc=rope-utf16-splay-0.3.2.0
--optghc=-package-id
--optghc=scientific-0.3.7.0
--optghc=-package-id
--optghc=some-1.0.3
--optghc=-package-id
--optghc=template-haskell-2.17.0.0
--optghc=-package-id
--optghc=temporary-1.3
--optghc=-package-id
--optghc=text-1.2.5.0
--optghc=-package-id
--optghc=unordered-containers-0.2.16.0
--optghc=-XHaskell2010
--optghc=-XStrictData
--optghc=-Wall
-B/nix/store/z8577sg7xny6fxhndrrrkpvzhn53w9vc-ghc-native-bignum-9.0.2/lib/ghc-9.0.2
src/Language/LSP/Types.hs
src/Language/LSP/Types/Capabilities.hs
src/Language/LSP/Types/Lens.hs
src/Language/LSP/Types/SMethodMap.hs
src/Language/LSP/VFS.hs
src/Data/IxMap.hs
src/Language/LSP/Types/CallHierarchy.hs
src/Language/LSP/Types/Cancellation.hs
src/Language/LSP/Types/ClientCapabilities.hs
src/Language/LSP/Types/CodeAction.hs
src/Language/LSP/Types/CodeLens.hs
src/Language/LSP/Types/Command.hs
src/Language/LSP/Types/Common.hs
src/Language/LSP/Types/Completion.hs
src/Language/LSP/Types/Configuration.hs
src/Language/LSP/Types/Declaration.hs
src/Language/LSP/Types/Definition.hs
src/Language/LSP/Types/Diagnostic.hs
src/Language/LSP/Types/DocumentColor.hs
src/Language/LSP/Types/DocumentFilter.hs
src/Language/LSP/Types/DocumentHighlight.hs
src/Language/LSP/Types/DocumentLink.hs
src/Language/LSP/Types/DocumentSymbol.hs
src/Language/LSP/Types/FoldingRange.hs
src/Language/LSP/Types/Formatting.hs
src/Language/LSP/Types/Hover.hs
src/Language/LSP/Types/Implementation.hs
src/Language/LSP/Types/Initialize.hs
src/Language/LSP/Types/Location.hs
src/Language/LSP/Types/LspId.hs
src/Language/LSP/Types/MarkupContent.hs
src/Language/LSP/Types/Method.hs
src/Language/LSP/Types/Message.hs
src/Language/LSP/Types/Parsing.hs
src/Language/LSP/Types/Progress.hs
src/Language/LSP/Types/Registration.hs
src/Language/LSP/Types/References.hs
src/Language/LSP/Types/Rename.hs
src/Language/LSP/Types/SelectionRange.hs
src/Language/LSP/Types/ServerCapabilities.hs
src/Language/LSP/Types/SemanticTokens.hs
src/Language/LSP/Types/SignatureHelp.hs
src/Language/LSP/Types/StaticRegistrationOptions.hs
src/Language/LSP/Types/TextDocument.hs
src/Language/LSP/Types/TypeDefinition.hs
src/Language/LSP/Types/Uri.hs
src/Language/LSP/Types/Utils.hs
src/Language/LSP/Types/Window.hs
src/Language/LSP/Types/WatchedFiles.hs
src/Language/LSP/Types/WorkspaceEdit.hs
src/Language/LSP/Types/WorkspaceFolders.hs
src/Language/LSP/Types/WorkspaceSymbol.hs
>>>
/private/var/tmp/_bazel_builder/7ce5f28514593fc1883e9fee6040cfef/sandbox/processwrapper-sandbox/1/execroot/com_github_digital_asset_daml/bazel-out/darwin_arm64-opt/bin/external/lsp-types/lsp-types-1.4.0.0/doc/html/lsp-types/haddock-response42424-1.txt
Environment: [("CABAL_VERBOSE","True"),("CC_WRAPPER_CC_PATH","external/local_config_cc/cc_wrapper.sh"),("CC_WRAPPER_CPU","darwin_arm64"),("CC_WRAPPER_PLATFORM","darwin"),("CODESIGN_ALLOCATE","/nix/store/3ibr5yy13sxl2vb5rig8fivj85sqcvf2-cctools-port-949.0.1/bin/codesign_allocate"),("HOME","/var/empty"),("LANG","C.UTF-8"),("LC_CTYPE","UTF-8"),("LD_LIBRARY_PATH",""),("LIBRARY_PATH",""),("PATH","/nix/store/xqbgx1y5xh2k13c6nizlprkp0j8mcw6w-clang-wrapper-12.0.1/bin:/nix/store/p90xw78bb3xsxg5v7k31qj5hpwm2pngp-llvm-12.0.1/bin:/nix/store/5havjxkv59cprx4czgi1lwnvv7y22dzi-posix-toolchain/bin"),("PWD","/private/var/tmp/_bazel_builder/7ce5f28514593fc1883e9fee6040cfef/sandbox/processwrapper-sandbox/1/execroot/com_github_digital_asset_daml/external/lsp-types"),("PYTHONPATH","/private/var/tmp/_bazel_builder/7ce5f28514593fc1883e9fee6040cfef/sandbox/processwrapper-sandbox/1/execroot/com_github_digital_asset_daml/bazel-out/darwin_arm64-opt/bin/external/rules_haskell/haskell/runghc.runfiles:/private/var/tmp/_bazel_builder/7ce5f28514593fc1883e9fee6040cfef/sandbox/processwrapper-sandbox/1/execroot/com_github_digital_asset_daml/bazel-out/darwin_arm64-opt/bin/external/rules_haskell/haskell/runghc.runfiles/:/private/var/tmp/_bazel_builder/7ce5f28514593fc1883e9fee6040cfef/sandbox/processwrapper-sandbox/1/execroot/com_github_digital_asset_daml/bazel-out/darwin_arm64-opt/bin/external/rules_haskell/haskell/runghc.runfiles/bazel_tools:/private/var/tmp/_bazel_builder/7ce5f28514593fc1883e9fee6040cfef/sandbox/processwrapper-sandbox/1/execroot/com_github_digital_asset_daml/bazel-out/darwin_arm64-opt/bin/external/rules_haskell/haskell/runghc.runfiles/com_github_digital_asset_daml:/private/var/tmp/_bazel_builder/7ce5f28514593fc1883e9fee6040cfef/sandbox/processwrapper-sandbox/1/execroot/com_github_digital_asset_daml/bazel-out/darwin_arm64-opt/bin/external/rules_haskell/haskell/runghc.runfiles/local_config_cc:/private/var/tmp/_bazel_builder/7ce5f28514593fc1883e9fee6040cfef/sandbox/processwrapper-sandbox/1/execroot/com_github_digital_asset_daml/bazel-out/darwin_arm64-opt/bin/external/rules_haskell/haskell/runghc.runfiles/rules_haskell:/private/var/tmp/_bazel_builder/7ce5f28514593fc1883e9fee6040cfef/sandbox/processwrapper-sandbox/1/execroot/com_github_digital_asset_daml/bazel-out/darwin_arm64-opt/bin/external/rules_haskell/haskell/runghc.runfiles/rules_haskell_ghc_nixpkgs:/private/var/tmp/_bazel_builder/7ce5f28514593fc1883e9fee6040cfef/sandbox/processwrapper-sandbox/1/execroot/com_github_digital_asset_daml/bazel-out/darwin_arm64-opt/bin/external/rules_haskell/haskell/runghc.runfiles/rules_python:/private/var/tmp/_bazel_builder/7ce5f28514593fc1883e9fee6040cfef/sandbox/processwrapper-sandbox/1/execroot/com_github_digital_asset_daml/bazel-out/darwin_arm64-opt/bin/external/rules_haskell/haskell/cabal_wrapper.runfiles:/private/var/tmp/_bazel_builder/7ce5f28514593fc1883e9fee6040cfef/sandbox/processwrapper-sandbox/1/execroot/com_github_digital_asset_daml/bazel-out/darwin_arm64-opt/bin/external/rules_haskell/haskell/cabal_wrapper.runfiles/:/private/var/tmp/_bazel_builder/7ce5f28514593fc1883e9fee6040cfef/sandbox/processwrapper-sandbox/1/execroot/com_github_digital_asset_daml/bazel-out/darwin_arm64-opt/bin/external/rules_haskell/haskell/cabal_wrapper.runfiles/bazel_tools:/private/var/tmp/_bazel_builder/7ce5f28514593fc1883e9fee6040cfef/sandbox/processwrapper-sandbox/1/execroot/com_github_digital_asset_daml/bazel-out/darwin_arm64-opt/bin/external/rules_haskell/haskell/cabal_wrapper.runfiles/com_github_digital_asset_daml:/private/var/tmp/_bazel_builder/7ce5f28514593fc1883e9fee6040cfef/sandbox/processwrapper-sandbox/1/execroot/com_github_digital_asset_daml/bazel-out/darwin_arm64-opt/bin/external/rules_haskell/haskell/cabal_wrapper.runfiles/rules_haskell"),("RULES_HASKELL_DOCDIR_PATH","/nix/store/kd7bjbp0wgz0qjhx6m2fcasp66n0wga2-ghc-native-bignum-9.0.2-doc/share/doc/ghc-native-bignum/html/libraries/base-4.15.1.0"),("RULES_HASKELL_EXEC_ROOT","/private/var/tmp/_bazel_builder/7ce5f28514593fc1883e9fee6040cfef/sandbox/processwrapper-sandbox/1/execroot/com_github_digital_asset_daml"),("RULES_HASKELL_GHC_PATH","/private/var/tmp/_bazel_builder/7ce5f28514593fc1883e9fee6040cfef/sandbox/processwrapper-sandbox/1/execroot/com_github_digital_asset_daml/external/rules_haskell_ghc_nixpkgs/bin/ghc"),("RULES_HASKELL_GHC_PKG_PATH","/private/var/tmp/_bazel_builder/7ce5f28514593fc1883e9fee6040cfef/sandbox/processwrapper-sandbox/1/execroot/com_github_digital_asset_daml/external/rules_haskell_ghc_nixpkgs/bin/ghc-pkg"),("RULES_HASKELL_LIBDIR_PATH","/nix/store/z8577sg7xny6fxhndrrrkpvzhn53w9vc-ghc-native-bignum-9.0.2/lib/ghc-9.0.2"),("RUNFILES_DIR","/private/var/tmp/_bazel_builder/7ce5f28514593fc1883e9fee6040cfef/sandbox/processwrapper-sandbox/1/execroot/com_github_digital_asset_daml/bazel-out/darwin_arm64-opt/bin/external/rules_haskell/haskell/runghc.runfiles"),("SDKROOT","macosx"),("SHLVL","0"),("TEMP","/private/var/tmp/_bazel_builder/7ce5f28514593fc1883e9fee6040cfef/sandbox/processwrapper-sandbox/1/execroot/com_github_digital_asset_daml/bazel-out/darwin_arm64-opt/bin/external/lsp-types/lsp-types-1.4.0.0/tmp"),("TMP","/private/var/tmp/_bazel_builder/7ce5f28514593fc1883e9fee6040cfef/sandbox/processwrapper-sandbox/1/execroot/com_github_digital_asset_daml/bazel-out/darwin_arm64-opt/bin/external/lsp-types/lsp-types-1.4.0.0/tmp"),("TMPDIR","/private/var/tmp/_bazel_builder/7ce5f28514593fc1883e9fee6040cfef/sandbox/processwrapper-sandbox/1/execroot/com_github_digital_asset_daml/bazel-out/darwin_arm64-opt/bin/external/lsp-types/lsp-types-1.4.0.0/tmp"),("__CF_USER_TEXT_ENCODING","0x1F5:0x0:0x0")]
/private/var/tmp/_bazel_builder/7ce5f28514593fc1883e9fee6040cfef/sandbox/processwrapper-sandbox/1/execroot/com_github_digital_asset_daml/external/rules_haskell_ghc_nixpkgs/bin/haddock '@/private/var/tmp/_bazel_builder/7ce5f28514593fc1883e9fee6040cfef/sandbox/processwrapper-sandbox/1/execroot/com_github_digital_asset_daml/bazel-out/darwin_arm64-opt/bin/external/lsp-types/lsp-types-1.4.0.0/doc/html/lsp-types/haddock-response42424-1.txt'
   0% (  0 /  7) in 'Data.IxMap'
  Missing documentation for:
    Module header
    IxOrd (src/Data/IxMap.hs:17)
    IxMap (src/Data/IxMap.hs:21)
    emptyIxMap (src/Data/IxMap.hs:23)
    insertIxMap (src/Data/IxMap.hs:26)
    lookupIxMap (src/Data/IxMap.hs:31)
    pickFromIxMap (src/Data/IxMap.hs:37)
`cc' failed in phase `Linker'. (Exit code: 134)
/private/var/tmp/_bazel_builder/7ce5f28514593fc1883e9fee6040cfef/sandbox/processwrapper-sandbox/1/execroot/com_github_digital_asset_daml/external/rules_haskell_ghc_nixpkgs/bin/haddock
returned ExitFailure 1
Target //compiler/damlc:damlc failed to build
ERROR: /Users/builder/daml-andreas/compiler/damlc/BUILD.bazel:38:9 Middleman _middlemen/compiler_Sdamlc_Sdamlc-runfiles failed: (Exit 1): cabal_wrapper failed: error executing command
  (cd /private/var/tmp/_bazel_builder/7ce5f28514593fc1883e9fee6040cfef/sandbox/processwrapper-sandbox/1/execroot/com_github_digital_asset_daml && \
  exec env - \
    CABAL_VERBOSE=True \
    CC_WRAPPER_CC_PATH=external/local_config_cc/cc_wrapper.sh \
    CC_WRAPPER_CPU=darwin_arm64 \
    CC_WRAPPER_PLATFORM=darwin \
    LANG=C.UTF-8 \
    PATH=/nix/store/5havjxkv59cprx4czgi1lwnvv7y22dzi-posix-toolchain/bin \
    RULES_HASKELL_DOCDIR_PATH=/nix/store/kd7bjbp0wgz0qjhx6m2fcasp66n0wga2-ghc-native-bignum-9.0.2-doc/share/doc/ghc-native-bignum/html/libraries/base-4.15.1.0 \
    RULES_HASKELL_GHC_PATH=external/rules_haskell_ghc_nixpkgs/bin/ghc \
    RULES_HASKELL_GHC_PKG_PATH=external/rules_haskell_ghc_nixpkgs/bin/ghc-pkg \
    RULES_HASKELL_LIBDIR_PATH=/nix/store/z8577sg7xny6fxhndrrrkpvzhn53w9vc-ghc-native-bignum-9.0.2/lib/ghc-9.0.2 \
    SDKROOT=macosx \
  bazel-out/darwin_arm64-opt/bin/external/rules_haskell/haskell/cabal_wrapper bazel-out/darwin_arm64-opt/bin/external/lsp-types/lsp-types_cabal_wrapper_args.json)
Execution platform: @io_tweag_rules_nixpkgs//nixpkgs/platforms:host

Use --sandbox_debug to see verbose messages from the sandbox
INFO: Elapsed time: 344.702s, Critical Path: 329.09s
INFO: 49 processes: 14 internal, 35 processwrapper-sandbox.
FAILED: Build did NOT complete successfully
FAILED: Build did NOT complete successfully
```
These fail to build because puppeteer fails to install Chromium on M1.
See #13250.
Otherwise they fail to execute on MacOS Monterey on M1.
They symptom is that executing or otherwise loading the binary (e.g.
into lldb) fails with exit code -9 without further indications.
The native backend only supports M1 starting from GHC 9.2. However, we
are still on GHC 9.0.

We wrap GHC to ensure that the LLVM toolchain and the codesign tool are
present in the environment and point to the correct versions provided by
nixpkgs.
Use nixpkgs `nix-support/cc-cflags` file to provide default flags
instead of using `makeWrapper`. On M1 there was an issue where passing
`-l` flags or `-isystem` to `cc -v` would cause the following errors:

```
lang version 11.1.0
Target: aarch64-apple-darwin
Thread model: posix
InstalledDir: /nix/store/v6iidz79b425hli98g45xq9iblapn1zy-clang-11.1.0/bin
"/nix/store/b82mvqzvdx5mh1n9n77v8h5vk9fgqrxj-clang-wrapper-11.1.0/bin/ld" -demangle -lto_library /nix/store/v6iidz79b425hli98g45xq9iblapn1zy-clang-11.1.0/lib/libLTO.dylib -dynamic -arch arm64 -platform_version macos 11.0.0 0.0.0 -o a.out -L/nix/store/hc8a94w57ppwmn2gscm56pvlwi3zhyh1-libSystem-11.0.0/lib -L/nix/store/6f5ygwif1r523jj2qfwfiwix0fga4rgp-clang-11.1.0-lib/lib -L/nix/store/7pkxnbhpi0c10w18rirj8zxz3wv571nj-libcxx-11.1.0/lib -no_uuid -arch arm64 -lSystem /nix/store/b82mvqzvdx5mh1n9n77v8h5vk9fgqrxj-clang-wrapper-11.1.0/resource-root/lib/darwin/libclang_rt.osx.a
Undefined symbols for architecture arm64:
"_main", referenced from:
 implicit entry/start for main executable
ld: symbol(s) not found for architecture arm64
```

This also includes additional standard library search paths:
`-isystem ${llvmPackages_12.libcxx.dev}/include/c++/v1` alone is not
enough because some headers in it are [wrapper
headers](https://gcc.gnu.org/onlinedocs/cpp/Wrapper-Headers.html) that
use `include_next` directives. For these to resolve we need to add the
compiler's builtin headers to the search path as well.

This also sets `-Wno-elaborated-enum-base` to avoid build failures of
absl on MacOS Monterey M1.
```
In file included from external/com_google_absl/absl/time/internal/cctz/src/time_zone_lookup.cc:26:                                                                                                                                                                              In file included from /nix/store/jjkm7x4zfifqgsxlbhkamzg0vc9wzip4-apple-framework-CoreFoundation-11.0.0/Library/Frameworks/CoreFoundation.framework/Headers/CFTimeZone.h:13:
/nix/store/jjkm7x4zfifqgsxlbhkamzg0vc9wzip4-apple-framework-CoreFoundation-11.0.0/Library/Frameworks/CoreFoundation.framework/Headers/CFBase.h:474:9: error: non-defining declaration of enumeration with a fixed underlying type is only permitted as a standalone declaration;
 missing list of enumerators? [-Welaborated-enum-base]
typedef CF_ENUM(CFIndex, CFComparisonResult) {
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/nix/store/jjkm7x4zfifqgsxlbhkamzg0vc9wzip4-apple-framework-CoreFoundation-11.0.0/Library/Frameworks/CoreFoundation.framework/Headers/CFAvailability.h:169:55: note: expanded from macro 'CF_ENUM'
\#define CF_ENUM(...) __CF_ENUM_GET_MACRO(__VA_ARGS__, __CF_NAMED_ENUM, __CF_ANON_ENUM, )(__VA_ARGS__)
                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/nix/store/jjkm7x4zfifqgsxlbhkamzg0vc9wzip4-apple-framework-CoreFoundation-11.0.0/Library/Frameworks/CoreFoundation.framework/Headers/CFAvailability.h:134:48: note: expanded from macro '__CF_ENUM_GET_MACRO'
\#define __CF_ENUM_GET_MACRO(_1, _2, NAME, ...) NAME
                                               ^
/nix/store/jjkm7x4zfifqgsxlbhkamzg0vc9wzip4-apple-framework-CoreFoundation-11.0.0/Library/Frameworks/CoreFoundation.framework/Headers/CFAvailability.h:142:75: note: expanded from macro '__CF_NAMED_ENUM'
\#define __CF_NAMED_ENUM(_type, _name)     enum __CF_ENUM_ATTRIBUTES _name : _type _name; enum _name : _type
                                                                          ^~~~~~~
                                                                          In file included from external/com_google_absl/absl/time/internal/cctz/src/time_zone_lookup.cc:26:                                                                                                                                                                              In file included from /nix/store/jjkm7x4zfifqgsxlbhkamzg0vc9wzip4-apple-framework-CoreFoundation-11.0.0/Library/Frameworks/CoreFoundation.framework/Headers/CFTimeZone.h:18:
In file included from /nix/store/jjkm7x4zfifqgsxlbhkamzg0vc9wzip4-apple-framework-CoreFoundation-11.0.0/Library/Frameworks/CoreFoundation.framework/Headers/CFString.h:17:
/nix/store/jjkm7x4zfifqgsxlbhkamzg0vc9wzip4-apple-framework-CoreFoundation-11.0.0/Library/Frameworks/CoreFoundation.framework/Headers/CFCharacterSet.h:62:9: error: non-defining declaration of enumeration with a fixed underlying type is only permitted as a standalone decla
ration; missing list of enumerators? [-Welaborated-enum-base]
typedef CF_ENUM(CFIndex, CFCharacterSetPredefinedSet) {
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/nix/store/jjkm7x4zfifqgsxlbhkamzg0vc9wzip4-apple-framework-CoreFoundation-11.0.0/Library/Frameworks/CoreFoundation.framework/Headers/CFAvailability.h:169:55: note: expanded from macro 'CF_ENUM'
\#define CF_ENUM(...) __CF_ENUM_GET_MACRO(__VA_ARGS__, __CF_NAMED_ENUM, __CF_ANON_ENUM, )(__VA_ARGS__)
                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/nix/store/jjkm7x4zfifqgsxlbhkamzg0vc9wzip4-apple-framework-CoreFoundation-11.0.0/Library/Frameworks/CoreFoundation.framework/Headers/CFAvailability.h:134:48: note: expanded from macro '__CF_ENUM_GET_MACRO'
\#define __CF_ENUM_GET_MACRO(_1, _2, NAME, ...) NAME
                                               ^
/nix/store/jjkm7x4zfifqgsxlbhkamzg0vc9wzip4-apple-framework-CoreFoundation-11.0.0/Library/Frameworks/CoreFoundation.framework/Headers/CFAvailability.h:142:75: note: expanded from macro '__CF_NAMED_ENUM'
\#define __CF_NAMED_ENUM(_type, _name)     enum __CF_ENUM_ATTRIBUTES _name : _type _name; enum _name : _type                                                                                                                                                                                                                                               ^~~~~~~
...
```
changelog_begin
changelog_end
If we generally expose ghcWithLLVM from Nix and then select on the
Bazel, then we'd need to filter that derivation out from the Nix and
dev-tool build step on CI.
It seems that the node update made the `--scripts-prepend-node-path`
flag less effective than it was before.

Without explicitly adding `node` to `PATH` the install step fails with
the following error:

```
Failure: Command "CreateProcess {cmdspec = RawCommand "/home/aj/.cache/bazel/_bazel_aj/c437a451a7a277d35b539da616255ac8/sandbox/linux-sandbox/1435/execroot/compatibility/bazel-out/k8-opt/bin/create-daml-app-0.0.0-platform-2.0.0.runfiles/compatibility/external/node_nix/node_nix/lib/node_modules/npm/bin/npm-cli.js" ["install","--scripts-prepend-node-path"], cwd = Nothing, env = Nothing, std_in = Inherit, std_out = Inherit, std_err = Inherit, close_fds = False, create_group = False, delegate_ctlc = False, detach_console = False, create_new_console = False, new_session = False, child_group = Nothing, child_user = Nothing, use_process_jobs = False}" exited with ExitFailure 127

npm ERR! code 127
npm ERR! path /tmp/extra-dir-7515936101075/create-daml-app/ui/node_modules/puppeteer
npm ERR! command failed
npm ERR! command sh -c node install.js
npm ERR! sh: line 1: node: command not found

npm ERR! A complete log of this run can be found in:
npm ERR!     /tmp/extra-dir-7515936101074/_logs/2022-03-24T10_18_15_227Z-debug.log
```
changelog_begin
changelog_end

In these tests the install step fails with the following error due to
mismatch babel-jest dependency versions:

```
==================== Test output for //:create-daml-app-1.8.1-platform-0.0.0:
Create Daml App tests
  Getting Started Guide: WARNING: Specifying the template via

    daml new create-daml-app create-daml-app

is deprecated. The recommended way of specifying the template is

    daml new create-daml-app --template create-daml-app

Created a new project in "create-daml-app" based on the template "create-daml-app".

> create-daml-app@0.1.0 test
> react-scripts test --testURL='http://localhost:7575'

There might be a problem with the project dependency tree.
It is likely not a bug in Create React App, but something you need to fix locally.

The react-scripts package provided by Create React App requires a dependency:

  "babel-jest": "^24.9.0"

Don't try to install it manually: your package manager does it automatically.
However, a different version of babel-jest was detected higher up in the tree:

  /tmp/extra-dir-3298351016846/create-daml-app/ui/node_modules/babel-jest (version: 25.5.1)

Manually installing incompatible versions is known to cause hard-to-debug issues.

If you would prefer to ignore this check, add SKIP_PREFLIGHT_CHECK=true to an .env file in your project.
That will permanently disable this message but you might encounter other issues.

To fix the dependency tree, try following the steps below in the exact order:

  1. Delete package-lock.json (not package.json!) and/or yarn.lock in your project folder.
  2. Delete node_modules in your project folder.
  3. Remove "babel-jest" from dependencies and/or devDependencies in the package.json file in your project folder.
  4. Run npm install or yarn, depending on the package manager you use.

In most cases, this should be enough to fix the problem.
If this has not helped, there are a few other things you can try:

  5. If you used npm, install yarn (http://yarnpkg.com/) and repeat the above steps with it instead.
     This may help because npm has known issues with package hoisting which may get resolved in future versions.

  6. Check if /tmp/extra-dir-3298351016846/create-daml-app/ui/node_modules/babel-jest is outside your project directory.
     For example, you might have accidentally installed something in your home folder.

  7. Try running npm ls babel-jest in your project folder.
     This will tell you which other package (apart from the expected react-scripts) installed babel-jest.

If nothing else helps, add SKIP_PREFLIGHT_CHECK=true to an .env file in your project.
That would permanently disable this preflight check in case you want to proceed anyway.

P.S. We know this message is long but please read the steps above :-) We hope you find them helpful!

FAIL (125.62s)
    Create app from template                          (0.05s)
    Patch the application code with messaging feature
    Extract codegen output                            (0.06s)
    Set up libraries and workspaces                   (0.01s)
    Install Jest, Puppeteer and other dependencies    (123.95s)
    Run Puppeteer end-to-end tests                    (1.54s)
      callProcess: /home/aj/.cache/bazel/_bazel_aj/c437a451a7a277d35b539da616255ac8/sandbox/linux-sandbox/2351/execroot/compatibility/bazel-out/k8-opt/bin/create-daml-app-1.8.1-platform-0.0.0.runfiles/compatibility/external/node_nix/node_nix/lib/node_modules/npm/bin/npm-cli.js "run" "test" "--ci" "--all" "--scripts-prepend-node-path" (exit 1): failed

1 out of 1 tests failed (125.62s)
================================================================================
```

Applying the suggested `SKIP_PREFLIGHT_CHECK=true` fix leads to the
following failure instead:

```
==================== Test output for //:create-daml-app-1.9.0-platform-0.0.0:
Create Daml App tests
  Getting Started Guide: WARNING: Specifying the template via

    daml new create-daml-app create-daml-app

is deprecated. The recommended way of specifying the template is

    daml new create-daml-app --template create-daml-app

Created a new project in "create-daml-app" based on the template "create-daml-app".

> create-daml-app@0.1.0 test
> react-scripts test --testURL='http://localhost:7575'

PASS src/components/App.test.tsx
  ● Console

    console.debug daml-types/index.js:98
      Registered template bbfcd72618817ef8c99eb663e1f80375835bd51efebdc69b55884ad7afb3a0ef:User:Message.
    console.debug daml-types/index.js:98
      Registered template bbfcd72618817ef8c99eb663e1f80375835bd51efebdc69b55884ad7afb3a0ef:User:User.

12:42:55.745 [program-resource-pool-4] INFO  c.d.l.sandbox.AkkaSubmissionsBridge - Instantiated Akka submissions bridge., context: {participantId: "sandbox"}
12:42:57.897 [program-resource-pool-3] INFO  c.d.ledger.sandbox.SandboxOnXRunner - Initialized sandbox-on-x with conflict checking ledger bridge, version 0.0.0, run-mode = combined participant, index DB backend = h2database, participant-id = sandbox, ledger-id = create-daml-app-sandbox, port = 0, time mode = wall-clock time, allowed language versions = [min = LanguageVersion(V1,LanguageMinorVersion(6)), max = LanguageVersion(V1,LanguageMinorVersion(14))], authentication = all unauthenticated allowed, contract ids seeding = strong
24-03-2022 12:43:02.413 [main] INFO  com.daml.http.Main - Config(ledgerHost=localhost, ledgerPort=34937, address=127.0.0.1, httpPort=7575, portFile=Some(json-api.port), packageReloadInterval=5 seconds, packageMaxInboundMessageSize=None, maxInboundMessageSize=4194304, tlsConfig=TlsConfiguration(false,None,None,None,None,REQUIRE,false,None), jdbcConfig=None, staticContentConfig=None, allowNonHttps=true, wsConfig=None, nonRepudiationCertificateFile=None, nonRepudiationPrivateKeyFile=None, nonRepudiationPrivateKeyAlgorithm=None, surrogateTpIdCacheMaxEntries=None), context: {instance_uuid: "1ff5d996-9493-4dea-a9a8-5dc5725c33c0"}
24-03-2022 12:43:02.745 [http-json-ledger-api-akka.actor.default-dispatcher-5] INFO  akka.event.slf4j.Slf4jLogger - Slf4jLogger started
24-03-2022 12:43:03.041 [http-json-ledger-api-akka.actor.default-dispatcher-5] INFO  com.daml.http.HttpService - HTTP Server pre-startup, context: {instance_uuid: "1ff5d996-9493-4dea-a9a8-5dc5725c33c0"}
24-03-2022 12:43:03.251 [http-json-ledger-api-akka.actor.default-dispatcher-5] INFO  com.daml.http.LedgerClient - Attempting to connect to the ledger localhost:34937 (600 attempts), context: {instance_uuid: "1ff5d996-9493-4dea-a9a8-5dc5725c33c0"}
24-03-2022 12:43:03.594 [http-json-ledger-api-akka.actor.default-dispatcher-5] INFO  com.daml.http.LedgerClient - Attempt 1/600 succeeded!, context: {instance_uuid: "1ff5d996-9493-4dea-a9a8-5dc5725c33c0"}
24-03-2022 12:43:03.596 [http-json-ledger-api-akka.actor.default-dispatcher-5] INFO  com.daml.http.LedgerClient - Attempting to connect to the ledger localhost:34937 (600 attempts), context: {instance_uuid: "1ff5d996-9493-4dea-a9a8-5dc5725c33c0"}
24-03-2022 12:43:03.600 [http-json-ledger-api-akka.actor.default-dispatcher-5] INFO  com.daml.http.LedgerClient - Attempt 1/600 succeeded!, context: {instance_uuid: "1ff5d996-9493-4dea-a9a8-5dc5725c33c0"}
24-03-2022 12:43:03.601 [http-json-ledger-api-akka.actor.default-dispatcher-5] INFO  com.daml.http.HttpService - contractDao: None, context: {instance_uuid: "1ff5d996-9493-4dea-a9a8-5dc5725c33c0"}
24-03-2022 12:43:04.132 [http-json-ledger-api-akka.actor.default-dispatcher-5] INFO  com.daml.http.Main - Started server: (ServerBinding(/127.0.0.1:7575),None), context: {instance_uuid: "1ff5d996-9493-4dea-a9a8-5dc5725c33c0"}
24-03-2022 12:43:05.280 [http-json-ledger-api-akka.actor.default-dispatcher-13] INFO  com.daml.http.Endpoints - Incoming POST request on http://localhost:7575/v1/parties/allocate from unknown, context: {instance_uuid: "1ff5d996-9493-4dea-a9a8-5dc5725c33c0", request_id: "2ab72d48-cdef-4e00-ac17-0afda5084008"}
24-03-2022 12:43:05.791 [http-json-ledger-api-akka.actor.default-dispatcher-5] INFO  com.daml.http.Endpoints - Responding to client with HTTP 200 OK, context: {instance_uuid: "1ff5d996-9493-4dea-a9a8-5dc5725c33c0", request_id: "2ab72d48-cdef-4e00-ac17-0afda5084008"}

> create-daml-app@0.1.0 start
> react-scripts start

[HPM] Proxy created: function (pathname, req) {
  // Proxy requests to the http json api when in development
  const proxied = pathname.match("^/v1") && process.env.NODE_ENV === "development";

  if (proxied) {
    console.log(
      `Request with path ${pathname} proxied from host ${req.headers.host} to host ${httpJsonDevUrl}`
    );
  }

  return proxied;
}  -> http://localhost:undefined
ℹ 「wds」: Project is running at http://192.168.1.114/
ℹ 「wds」: webpack output is served from
ℹ 「wds」: Content not from webpack is served from /tmp/extra-dir-99443589994656/create-daml-app/ui/public
ℹ 「wds」: 404s will fallback to /
Starting the development server...

24-03-2022 12:43:07.495 [http-json-ledger-api-akka.actor.default-dispatcher-9] INFO  com.daml.http.Endpoints - Incoming POST request on http://localhost:7575/v1/parties/allocate from unknown, context: {instance_uuid: "1ff5d996-9493-4dea-a9a8-5dc5725c33c0", request_id: "ce0131fd-6a4c-4eb1-8c1b-6d68418fde82"}
24-03-2022 12:43:07.606 [http-json-ledger-api-akka.actor.default-dispatcher-17] INFO  com.daml.http.Endpoints - Responding to client with HTTP 200 OK, context: {instance_uuid: "1ff5d996-9493-4dea-a9a8-5dc5725c33c0", request_id: "ce0131fd-6a4c-4eb1-8c1b-6d68418fde82"}
24-03-2022 12:43:07.623 [http-json-ledger-api-akka.actor.default-dispatcher-9] INFO  com.daml.http.Endpoints - Incoming POST request on http://localhost:7575/v1/parties/allocate from unknown, context: {instance_uuid: "1ff5d996-9493-4dea-a9a8-5dc5725c33c0", request_id: "a4d1c7b0-406c-4297-a690-66ba2b692f19"}
24-03-2022 12:43:07.725 [http-json-ledger-api-akka.actor.default-dispatcher-16] INFO  com.daml.http.Endpoints - Responding to client with HTTP 200 OK, context: {instance_uuid: "1ff5d996-9493-4dea-a9a8-5dc5725c33c0", request_id: "a4d1c7b0-406c-4297-a690-66ba2b692f19"}
24-03-2022 12:43:07.741 [http-json-ledger-api-akka.actor.default-dispatcher-12] INFO  com.daml.http.Endpoints - Incoming POST request on http://localhost:7575/v1/parties/allocate from unknown, context: {instance_uuid: "1ff5d996-9493-4dea-a9a8-5dc5725c33c0", request_id: "bf65790a-38bc-4686-aa15-607c3c24661a"}
24-03-2022 12:43:07.846 [http-json-ledger-api-akka.actor.default-dispatcher-9] INFO  com.daml.http.Endpoints - Responding to client with HTTP 200 OK, context: {instance_uuid: "1ff5d996-9493-4dea-a9a8-5dc5725c33c0", request_id: "bf65790a-38bc-4686-aa15-607c3c24661a"}
24-03-2022 12:43:07.865 [http-json-ledger-api-akka.actor.default-dispatcher-13] INFO  com.daml.http.Endpoints - Incoming POST request on http://localhost:7575/v1/parties/allocate from unknown, context: {instance_uuid: "1ff5d996-9493-4dea-a9a8-5dc5725c33c0", request_id: "3ab06283-270c-4994-852c-92c8c3b34ecc"}
24-03-2022 12:43:07.964 [http-json-ledger-api-akka.actor.default-dispatcher-14] INFO  com.daml.http.Endpoints - Responding to client with HTTP 200 OK, context: {instance_uuid: "1ff5d996-9493-4dea-a9a8-5dc5725c33c0", request_id: "3ab06283-270c-4994-852c-92c8c3b34ecc"}
24-03-2022 12:43:07.980 [http-json-ledger-api-akka.actor.default-dispatcher-8] INFO  com.daml.http.Endpoints - Incoming POST request on http://localhost:7575/v1/parties/allocate from unknown, context: {instance_uuid: "1ff5d996-9493-4dea-a9a8-5dc5725c33c0", request_id: "b332b66a-6231-4492-817d-a2c58c85d04c"}
24-03-2022 12:43:08.084 [http-json-ledger-api-akka.actor.default-dispatcher-18] INFO  com.daml.http.Endpoints - Responding to client with HTTP 200 OK, context: {instance_uuid: "1ff5d996-9493-4dea-a9a8-5dc5725c33c0", request_id: "b332b66a-6231-4492-817d-a2c58c85d04c"}
24-03-2022 12:43:08.098 [http-json-ledger-api-akka.actor.default-dispatcher-17] INFO  com.daml.http.Endpoints - Incoming POST request on http://localhost:7575/v1/parties/allocate from unknown, context: {instance_uuid: "1ff5d996-9493-4dea-a9a8-5dc5725c33c0", request_id: "8c77ce53-52b5-4e0c-993a-3f810b54bfec"}
24-03-2022 12:43:08.204 [http-json-ledger-api-akka.actor.default-dispatcher-9] INFO  com.daml.http.Endpoints - Responding to client with HTTP 200 OK, context: {instance_uuid: "1ff5d996-9493-4dea-a9a8-5dc5725c33c0", request_id: "8c77ce53-52b5-4e0c-993a-3f810b54bfec"}
24-03-2022 12:43:08.220 [http-json-ledger-api-akka.actor.default-dispatcher-5] INFO  com.daml.http.Endpoints - Incoming POST request on http://localhost:7575/v1/parties/allocate from unknown, context: {instance_uuid: "1ff5d996-9493-4dea-a9a8-5dc5725c33c0", request_id: "8813ad99-79c7-42c4-9719-5bdcfeb5077e"}
24-03-2022 12:43:08.326 [http-json-ledger-api-akka.actor.default-dispatcher-12] INFO  com.daml.http.Endpoints - Responding to client with HTTP 200 OK, context: {instance_uuid: "1ff5d996-9493-4dea-a9a8-5dc5725c33c0", request_id: "8813ad99-79c7-42c4-9719-5bdcfeb5077e"}
24-03-2022 12:43:08.340 [http-json-ledger-api-akka.actor.default-dispatcher-18] INFO  com.daml.http.Endpoints - Incoming POST request on http://localhost:7575/v1/parties/allocate from unknown, context: {instance_uuid: "1ff5d996-9493-4dea-a9a8-5dc5725c33c0", request_id: "deeca40b-0f05-47c9-927d-f71b0fe08ccb"}
24-03-2022 12:43:08.444 [http-json-ledger-api-akka.actor.default-dispatcher-18] INFO  com.daml.http.Endpoints - Responding to client with HTTP 200 OK, context: {instance_uuid: "1ff5d996-9493-4dea-a9a8-5dc5725c33c0", request_id: "deeca40b-0f05-47c9-927d-f71b0fe08ccb"}
24-03-2022 12:43:08.462 [http-json-ledger-api-akka.actor.default-dispatcher-12] INFO  com.daml.http.Endpoints - Incoming POST request on http://localhost:7575/v1/parties/allocate from unknown, context: {instance_uuid: "1ff5d996-9493-4dea-a9a8-5dc5725c33c0", request_id: "9be53420-eb4d-4ee3-9915-4a4381c51bea"}
24-03-2022 12:43:08.563 [http-json-ledger-api-akka.actor.default-dispatcher-18] INFO  com.daml.http.Endpoints - Responding to client with HTTP 200 OK, context: {instance_uuid: "1ff5d996-9493-4dea-a9a8-5dc5725c33c0", request_id: "9be53420-eb4d-4ee3-9915-4a4381c51bea"}
24-03-2022 12:43:08.576 [http-json-ledger-api-akka.actor.default-dispatcher-18] INFO  com.daml.http.Endpoints - Incoming POST request on http://localhost:7575/v1/parties/allocate from unknown, context: {instance_uuid: "1ff5d996-9493-4dea-a9a8-5dc5725c33c0", request_id: "8d64b076-ff2b-4f5b-8653-95e5e949cb34"}
24-03-2022 12:43:08.685 [http-json-ledger-api-akka.actor.default-dispatcher-14] INFO  com.daml.http.Endpoints - Responding to client with HTTP 200 OK, context: {instance_uuid: "1ff5d996-9493-4dea-a9a8-5dc5725c33c0", request_id: "8d64b076-ff2b-4f5b-8653-95e5e949cb34"}
24-03-2022 12:43:08.697 [http-json-ledger-api-akka.actor.default-dispatcher-14] INFO  com.daml.http.Endpoints - Incoming POST request on http://localhost:7575/v1/parties/allocate from unknown, context: {instance_uuid: "1ff5d996-9493-4dea-a9a8-5dc5725c33c0", request_id: "87246c50-00b7-453e-9771-83f176a3cbfc"}
24-03-2022 12:43:08.802 [http-json-ledger-api-akka.actor.default-dispatcher-12] INFO  com.daml.http.Endpoints - Responding to client with HTTP 200 OK, context: {instance_uuid: "1ff5d996-9493-4dea-a9a8-5dc5725c33c0", request_id: "87246c50-00b7-453e-9771-83f176a3cbfc"}
24-03-2022 12:43:08.818 [http-json-ledger-api-akka.actor.default-dispatcher-12] INFO  com.daml.http.Endpoints - Incoming POST request on http://localhost:7575/v1/parties/allocate from unknown, context: {instance_uuid: "1ff5d996-9493-4dea-a9a8-5dc5725c33c0", request_id: "65bb8c95-a253-4ac5-a297-1abeff6ce44c"}
24-03-2022 12:43:08.920 [http-json-ledger-api-akka.actor.default-dispatcher-12] INFO  com.daml.http.Endpoints - Responding to client with HTTP 200 OK, context: {instance_uuid: "1ff5d996-9493-4dea-a9a8-5dc5725c33c0", request_id: "65bb8c95-a253-4ac5-a297-1abeff6ce44c"}
24-03-2022 12:43:08.930 [http-json-ledger-api-akka.actor.default-dispatcher-12] INFO  com.daml.http.Endpoints - Incoming POST request on http://localhost:7575/v1/query from unknown, context: {instance_uuid: "1ff5d996-9493-4dea-a9a8-5dc5725c33c0", request_id: "d45c0c95-1576-480c-b048-f59919a1d139"}
24-03-2022 12:43:10.016 [http-json-ledger-api-akka.actor.default-dispatcher-12] INFO  com.daml.http.PackageService - new package IDs loaded: bfcd37bd6b84768e86e432f5f6c33e25d9e7724a9d42e33875ff74f6348e733f, 518032f41fd0175461b35ae0c9691e08b4aea55e62915f8360af2cc7a1f2ba6c, cc348d369011362a5190fe96dd1f0dfbc697fdfd10e382b9e9666f0da05961b7, f78511c39cc293d5ed72acf5a4a81411af75a435df4106c5e37823af6589040b, 6839a6d3d430c569b2425e9391717b44ca324b88ba621d597778811b2d05031d, 99a2705ed38c1c26cbb8fe7acf36bbf626668e167a33335de932599219e0a235, 76bf0fd12bd945762a01f8fc5bbcdfa4d0ff20f8762af490f8f41d6237c6524f, e22bce619ae24ca3b8e6519281cb5a33b64b3190cc763248b4c3f9ad5087a92c, d58cf9939847921b2aab78eaa7b427dc4c649d25e6bee3c749ace4c3f52f5c97, 6c2c0667393c5f92f1885163068cd31800d2264eb088eb6fc740e11241b2bf06, c1f1f00558799eec139fb4f4c76f95fb52fa1837a5dd29600baa1c8ed1bdccfd, 733e38d36a2759688a4b2c4cec69d48e7b55ecc8dedc8067b815926c917a182a, 057eed1fd48c238491b8ea06b9b5bf85a5d4c9275dd3f6183e0e6b01730cc2ba, 52af8c65ac2c4b3d61637558935d2b0a92369ec4da39978a29f90a5f738f3e14, d14e08374fc7197d6a0de468c968ae8ba3aadbf9315476fd39071831f5923662, e491352788e56ca4603acc411ffe1a49fefd76ed8b163af86cf5ee5f4c38645b, 40f452260bef3f29dede136108fc08a88d5a5250310281067087da6f0baddff7, 8a7806365bbd98d88b4c13832ebfa305f6abaeaf32cfa2b7dd25c4fa489b79fb, bbfcd72618817ef8c99eb663e1f80375835bd51efebdc69b55884ad7afb3a0ef, context: {ledger_id: "create-daml-app-sandbox", cmd: "GetActiveContractsRequest(OneAnd(TemplateId(Some(bbfcd72618817ef8c99eb663e1f80375835bd51efebdc69b55884ad7afb3a0ef),User,User),Set()),Map(),None)", request_id: "d45c0c95-1576-480c-b048-f59919a1d139", instance_uuid: "1ff5d996-9493-4dea-a9a8-5dc5725c33c0", application_id: "create-daml-app", read_as: "List()", act_as: "List(party-c276900f)"}
24-03-2022 12:43:10.192 [http-json-ledger-api-akka.actor.default-dispatcher-12] INFO  com.daml.http.Endpoints - Responding to client with HTTP 200 OK, context: {instance_uuid: "1ff5d996-9493-4dea-a9a8-5dc5725c33c0", request_id: "d45c0c95-1576-480c-b048-f59919a1d139"}
24-03-2022 12:43:10.420 [http-json-ledger-api-akka.actor.default-dispatcher-12] INFO  com.daml.http.Endpoints - Incoming POST request on http://localhost:7575/v1/create from unknown, context: {instance_uuid: "1ff5d996-9493-4dea-a9a8-5dc5725c33c0", request_id: "90767a4d-bf5f-4a9c-a633-9c9bf4374ab1"}
24-03-2022 12:43:10.490 [http-json-ledger-api-akka.actor.default-dispatcher-11] INFO  com.daml.http.CommandService - Submitting create command, context: {command_id: "9371a5a2-1ab5-4deb-8cec-ad21c0e620dc", ledger_id: "create-daml-app-sandbox", request_id: "90767a4d-bf5f-4a9c-a633-9c9bf4374ab1", instance_uuid: "1ff5d996-9493-4dea-a9a8-5dc5725c33c0", application_id: "create-daml-app", template_id: "TemplateId(bbfcd72618817ef8c99eb663e1f80375835bd51efebdc69b55884ad7afb3a0ef,User,User)", read_as: "List()", act_as: "List(party-c276900f)"}
24-03-2022 12:43:12.870 [http-json-ledger-api-akka.actor.default-dispatcher-17] INFO  com.daml.http.Endpoints - Responding to client with HTTP 200 OK, context: {instance_uuid: "1ff5d996-9493-4dea-a9a8-5dc5725c33c0", request_id: "90767a4d-bf5f-4a9c-a633-9c9bf4374ab1"}
24-03-2022 12:43:12.885 [http-json-ledger-api-akka.actor.default-dispatcher-17] INFO  com.daml.http.Endpoints - Incoming POST request on http://localhost:7575/v1/fetch from unknown, context: {instance_uuid: "1ff5d996-9493-4dea-a9a8-5dc5725c33c0", request_id: "fd827c73-d3b8-4e42-877a-ce9af707da2a"}
24-03-2022 12:43:12.992 [http-json-ledger-api-akka.actor.default-dispatcher-11] INFO  com.daml.http.Endpoints - Responding to client with HTTP 200 OK, context: {instance_uuid: "1ff5d996-9493-4dea-a9a8-5dc5725c33c0", request_id: "fd827c73-d3b8-4e42-877a-ce9af707da2a"}
24-03-2022 12:43:13.004 [http-json-ledger-api-akka.actor.default-dispatcher-11] INFO  com.daml.http.Endpoints - Incoming POST request on http://localhost:7575/v1/query from unknown, context: {instance_uuid: "1ff5d996-9493-4dea-a9a8-5dc5725c33c0", request_id: "94adec23-cb1a-464b-9fad-8bf7da06b99f"}
24-03-2022 12:43:13.017 [http-json-ledger-api-akka.actor.default-dispatcher-13] INFO  com.daml.http.Endpoints - Responding to client with HTTP 200 OK, context: {instance_uuid: "1ff5d996-9493-4dea-a9a8-5dc5725c33c0", request_id: "94adec23-cb1a-464b-9fad-8bf7da06b99f"}
24-03-2022 12:43:13.074 [http-json-ledger-api-akka.actor.default-dispatcher-7] INFO  com.daml.http.Endpoints - Incoming POST request on http://localhost:7575/v1/parties/allocate from unknown, context: {instance_uuid: "1ff5d996-9493-4dea-a9a8-5dc5725c33c0", request_id: "42f7aaf6-f3f7-4138-a4c6-1be224c100bc"}
24-03-2022 12:43:13.121 [http-json-ledger-api-akka.actor.default-dispatcher-17] INFO  com.daml.http.Endpoints - Responding to client with HTTP 200 OK, context: {instance_uuid: "1ff5d996-9493-4dea-a9a8-5dc5725c33c0", request_id: "42f7aaf6-f3f7-4138-a4c6-1be224c100bc"}
Compiled successfully!

You can now view create-daml-app in the browser.

  Local:            http://localhost:3000
  On Your Network:  http://192.168.1.114:3000

Note that the development build is not optimized.
To create a production build, use npm run build.

Request with path /v1/fetch proxied from host localhost:3000 to host http://localhost:undefined
24-03-2022 12:43:53.540 [http-json-ledger-api-akka.actor.default-dispatcher-11] INFO  com.daml.http.Endpoints - Incoming POST request on http://localhost:7575/v1/parties/allocate from unknown, context: {instance_uuid: "1ff5d996-9493-4dea-a9a8-5dc5725c33c0", request_id: "f1da2b78-e020-40fc-b4cc-e635fc78f8fb"}
24-03-2022 12:43:53.681 [http-json-ledger-api-akka.actor.default-dispatcher-7] INFO  com.daml.http.Endpoints - Responding to client with HTTP 200 OK, context: {instance_uuid: "1ff5d996-9493-4dea-a9a8-5dc5725c33c0", request_id: "f1da2b78-e020-40fc-b4cc-e635fc78f8fb"}
24-03-2022 12:43:53.690 [http-json-ledger-api-akka.actor.default-dispatcher-7] INFO  com.daml.http.Endpoints - Incoming POST request on http://localhost:7575/v1/parties/allocate from unknown, context: {instance_uuid: "1ff5d996-9493-4dea-a9a8-5dc5725c33c0", request_id: "42e89b95-f5b7-4c39-bcd8-4264e86a924d"}
24-03-2022 12:43:53.802 [http-json-ledger-api-akka.actor.default-dispatcher-13] INFO  com.daml.http.Endpoints - Responding to client with HTTP 200 OK, context: {instance_uuid: "1ff5d996-9493-4dea-a9a8-5dc5725c33c0", request_id: "42e89b95-f5b7-4c39-bcd8-4264e86a924d"}
24-03-2022 12:43:53.814 [http-json-ledger-api-akka.actor.default-dispatcher-13] INFO  com.daml.http.Endpoints - Incoming POST request on http://localhost:7575/v1/parties/allocate from unknown, context: {instance_uuid: "1ff5d996-9493-4dea-a9a8-5dc5725c33c0", request_id: "fd54814b-fc1f-479b-b65a-1b3bc59392b8"}
24-03-2022 12:43:53.923 [http-json-ledger-api-akka.actor.default-dispatcher-6] INFO  com.daml.http.Endpoints - Responding to client with HTTP 200 OK, context: {instance_uuid: "1ff5d996-9493-4dea-a9a8-5dc5725c33c0", request_id: "fd54814b-fc1f-479b-b65a-1b3bc59392b8"}
Request with path /v1/fetch proxied from host localhost:3000 to host http://localhost:undefined
24-03-2022 12:44:24.809 [http-json-ledger-api-akka.actor.default-dispatcher-17] INFO  com.daml.http.Endpoints - Incoming POST request on http://localhost:7575/v1/parties/allocate from unknown, context: {instance_uuid: "1ff5d996-9493-4dea-a9a8-5dc5725c33c0", request_id: "cde08b6a-68c1-4f7d-9d20-f5bde5c478aa"}
24-03-2022 12:44:24.880 [http-json-ledger-api-akka.actor.default-dispatcher-9] INFO  com.daml.http.Endpoints - Responding to client with HTTP 200 OK, context: {instance_uuid: "1ff5d996-9493-4dea-a9a8-5dc5725c33c0", request_id: "cde08b6a-68c1-4f7d-9d20-f5bde5c478aa"}
Request with path /v1/fetch proxied from host localhost:3000 to host http://localhost:undefined
24-03-2022 12:44:55.691 [http-json-ledger-api-akka.actor.default-dispatcher-8] INFO  com.daml.http.Endpoints - Incoming POST request on http://localhost:7575/v1/parties/allocate from unknown, context: {instance_uuid: "1ff5d996-9493-4dea-a9a8-5dc5725c33c0", request_id: "8dfa15a7-044d-41f7-9597-37662c2ff5ff"}
24-03-2022 12:44:55.818 [http-json-ledger-api-akka.actor.default-dispatcher-6] INFO  com.daml.http.Endpoints - Responding to client with HTTP 200 OK, context: {instance_uuid: "1ff5d996-9493-4dea-a9a8-5dc5725c33c0", request_id: "8dfa15a7-044d-41f7-9597-37662c2ff5ff"}
24-03-2022 12:44:55.828 [http-json-ledger-api-akka.actor.default-dispatcher-6] INFO  com.daml.http.Endpoints - Incoming POST request on http://localhost:7575/v1/parties/allocate from unknown, context: {instance_uuid: "1ff5d996-9493-4dea-a9a8-5dc5725c33c0", request_id: "fe3af4d3-7e89-41a5-bfb3-ec639967a0f8"}
24-03-2022 12:44:55.938 [http-json-ledger-api-akka.actor.default-dispatcher-8] INFO  com.daml.http.Endpoints - Responding to client with HTTP 200 OK, context: {instance_uuid: "1ff5d996-9493-4dea-a9a8-5dc5725c33c0", request_id: "fe3af4d3-7e89-41a5-bfb3-ec639967a0f8"}
Request with path /v1/fetch proxied from host localhost:3000 to host http://localhost:undefined
FAIL src/index.test.ts (154.562s)
  ● Console

    console.debug daml-types/index.js:98
      Registered template bbfcd72618817ef8c99eb663e1f80375835bd51efebdc69b55884ad7afb3a0ef:User:Message.
    console.debug daml-types/index.js:98
      Registered template bbfcd72618817ef8c99eb663e1f80375835bd51efebdc69b55884ad7afb3a0ef:User:User.

  ● log in as a new user, log out and log back in

    TimeoutError: waiting for selector ".test-select-main-menu" failed: timeout 30000ms exceeded

      277 |   await usernameInput.type(partyName);
      278 |   await page.click(".test-select-login-button");
    > 279 |   await page.waitForSelector(".test-select-main-menu");
          |              ^
      280 | };
      281 | // LOGIN_FUNCTION_END
      282 |

      at new WaitTask (node_modules/puppeteer/lib/DOMWorld.js:407:34)
      at DOMWorld._waitForSelectorOrXPath (node_modules/puppeteer/lib/DOMWorld.js:332:26)
      at DOMWorld.waitForSelector (node_modules/puppeteer/lib/DOMWorld.js:315:21)
      at Frame.waitForSelector (node_modules/puppeteer/lib/FrameManager.js:384:51)
      at Frame.<anonymous> (node_modules/puppeteer/lib/helper.js:117:27)
      at Page.waitForSelector (node_modules/puppeteer/lib/Page.js:867:33)
      at login (src/index.test.ts:279:14)
      at Object.<anonymous> (src/index.test.ts:313:3)

  ● log in as three different users and start following each other

    TimeoutError: waiting for selector ".test-select-main-menu" failed: timeout 30000ms exceeded

      277 |   await usernameInput.type(partyName);
      278 |   await page.click(".test-select-login-button");
    > 279 |   await page.waitForSelector(".test-select-main-menu");
          |              ^
      280 | };
      281 | // LOGIN_FUNCTION_END
      282 |

      at new WaitTask (node_modules/puppeteer/lib/DOMWorld.js:407:34)
      at DOMWorld._waitForSelectorOrXPath (node_modules/puppeteer/lib/DOMWorld.js:332:26)
      at DOMWorld.waitForSelector (node_modules/puppeteer/lib/DOMWorld.js:315:21)
      at Frame.waitForSelector (node_modules/puppeteer/lib/FrameManager.js:384:51)
      at Frame.<anonymous> (node_modules/puppeteer/lib/helper.js:117:27)
      at Page.waitForSelector (node_modules/puppeteer/lib/Page.js:867:33)
      at login (src/index.test.ts:279:14)
      at Object.<anonymous> (src/index.test.ts:349:3)

  ● error when following self

    TimeoutError: waiting for selector ".test-select-main-menu" failed: timeout 30000ms exceeded

      277 |   await usernameInput.type(partyName);
      278 |   await page.click(".test-select-login-button");
    > 279 |   await page.waitForSelector(".test-select-main-menu");
          |              ^
      280 | };
      281 | // LOGIN_FUNCTION_END
      282 |

      at new WaitTask (node_modules/puppeteer/lib/DOMWorld.js:407:34)
      at DOMWorld._waitForSelectorOrXPath (node_modules/puppeteer/lib/DOMWorld.js:332:26)
      at DOMWorld.waitForSelector (node_modules/puppeteer/lib/DOMWorld.js:315:21)
      at Frame.waitForSelector (node_modules/puppeteer/lib/FrameManager.js:384:51)
      at Frame.<anonymous> (node_modules/puppeteer/lib/helper.js:117:27)
      at Page.waitForSelector (node_modules/puppeteer/lib/Page.js:867:33)
      at login (src/index.test.ts:279:14)
      at Object.<anonymous> (src/index.test.ts:455:3)

  ● error when adding a user that you are already following

    TimeoutError: waiting for selector ".test-select-main-menu" failed: timeout 30000ms exceeded

      277 |   await usernameInput.type(partyName);
      278 |   await page.click(".test-select-login-button");
    > 279 |   await page.waitForSelector(".test-select-main-menu");
          |              ^
      280 | };
      281 | // LOGIN_FUNCTION_END
      282 |

      at new WaitTask (node_modules/puppeteer/lib/DOMWorld.js:407:34)
      at DOMWorld._waitForSelectorOrXPath (node_modules/puppeteer/lib/DOMWorld.js:332:26)
      at DOMWorld.waitForSelector (node_modules/puppeteer/lib/DOMWorld.js:315:21)
      at Frame.waitForSelector (node_modules/puppeteer/lib/FrameManager.js:384:51)
      at Frame.<anonymous> (node_modules/puppeteer/lib/helper.js:117:27)
      at Page.waitForSelector (node_modules/puppeteer/lib/Page.js:867:33)
      at login (src/index.test.ts:279:14)
      at Object.<anonymous> (src/index.test.ts:471:3)

Test Suites: 1 failed, 1 passed, 2 total
Tests:       4 failed, 3 passed, 7 total
Snapshots:   0 total
Time:        155.201s
Ran all test suites.
12:45:26.673 [program-resource-pool-6] INFO  c.d.g.a.server.akka.ServerAdapter - SERVER_IS_SHUTTING_DOWN(1,0): Server is shutting down, context: {err-context: "{location=ServerAdapter.scala:59}"}
12:45:26.675 [program-resource-pool-6] INFO  c.d.g.a.server.akka.ServerAdapter - SERVER_IS_SHUTTING_DOWN(1,0): Server is shutting down, context: {err-context: "{location=ServerAdapter.scala:59}"}
12:45:26.676 [program-resource-pool-6] INFO  c.d.g.a.server.akka.ServerAdapter - SERVER_IS_SHUTTING_DOWN(1,0): Server is shutting down, context: {err-context: "{location=ServerAdapter.scala:59}"}
12:45:26.677 [program-resource-pool-6] INFO  c.d.g.a.server.akka.ServerAdapter - SERVER_IS_SHUTTING_DOWN(1,0): Server is shutting down, context: {err-context: "{location=ServerAdapter.scala:59}"}
[WARN] [03/24/2022 12:45:26.723] [program-resource-pool-6] [CoordinatedShutdown(akka://sandbox-on-x)] Could not addJvmShutdownHook, due to: Shutdown in progress
[INFO] [03/24/2022 12:45:26.724] [program-resource-pool-6] [CoordinatedShutdown(akka://sandbox-on-x)] Running CoordinatedShutdown with reason [ActorSystemTerminateReason]
24-03-2022 12:45:26.630 [shutdownHook1] INFO  com.daml.http.HttpService - Stopping server..., context: {instance_uuid: "1ff5d996-9493-4dea-a9a8-5dc5725c33c0"}
12:45:26.648 [program-resource-pool-6] INFO  c.d.g.a.server.akka.ServerAdapter - SERVER_IS_SHUTTING_DOWN(1,0): Server is shutting down, context: {err-context: "{location=ServerAdapter.scala:59}"}
FAIL (278.22s)
    Create app from template                          (0.04s)
    Patch the application code with messaging feature
    Extract codegen output                            (0.04s)
    Set up libraries and workspaces
    Install Jest, Puppeteer and other dependencies    (120.36s)
    Run Puppeteer end-to-end tests                    (157.77s)
      callProcess: /home/aj/.cache/bazel/_bazel_aj/c437a451a7a277d35b539da616255ac8/sandbox/linux-sandbox/2357/execroot/compatibility/bazel-out/k8-opt/bin/create-daml-app-1.9.0-platform-0.0.0.runfiles/compatibility/external/node_nix/node_nix/lib/node_modules/npm/bin/npm-cli.js "run" "test" "--ci" "--all" "--scripts-prepend-node-path" (exit 1): failed

1 out of 1 tests failed (278.22s)
================================================================================
```
NodeJS 16 is needed for M1 compatibility, but it breaks the
compatibility tests. So, for now, we stick to the older version for the
compatibility tests.
@aherrmann-da
Copy link
Contributor Author

I'm not entirely sure how I feel about @dasormeter's issue just disappearing after three attempts, but I'll leave the decision up to @aherrmann.

That's odd, I tried to reproduce with a clean build without cache on an M1 test machine, but the build went through without error. So, I'm not able to reproduce the issue.

The missing paths warnings shouldn't be the culprit, these are additional paths configured in the Nix clang wrapper. The critical error seems to be the segfault:

/nix/store/cncwqs75v3syxhna1452bfd8wvwrzxxb-clang-wrapper-wrapper-12.0.1/bin/ld: line 256: 93072 Segmentation fault: 11 /nix/store/d853z4g5dp326kc7lqd9n3kh29wic1jf-cctools-binutils-darwin-949.0.1/bin/ld ${extraBefore+"${extraBefore[@]}"} ${params+"${params[@]}"} ${extraAfter+"${extraAfter[@]}"}

I can't really say what's causing this. It doesn't seem worth blocking the PR on it though.
But, if the issue occurs again please do raise it. It would be good to debug it in that case.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

6 participants