NixOS / nixpkgs

Nix Packages collection & NixOS
MIT License
18.06k stars 14.12k forks source link

Cross compiling aarch64-multiplatform elm package returns Error "attribute 'runtimeShell' missing" #188296

Closed ParetoOptimalDev closed 2 years ago

ParetoOptimalDev commented 2 years ago

Steps To Reproduce

Steps to reproduce the behavior:

  1. build pkgs.pkgsCross.aarch64-multiplatform-musl.pkgsStatic.elmPackages.elm like nix-build '<nixpkgs>' -A pkgs.pkgsCross.aarch64-multiplatform-musl.pkgsStatic.elmPackages.elm

Build log

$ cd $NIXPKGS && git rev-parse HEAD 
875ec512e671b9073b44d812826744def79888f9
$ # $NIXPKGS is from cloning master 2022-08-25
$ nix-build $NIXPKGS -A pkgs.pkgsCross.aarch64-multiplatform-musl.pkgsStatic.elmPackages.elm --show-trace
-show-trace
error: attribute 'runtimeShell' missing

       at /home/cody/sources/nixpkgs/pkgs/top-level/all-packages.nix:892:17:

          891|       substitutions = {
          892|         shell = targetPackages.runtimeShell;
             |                 ^
          893|         passthru.tests = tests.makeWrapper;

       … while evaluating the attribute 'shell' of the derivation 'hook'

       at /home/cody/sources/nixpkgs/pkgs/stdenv/generic/make-derivation.nix:270:7:

          269|     // (lib.optionalAttrs (attrs ? name || (attrs ? pname && attrs ? version)) {
          270|       name =
             |       ^
          271|         let

       … while evaluating the attribute 'nativeBuildInputs' of the derivation 'elm-static-aarch64-unknown-linux-musl-0.19.1'

       at /home/cody/sources/nixpkgs/pkgs/stdenv/generic/make-derivation.nix:270:7:

          269|     // (lib.optionalAttrs (attrs ? name || (attrs ? pname && attrs ? version)) {
          270|       name =
             |       ^
          271|         let

Additional context

Related issues: #116207

Note that building elm-format with cross compiling worked just fine (I haven't rebuilt with latest master yet, but I bet it builds there too):

nix-build '<nixpkgs>' -A pkgs.pkgsCross.aarch64-multiplatform-musl.pkgsStatic.elmPackages.elm-format
m-format
/nix/store/6vk7m4lg64022gpl5zwyanl0chndr5jv-elm-format-static-aarch64-unknown-linux-musl-0.8.5

In this related issue it says:

"Moving makeWrapper to nativeBuildInput might help for this." (and it did)

So I tried to understand the fix in #104775

I wasn't quite sure what this meant for the elm package specifically, but I tried:

```diff
modified   pkgs/development/compilers/elm/default.nix
@@ -10,7 +10,7 @@ let
   hsPkgs = self: pkgs.haskell.packages.ghc8107.override {
     overrides = self: super: with pkgs.haskell.lib.compose; with lib;
     let elmPkgs = rec {
-      elm = overrideCabal (drv: {
+      elm' = overrideCabal (drv: {
         # sadly with parallelism most of the time breaks compilation
         enableParallelBuilding = false;
         preConfigure = fetchElmDeps {
@@ -18,7 +18,7 @@ let
           elmVersion = drv.version;
           registryDat = ./registry.dat;
         };
-        buildTools = drv.buildTools or [] ++ [ pkgs.makeWrapper ];
+        buildTools = drv.buildTools or [];
         jailbreak = true;
         postInstall = ''
           wrapProgram $out/bin/elm \
@@ -29,7 +29,8 @@ let
         homepage = "https://elm-lang.org/";
         license = licenses.bsd3;
         maintainers = with maintainers; [ domenkozar turbomack ];
-      }) (self.callPackage ./packages/elm.nix { });
+      }) (self.callPackage ./packages/elm.nix {  });
+      elm = elm'.overrideAttrs(o: { nativeBuildInputs = [ pkgs.makeWrapper ];});

Notify maintainers

@domenkozar @turboMaCk

Metadata

Please run nix-shell -p nix-info --run "nix-info -m" and paste the result.

$nix-shell -p nix-info --run "nix-info -m"
this path will be fetched (0.06 MiB download, 0.30 MiB unpacked):
  /nix/store/x39agmpkj35mhxk3dib0z8cv6pylmad8-bash-interactive-5.1-p16-dev
copying path '/nix/store/x39agmpkj35mhxk3dib0z8cv6pylmad8-bash-interactive-5.1-p16-dev' from 'https://cache.nixos.org'...
 - system: `"aarch64-linux"`
 - host os: `Linux 5.15.59, NixOS, 22.11 (Raccoon), 22.11.20220814.b02538b`
 - multi-user?: `yes`
 - sandbox: `yes`
 - version: `nix-env (Nix) 2.10.3`
 - nixpkgs: `/nix/var/nix/profiles/per-user/root/channels/nixos`
nixos-discourse commented 2 years ago

This issue has been mentioned on NixOS Discourse. There might be relevant details there:

https://discourse.nixos.org/t/error-attribute-runtimeshell-missing-cross-compiling-aarch64-multiplatform-elm-binary/21216/3

turboMaCk commented 2 years ago

from log this error doesn't really seems to be elm specific as you correctly point out. Anyway I think having this working might be worth change avoiding the issue. @ParetoOptimalDev will you be able submit PR for this? I don't have a way to reproduce this which I think will be critical for being effective to address that. Maybe the changes required would be really minimal https://github.com/NixOS/nixpkgs/blob/master/pkgs/development/compilers/elm/default.nix#L21

ParetoOptimalDev commented 2 years ago

I think the changes required are very close to what I had... but I've hit a wall and I'm not quite sure what else to try or what I need to learn more about.

I've been reading everything I can about nix and cross compilation in hopes that the solution will eventually become obvious... but that could take some time.

If I do figure it out, I'll send a PR immediately for sure!

ParetoOptimalDev commented 2 years ago

I imagine this has to break something, but removing pkgs.makeWrapper got things to start building:

modified   pkgs/development/compilers/elm/default.nix
@@ -18,7 +18,7 @@ let
           elmVersion = drv.version;
           registryDat = ./registry.dat;
         };
-        buildTools = drv.buildTools or [] ++ [ pkgs.makeWrapper ];
+
         jailbreak = true;
         postInstall = ''
           wrapProgram $out/bin/elm \
ParetoOptimalDev commented 2 years ago

I don't know what the effect of removing that was, because I ran into the error from #177129

rnhmjoj commented 2 years ago

This error is super common: it happens when makeWrapper has been placed incorrectly into the buildInputs instead of nativeBuildInputs of some derivation.

ParetoOptimalDev commented 2 years ago

Okay, I got past the makeWrapper error with the code above and currently am stuck on:

Usage: configure [options]

configure: error: no such option: --disable-shared
error: builder for '/nix/store/3kkgmyii07mszbasy06z6z0k91dfli26-nodejs-static-aarch64-unknown-linux-musl-14.19.1.drv' failed with exit code 2;

This isn't elm specific though, as you can get the same failure with just:

$ # using recent master 2022-08-28
$ nix-build -I nixpkgs=https://github.com/NixOS/nixpkgs/archive/169fb54e9929676218f071dd461c946de595b316.tar.gz -A pkgs.pkgsCross.aarch64-multiplatform-musl.pkgsStatic.nodejs
this derivation will be built:
  /nix/store/kv1159x1pnpnrh2wvnriy52dc64xfwcy-nodejs-static-aarch64-unknown-linux-musl-16.14.2.drv
building '/nix/store/kv1159x1pnpnrh2wvnriy52dc64xfwcy-nodejs-static-aarch64-unknown-linux-musl-16.14.2.drv'...
unpacking sources
unpacking source archive /nix/store/2y0xsqvf16awpxrkvbb2scmbz2w7icaq-node-v16.14.2.tar.xz
source root is node-v16.14.2
setting SOURCE_DATE_EPOCH to timestamp 1647554369 of file node-v16.14.2/vcbuild.bat
patching sources
applying patch /nix/store/cqn0y2wklslppakf9zwrwm6c139mh9dj-disable-darwin-v8-system-instrumentation.patch
patching file tools/v8_gypfiles/features.gypi
applying patch /nix/store/c9g5g8996c2b7lpihfa71z5xy2saz62g-65119a89586b94b0dd46b45f6d315c9d9f4c9261.patch
patching file node.gyp
Hunk NixOS/nixpkgs-architecture-issues#1 succeeded at 1394 (offset -82 lines).
patching script interpreter paths in .
./configure: interpreter directive changed from "#!/bin/sh" to "/nix/store/30j23057fqnnc1p4jqmq73p0gxgn0frq-bash-5.1-p16/bin/sh"
./deps/openssl/openssl/fuzz/helper.py: interpreter directive changed from "#!/usr/bin/python" to "/nix/store/bvzpppawf2naqv3qhxqv66jxaq3iaxyj-python3-3.9.11/bin/python"
./deps/openssl/openssl/config: interpreter directive changed from "#!/bin/sh" to "/nix/store/30j23057fqnnc1p4jqmq73p0gxgn0frq-bash-5.1-p16/bin/sh"
./deps/openssl/openssl/util/fix-includes: interpreter directive changed from "#!/bin/sh" to "/nix/store/30j23057fqnnc1p4jqmq73p0gxgn0frq-bash-5.1-p16/bin/sh"
./deps/openssl/openssl/util/check-malloc-errs: interpreter directive changed from "#! /bin/sh" to "/nix/store/30j23057fqnnc1p4jqmq73p0gxgn0frq-bash-5.1-p16/bin/sh"
./deps/openssl/openssl/util/openssl-format-source: interpreter directive changed from "#!/bin/sh" to "/nix/store/30j23057fqnnc1p4jqmq73p0gxgn0frq-bash-5.1-p16/bin/sh"
./deps/openssl/openssl/util/mktar.sh: interpreter directive changed from "#! /bin/sh" to "/nix/store/30j23057fqnnc1p4jqmq73p0gxgn0frq-bash-5.1-p16/bin/sh"
./deps/openssl/openssl/util/find-unused-errs: interpreter directive changed from "#! /bin/bash" to "/nix/store/30j23057fqnnc1p4jqmq73p0gxgn0frq-bash-5.1-p16/bin/bash"
./deps/openssl/openssl/util/shlib_wrap.sh.in: interpreter directive changed from "#!/bin/sh" to "/nix/store/30j23057fqnnc1p4jqmq73p0gxgn0frq-bash-5.1-p16/bin/sh"
./deps/openssl/openssl/util/opensslwrap.sh: interpreter directive changed from "#!/bin/sh" to "/nix/store/30j23057fqnnc1p4jqmq73p0gxgn0frq-bash-5.1-p16/bin/sh"
./deps/openssl/openssl/util/openssl-update-copyright: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/30j23057fqnnc1p4jqmq73p0gxgn0frq-bash-5.1-p16/bin/bash"
./deps/cares/ltmain.sh: interpreter directive changed from "#! /bin/sh" to "/nix/store/30j23057fqnnc1p4jqmq73p0gxgn0frq-bash-5.1-p16/bin/sh"
./deps/cares/configure: interpreter directive changed from "#! /bin/sh" to "/nix/store/30j23057fqnnc1p4jqmq73p0gxgn0frq-bash-5.1-p16/bin/sh"
./deps/cares/install-sh: interpreter directive changed from "#!/bin/sh" to "/nix/store/30j23057fqnnc1p4jqmq73p0gxgn0frq-bash-5.1-p16/bin/sh"
./deps/cares/compile: interpreter directive changed from "#! /bin/sh" to "/nix/store/30j23057fqnnc1p4jqmq73p0gxgn0frq-bash-5.1-p16/bin/sh"
./deps/cares/missing: interpreter directive changed from "#! /bin/sh" to "/nix/store/30j23057fqnnc1p4jqmq73p0gxgn0frq-bash-5.1-p16/bin/sh"
./deps/cares/config.sub: interpreter directive changed from "#! /bin/sh" to "/nix/store/30j23057fqnnc1p4jqmq73p0gxgn0frq-bash-5.1-p16/bin/sh"
./deps/cares/buildconf: interpreter directive changed from "#!/bin/sh" to "/nix/store/30j23057fqnnc1p4jqmq73p0gxgn0frq-bash-5.1-p16/bin/sh"
./deps/cares/depcomp: interpreter directive changed from "#! /bin/sh" to "/nix/store/30j23057fqnnc1p4jqmq73p0gxgn0frq-bash-5.1-p16/bin/sh"
./deps/cares/config.guess: interpreter directive changed from "#! /bin/sh" to "/nix/store/30j23057fqnnc1p4jqmq73p0gxgn0frq-bash-5.1-p16/bin/sh"
./deps/zlib/google/test/data/create_test_zip.sh: interpreter directive changed from "#!/bin/bash" to "/nix/store/30j23057fqnnc1p4jqmq73p0gxgn0frq-bash-5.1-p16/bin/bash"
./deps/uv/autogen.sh: interpreter directive changed from "#!/bin/sh" to "/nix/store/30j23057fqnnc1p4jqmq73p0gxgn0frq-bash-5.1-p16/bin/sh"
./deps/v8/tools/linux-tick-processor: interpreter directive changed from "#!/bin/sh" to "/nix/store/30j23057fqnnc1p4jqmq73p0gxgn0frq-bash-5.1-p16/bin/sh"
./deps/v8/tools/freebsd-tick-processor: interpreter directive changed from "#!/bin/sh" to "/nix/store/30j23057fqnnc1p4jqmq73p0gxgn0frq-bash-5.1-p16/bin/sh"
./deps/v8/tools/android-ll-prof.sh: interpreter directive changed from "#!/bin/bash" to "/nix/store/30j23057fqnnc1p4jqmq73p0gxgn0frq-bash-5.1-p16/bin/bash"
./deps/v8/tools/stats-viewer.py: interpreter directive changed from "#!/usr/bin/env python" to "/nix/store/bvzpppawf2naqv3qhxqv66jxaq3iaxyj-python3-3.9.11/bin/python"
./deps/v8/tools/torque/format-torque.py: interpreter directive changed from "#!/usr/bin/env python" to "/nix/store/bvzpppawf2naqv3qhxqv66jxaq3iaxyj-python3-3.9.11/bin/python"
./deps/v8/tools/ignition/bytecode_dispatches_report.py: interpreter directive changed from "#! /usr/bin/python" to "/nix/store/bvzpppawf2naqv3qhxqv66jxaq3iaxyj-python3-3.9.11/bin/python"
./deps/v8/tools/ignition/linux_perf_bytecode_annotate.py: interpreter directive changed from "#! /usr/bin/python" to "/nix/store/bvzpppawf2naqv3qhxqv66jxaq3iaxyj-python3-3.9.11/bin/python"
./deps/v8/tools/check-inline-includes.sh: interpreter directive changed from "#!/bin/bash" to "/nix/store/30j23057fqnnc1p4jqmq73p0gxgn0frq-bash-5.1-p16/bin/bash"
./deps/v8/tools/ic-processor: interpreter directive changed from "#!/bin/sh" to "/nix/store/30j23057fqnnc1p4jqmq73p0gxgn0frq-bash-5.1-p16/bin/sh"
./deps/v8/tools/wasm-compilation-hints/inject-compilation-hints.py: interpreter directive changed from "#!/usr/bin/env python" to "/nix/store/bvzpppawf2naqv3qhxqv66jxaq3iaxyj-python3-3.9.11/bin/python"
./deps/v8/tools/wasm-compilation-hints/wasm-objdump-compilation-hints.py: interpreter directive changed from "#!/usr/bin/env python" to "/nix/store/bvzpppawf2naqv3qhxqv66jxaq3iaxyj-python3-3.9.11/bin/python"
./deps/v8/tools/v8_presubmit.py: interpreter directive changed from "#!/usr/bin/env python" to "/nix/store/bvzpppawf2naqv3qhxqv66jxaq3iaxyj-python3-3.9.11/bin/python"
./deps/v8/tools/find-commit-for-patch.py: interpreter directive changed from "#!/usr/bin/env python" to "/nix/store/bvzpppawf2naqv3qhxqv66jxaq3iaxyj-python3-3.9.11/bin/python"
./deps/v8/tools/jsfunfuzz/fuzz-harness.sh: interpreter directive changed from "#!/bin/bash" to "/nix/store/30j23057fqnnc1p4jqmq73p0gxgn0frq-bash-5.1-p16/bin/bash"
./deps/v8/tools/mac-nm: interpreter directive changed from "#!/bin/sh" to "/nix/store/30j23057fqnnc1p4jqmq73p0gxgn0frq-bash-5.1-p16/bin/sh"
./deps/v8/tools/run-num-fuzzer.py: interpreter directive changed from "#!/usr/bin/env python" to "/nix/store/bvzpppawf2naqv3qhxqv66jxaq3iaxyj-python3-3.9.11/bin/python"
./deps/v8/tools/collect_deprecation_stats.sh: interpreter directive changed from "#!/bin/bash" to "/nix/store/30j23057fqnnc1p4jqmq73p0gxgn0frq-bash-5.1-p16/bin/bash"
./deps/v8/tools/update-object-macros-undef.py: interpreter directive changed from "#!/usr/bin/env python3" to "/nix/store/bvzpppawf2naqv3qhxqv66jxaq3iaxyj-python3-3.9.11/bin/python3"
./deps/v8/tools/eval_gc_nvp.py: interpreter directive changed from "#!/usr/bin/env python" to "/nix/store/bvzpppawf2naqv3qhxqv66jxaq3iaxyj-python3-3.9.11/bin/python"
./deps/v8/tools/draw_instruction_graph.sh: interpreter directive changed from "#!/bin/bash" to "/nix/store/30j23057fqnnc1p4jqmq73p0gxgn0frq-bash-5.1-p16/bin/bash"
./deps/v8/tools/try_perf.py: interpreter directive changed from "#!/usr/bin/env python" to "/nix/store/bvzpppawf2naqv3qhxqv66jxaq3iaxyj-python3-3.9.11/bin/python"
./deps/v8/tools/android-sync.sh: interpreter directive changed from "#!/bin/bash" to "/nix/store/30j23057fqnnc1p4jqmq73p0gxgn0frq-bash-5.1-p16/bin/bash"
./deps/v8/tools/sanitizers/sanitize_pcs.py: interpreter directive changed from "#!/usr/bin/env python" to "/nix/store/bvzpppawf2naqv3qhxqv66jxaq3iaxyj-python3-3.9.11/bin/python"
./deps/v8/tools/sanitizers/sancov_formatter.py: interpreter directive changed from "#!/usr/bin/env python" to "/nix/store/bvzpppawf2naqv3qhxqv66jxaq3iaxyj-python3-3.9.11/bin/python"
./deps/v8/tools/sanitizers/sancov_merger.py: interpreter directive changed from "#!/usr/bin/env python" to "/nix/store/bvzpppawf2naqv3qhxqv66jxaq3iaxyj-python3-3.9.11/bin/python"
./deps/v8/tools/android-run.py: interpreter directive changed from "#!/usr/bin/env python" to "/nix/store/bvzpppawf2naqv3qhxqv66jxaq3iaxyj-python3-3.9.11/bin/python"
./deps/v8/tools/run-clang-tidy.py: interpreter directive changed from "#!/usr/bin/env python" to "/nix/store/bvzpppawf2naqv3qhxqv66jxaq3iaxyj-python3-3.9.11/bin/python"
./deps/v8/tools/cpu.sh: interpreter directive changed from "#!/bin/bash" to "/nix/store/30j23057fqnnc1p4jqmq73p0gxgn0frq-bash-5.1-p16/bin/bash"
./deps/v8/tools/ll_prof.py: interpreter directive changed from "#!/usr/bin/env python" to "/nix/store/bvzpppawf2naqv3qhxqv66jxaq3iaxyj-python3-3.9.11/bin/python"
./deps/v8/tools/gc-nvp-to-csv.py: interpreter directive changed from "#!/usr/bin/env python" to "/nix/store/bvzpppawf2naqv3qhxqv66jxaq3iaxyj-python3-3.9.11/bin/python"
./deps/v8/tools/eval_gc_time.sh: interpreter directive changed from "#!/bin/bash" to "/nix/store/30j23057fqnnc1p4jqmq73p0gxgn0frq-bash-5.1-p16/bin/bash"
./deps/v8/tools/get_landmines.py: interpreter directive changed from "#!/usr/bin/env python" to "/nix/store/bvzpppawf2naqv3qhxqv66jxaq3iaxyj-python3-3.9.11/bin/python"
./deps/v8/tools/unittests/v8_presubmit_test.py: interpreter directive changed from "#!/usr/bin/env python" to "/nix/store/bvzpppawf2naqv3qhxqv66jxaq3iaxyj-python3-3.9.11/bin/python"
./deps/v8/tools/unittests/run_perf_test.py: interpreter directive changed from "#!/usr/bin/env python" to "/nix/store/bvzpppawf2naqv3qhxqv66jxaq3iaxyj-python3-3.9.11/bin/python"
./deps/v8/tools/unittests/run_tests_test.py: interpreter directive changed from "#!/usr/bin/env python" to "/nix/store/bvzpppawf2naqv3qhxqv66jxaq3iaxyj-python3-3.9.11/bin/python"
./deps/v8/tools/unittests/predictable_wrapper_test.py: interpreter directive changed from "#!/usr/bin/env python" to "/nix/store/bvzpppawf2naqv3qhxqv66jxaq3iaxyj-python3-3.9.11/bin/python"
./deps/v8/tools/wasm/update-wasm-spec-tests.sh: interpreter directive changed from "#!/bin/bash" to "/nix/store/30j23057fqnnc1p4jqmq73p0gxgn0frq-bash-5.1-p16/bin/bash"
./deps/v8/tools/wasm/update-wasm-fuzzers.sh: interpreter directive changed from "#!/bin/bash" to "/nix/store/30j23057fqnnc1p4jqmq73p0gxgn0frq-bash-5.1-p16/bin/bash"
./deps/v8/tools/check-unused-bailouts.sh: interpreter directive changed from "#!/bin/bash" to "/nix/store/30j23057fqnnc1p4jqmq73p0gxgn0frq-bash-5.1-p16/bin/bash"
./deps/v8/tools/clusterfuzz/v8_foozzie.py: interpreter directive changed from "#!/usr/bin/env python" to "/nix/store/bvzpppawf2naqv3qhxqv66jxaq3iaxyj-python3-3.9.11/bin/python"
./deps/v8/tools/clusterfuzz/v8_foozzie_test.py: interpreter directive changed from "#!/usr/bin/env python" to "/nix/store/bvzpppawf2naqv3qhxqv66jxaq3iaxyj-python3-3.9.11/bin/python"
./deps/v8/tools/clusterfuzz/js_fuzzer/package.sh: interpreter directive changed from "#!/bin/bash" to "/nix/store/30j23057fqnnc1p4jqmq73p0gxgn0frq-bash-5.1-p16/bin/bash"
./deps/v8/tools/objdump-v8: interpreter directive changed from "#!/usr/bin/env python" to "/nix/store/bvzpppawf2naqv3qhxqv66jxaq3iaxyj-python3-3.9.11/bin/python"
./deps/v8/tools/fuzz-harness.sh: interpreter directive changed from "#!/bin/bash" to "/nix/store/30j23057fqnnc1p4jqmq73p0gxgn0frq-bash-5.1-p16/bin/bash"
./deps/v8/tools/bigint-tester.py: interpreter directive changed from "#!/usr/bin/python" to "/nix/store/bvzpppawf2naqv3qhxqv66jxaq3iaxyj-python3-3.9.11/bin/python"
./deps/v8/tools/mac-tick-processor: interpreter directive changed from "#!/bin/sh" to "/nix/store/30j23057fqnnc1p4jqmq73p0gxgn0frq-bash-5.1-p16/bin/sh"
./deps/v8/tools/run-perf.sh: interpreter directive changed from "#! /bin/sh" to "/nix/store/30j23057fqnnc1p4jqmq73p0gxgn0frq-bash-5.1-p16/bin/sh"
./deps/v8/tools/bash-completion.sh: interpreter directive changed from "#!/bin/bash" to "/nix/store/30j23057fqnnc1p4jqmq73p0gxgn0frq-bash-5.1-p16/bin/bash"
./deps/v8/tools/check-static-initializers.sh: interpreter directive changed from "#!/bin/bash" to "/nix/store/30j23057fqnnc1p4jqmq73p0gxgn0frq-bash-5.1-p16/bin/bash"
./deps/v8/tools/generate-runtime-call-stats.py: interpreter directive changed from "#!/usr/bin/python3" to "/nix/store/bvzpppawf2naqv3qhxqv66jxaq3iaxyj-python3-3.9.11/bin/python3"
./deps/v8/tools/gc-nvp-trace-processor.py: interpreter directive changed from "#!/usr/bin/env python" to "/nix/store/bvzpppawf2naqv3qhxqv66jxaq3iaxyj-python3-3.9.11/bin/python"
./deps/v8/tools/run.py: interpreter directive changed from "#!/usr/bin/env python" to "/nix/store/bvzpppawf2naqv3qhxqv66jxaq3iaxyj-python3-3.9.11/bin/python"
./deps/v8/tools/cross_build_gcc.sh: interpreter directive changed from "#!/bin/sh" to "/nix/store/30j23057fqnnc1p4jqmq73p0gxgn0frq-bash-5.1-p16/bin/sh"
./deps/v8/tools/gcmole/run-gcmole.py: interpreter directive changed from "#!/usr/bin/env python" to "/nix/store/bvzpppawf2naqv3qhxqv66jxaq3iaxyj-python3-3.9.11/bin/python"
./deps/v8/tools/gcmole/bootstrap.sh: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/30j23057fqnnc1p4jqmq73p0gxgn0frq-bash-5.1-p16/bin/bash"
./deps/v8/tools/gcmole/package.sh: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/30j23057fqnnc1p4jqmq73p0gxgn0frq-bash-5.1-p16/bin/bash"
./deps/v8/tools/regexp-sequences.py: interpreter directive changed from "#!/usr/bin/env python" to "/nix/store/bvzpppawf2naqv3qhxqv66jxaq3iaxyj-python3-3.9.11/bin/python"
./deps/v8/tools/generate_shim_headers/generate_shim_headers.py: interpreter directive changed from "#!/usr/bin/env python" to "/nix/store/bvzpppawf2naqv3qhxqv66jxaq3iaxyj-python3-3.9.11/bin/python"
./deps/v8/tools/gen-keywords-gen-h.py: interpreter directive changed from "#!/usr/bin/env python" to "/nix/store/bvzpppawf2naqv3qhxqv66jxaq3iaxyj-python3-3.9.11/bin/python"
./deps/v8/tools/mb/mb.py: interpreter directive changed from "#!/usr/bin/env python" to "/nix/store/bvzpppawf2naqv3qhxqv66jxaq3iaxyj-python3-3.9.11/bin/python"
./deps/v8/tools/mb/mb: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/30j23057fqnnc1p4jqmq73p0gxgn0frq-bash-5.1-p16/bin/bash"
./deps/v8/tools/mb/mb_unittest.py: interpreter directive changed from "#!/usr/bin/python" to "/nix/store/bvzpppawf2naqv3qhxqv66jxaq3iaxyj-python3-3.9.11/bin/python"
./deps/v8/tools/run-wasm-api-tests.py: interpreter directive changed from "#!/usr/bin/env python" to "/nix/store/bvzpppawf2naqv3qhxqv66jxaq3iaxyj-python3-3.9.11/bin/python"
./deps/v8/tools/turbolizer/deploy.sh: interpreter directive changed from "#!/bin/bash" to "/nix/store/30j23057fqnnc1p4jqmq73p0gxgn0frq-bash-5.1-p16/bin/bash"
./deps/v8/tools/cppgc/test_cmake.sh: interpreter directive changed from "#!/bin/sh" to "/nix/store/30j23057fqnnc1p4jqmq73p0gxgn0frq-bash-5.1-p16/bin/sh"
./deps/v8/tools/cppgc/gen_cmake.py: interpreter directive changed from "#!/usr/bin/env python3" to "/nix/store/bvzpppawf2naqv3qhxqv66jxaq3iaxyj-python3-3.9.11/bin/python3"
./deps/v8/tools/cppgc/export_to_github.sh: interpreter directive changed from "#!/bin/sh" to "/nix/store/30j23057fqnnc1p4jqmq73p0gxgn0frq-bash-5.1-p16/bin/sh"
./deps/v8/tools/cppgc/gen_cmake_test.py: interpreter directive changed from "#!/usr/bin/env python3" to "/nix/store/bvzpppawf2naqv3qhxqv66jxaq3iaxyj-python3-3.9.11/bin/python3"
./deps/v8/tools/locs.py: interpreter directive changed from "#!/usr/bin/env python" to "/nix/store/bvzpppawf2naqv3qhxqv66jxaq3iaxyj-python3-3.9.11/bin/python"
./deps/v8/tools/dev/v8gen.py: interpreter directive changed from "#!/usr/bin/env python" to "/nix/store/bvzpppawf2naqv3qhxqv66jxaq3iaxyj-python3-3.9.11/bin/python"
./deps/v8/tools/dev/gen-tags.py: interpreter directive changed from "#!/usr/bin/env python" to "/nix/store/bvzpppawf2naqv3qhxqv66jxaq3iaxyj-python3-3.9.11/bin/python"
./deps/v8/tools/dev/update-vscode.sh: interpreter directive changed from "#!/bin/bash" to "/nix/store/30j23057fqnnc1p4jqmq73p0gxgn0frq-bash-5.1-p16/bin/bash"
./deps/v8/tools/dev/update-compile-commands.py: interpreter directive changed from "#!/usr/bin/env python3" to "/nix/store/bvzpppawf2naqv3qhxqv66jxaq3iaxyj-python3-3.9.11/bin/python3"
./deps/v8/tools/testrunner/num_fuzzer.py: interpreter directive changed from "#!/usr/bin/env python" to "/nix/store/bvzpppawf2naqv3qhxqv66jxaq3iaxyj-python3-3.9.11/bin/python"
./deps/v8/tools/testrunner/testproc/variant_unittest.py: interpreter directive changed from "#!/usr/bin/env python" to "/nix/store/bvzpppawf2naqv3qhxqv66jxaq3iaxyj-python3-3.9.11/bin/python"
./deps/v8/tools/testrunner/testproc/shard_unittest.py: interpreter directive changed from "#!/usr/bin/env python" to "/nix/store/bvzpppawf2naqv3qhxqv66jxaq3iaxyj-python3-3.9.11/bin/python"
./deps/v8/tools/testrunner/local/pool_unittest.py: interpreter directive changed from "#!/usr/bin/env python" to "/nix/store/bvzpppawf2naqv3qhxqv66jxaq3iaxyj-python3-3.9.11/bin/python"
./deps/v8/tools/testrunner/local/statusfile_unittest.py: interpreter directive changed from "#!/usr/bin/env python" to "/nix/store/bvzpppawf2naqv3qhxqv66jxaq3iaxyj-python3-3.9.11/bin/python"
./deps/v8/tools/testrunner/local/testsuite_unittest.py: interpreter directive changed from "#!/usr/bin/env python" to "/nix/store/bvzpppawf2naqv3qhxqv66jxaq3iaxyj-python3-3.9.11/bin/python"
./deps/v8/tools/testrunner/standard_runner.py: interpreter directive changed from "#!/usr/bin/env python" to "/nix/store/bvzpppawf2naqv3qhxqv66jxaq3iaxyj-python3-3.9.11/bin/python"
./deps/v8/tools/avg.py: interpreter directive changed from "#!/usr/bin/env python" to "/nix/store/bvzpppawf2naqv3qhxqv66jxaq3iaxyj-python3-3.9.11/bin/python"
./deps/v8/tools/check-unused-symbols.sh: interpreter directive changed from "#!/bin/bash" to "/nix/store/30j23057fqnnc1p4jqmq73p0gxgn0frq-bash-5.1-p16/bin/bash"
./deps/v8/tools/parse-processor: interpreter directive changed from "#!/bin/sh" to "/nix/store/30j23057fqnnc1p4jqmq73p0gxgn0frq-bash-5.1-p16/bin/sh"
./deps/v8/tools/perf-compare.py: interpreter directive changed from "#!/usr/bin/env python" to "/nix/store/bvzpppawf2naqv3qhxqv66jxaq3iaxyj-python3-3.9.11/bin/python"
./deps/v8/tools/run-llprof.sh: interpreter directive changed from "#!/bin/sh" to "/nix/store/30j23057fqnnc1p4jqmq73p0gxgn0frq-bash-5.1-p16/bin/sh"
./deps/v8/tools/grokdump.py: interpreter directive changed from "#!/usr/bin/env python" to "/nix/store/bvzpppawf2naqv3qhxqv66jxaq3iaxyj-python3-3.9.11/bin/python"
./deps/v8/tools/generate-builtins-tests.py: interpreter directive changed from "#!/usr/bin/env python" to "/nix/store/bvzpppawf2naqv3qhxqv66jxaq3iaxyj-python3-3.9.11/bin/python"
./deps/v8/tools/find-builtin: interpreter directive changed from "#!/bin/bash" to "/nix/store/30j23057fqnnc1p4jqmq73p0gxgn0frq-bash-5.1-p16/bin/bash"
./deps/v8/tools/generate-header-include-checks.py: interpreter directive changed from "#!/usr/bin/env python" to "/nix/store/bvzpppawf2naqv3qhxqv66jxaq3iaxyj-python3-3.9.11/bin/python"
./deps/v8/tools/release/roll_merge.py: interpreter directive changed from "#!/usr/bin/env python" to "/nix/store/bvzpppawf2naqv3qhxqv66jxaq3iaxyj-python3-3.9.11/bin/python"
./deps/v8/tools/release/create_release.py: interpreter directive changed from "#!/usr/bin/env python" to "/nix/store/bvzpppawf2naqv3qhxqv66jxaq3iaxyj-python3-3.9.11/bin/python"
./deps/v8/tools/release/test_search_related_commits.py: interpreter directive changed from "#!/usr/bin/env python" to "/nix/store/bvzpppawf2naqv3qhxqv66jxaq3iaxyj-python3-3.9.11/bin/python"
./deps/v8/tools/release/auto_roll.py: interpreter directive changed from "#!/usr/bin/env python" to "/nix/store/bvzpppawf2naqv3qhxqv66jxaq3iaxyj-python3-3.9.11/bin/python"
./deps/v8/tools/release/test_scripts.py: interpreter directive changed from "#!/usr/bin/env python" to "/nix/store/bvzpppawf2naqv3qhxqv66jxaq3iaxyj-python3-3.9.11/bin/python"
./deps/v8/tools/release/auto_tag.py: interpreter directive changed from "#!/usr/bin/env python" to "/nix/store/bvzpppawf2naqv3qhxqv66jxaq3iaxyj-python3-3.9.11/bin/python"
./deps/v8/tools/release/check_clusterfuzz.py: interpreter directive changed from "#!/usr/bin/env python" to "/nix/store/bvzpppawf2naqv3qhxqv66jxaq3iaxyj-python3-3.9.11/bin/python"
./deps/v8/tools/release/filter_build_files.py: interpreter directive changed from "#!/usr/bin/env python" to "/nix/store/bvzpppawf2naqv3qhxqv66jxaq3iaxyj-python3-3.9.11/bin/python"
./deps/v8/tools/release/test_mergeinfo.py: interpreter directive changed from "#!/usr/bin/env python" to "/nix/store/bvzpppawf2naqv3qhxqv66jxaq3iaxyj-python3-3.9.11/bin/python"
./deps/v8/tools/release/auto_push.py: interpreter directive changed from "#!/usr/bin/env python" to "/nix/store/bvzpppawf2naqv3qhxqv66jxaq3iaxyj-python3-3.9.11/bin/python"
./deps/v8/tools/release/list_deprecated.py: interpreter directive changed from "#!/usr/bin/env python3" to "/nix/store/bvzpppawf2naqv3qhxqv66jxaq3iaxyj-python3-3.9.11/bin/python3"
./deps/v8/tools/release/mergeinfo.py: interpreter directive changed from "#!/usr/bin/env python" to "/nix/store/bvzpppawf2naqv3qhxqv66jxaq3iaxyj-python3-3.9.11/bin/python"
./deps/v8/tools/release/merge_to_branch.py: interpreter directive changed from "#!/usr/bin/env python" to "/nix/store/bvzpppawf2naqv3qhxqv66jxaq3iaxyj-python3-3.9.11/bin/python"
./deps/v8/tools/release/script_test.py: interpreter directive changed from "#!/usr/bin/env python" to "/nix/store/bvzpppawf2naqv3qhxqv66jxaq3iaxyj-python3-3.9.11/bin/python"
./deps/v8/tools/release/search_related_commits.py: interpreter directive changed from "#!/usr/bin/env python" to "/nix/store/bvzpppawf2naqv3qhxqv66jxaq3iaxyj-python3-3.9.11/bin/python"
./deps/v8/tools/callstats.py: interpreter directive changed from "#!/usr/bin/env python" to "/nix/store/bvzpppawf2naqv3qhxqv66jxaq3iaxyj-python3-3.9.11/bin/python"
./deps/v8/tools/adb-d8.py: interpreter directive changed from "#!/usr/bin/env python" to "/nix/store/bvzpppawf2naqv3qhxqv66jxaq3iaxyj-python3-3.9.11/bin/python"
./deps/v8/tools/gen-v8-gn.py: interpreter directive changed from "#!/usr/bin/env python" to "/nix/store/bvzpppawf2naqv3qhxqv66jxaq3iaxyj-python3-3.9.11/bin/python"
./deps/v8/gni/protoc.py: interpreter directive changed from "#!/usr/bin/env python" to "/nix/store/bvzpppawf2naqv3qhxqv66jxaq3iaxyj-python3-3.9.11/bin/python"
./deps/v8/third_party/jinja2/get_jinja2.sh: interpreter directive changed from "#!/bin/bash" to "/nix/store/30j23057fqnnc1p4jqmq73p0gxgn0frq-bash-5.1-p16/bin/bash"
./deps/v8/third_party/inspector_protocol/concatenate_protocols.py: interpreter directive changed from "#!/usr/bin/env python" to "/nix/store/bvzpppawf2naqv3qhxqv66jxaq3iaxyj-python3-3.9.11/bin/python"
./deps/v8/third_party/inspector_protocol/roll.py: interpreter directive changed from "#!/usr/bin/env python" to "/nix/store/bvzpppawf2naqv3qhxqv66jxaq3iaxyj-python3-3.9.11/bin/python"
./deps/v8/third_party/inspector_protocol/check_protocol_compatibility.py: interpreter directive changed from "#!/usr/bin/env python" to "/nix/store/bvzpppawf2naqv3qhxqv66jxaq3iaxyj-python3-3.9.11/bin/python"
./deps/v8/third_party/inspector_protocol/convert_protocol_to_json.py: interpreter directive changed from "#!/usr/bin/env python" to "/nix/store/bvzpppawf2naqv3qhxqv66jxaq3iaxyj-python3-3.9.11/bin/python"
./deps/v8/third_party/inspector_protocol/code_generator.py: interpreter directive changed from "#!/usr/bin/env python" to "/nix/store/bvzpppawf2naqv3qhxqv66jxaq3iaxyj-python3-3.9.11/bin/python"
./deps/v8/third_party/markupsafe/get_markupsafe.sh: interpreter directive changed from "#!/bin/bash" to "/nix/store/30j23057fqnnc1p4jqmq73p0gxgn0frq-bash-5.1-p16/bin/bash"
./deps/corepack/shims/pnpm: interpreter directive changed from "#!/bin/sh" to "/nix/store/30j23057fqnnc1p4jqmq73p0gxgn0frq-bash-5.1-p16/bin/sh"
./deps/corepack/shims/pnpx: interpreter directive changed from "#!/bin/sh" to "/nix/store/30j23057fqnnc1p4jqmq73p0gxgn0frq-bash-5.1-p16/bin/sh"
./deps/corepack/shims/npx: interpreter directive changed from "#!/bin/sh" to "/nix/store/30j23057fqnnc1p4jqmq73p0gxgn0frq-bash-5.1-p16/bin/sh"
./deps/corepack/shims/yarnpkg: interpreter directive changed from "#!/bin/sh" to "/nix/store/30j23057fqnnc1p4jqmq73p0gxgn0frq-bash-5.1-p16/bin/sh"
./deps/corepack/shims/corepack: interpreter directive changed from "#!/bin/sh" to "/nix/store/30j23057fqnnc1p4jqmq73p0gxgn0frq-bash-5.1-p16/bin/sh"
./deps/corepack/shims/npm: interpreter directive changed from "#!/bin/sh" to "/nix/store/30j23057fqnnc1p4jqmq73p0gxgn0frq-bash-5.1-p16/bin/sh"
./deps/corepack/shims/yarn: interpreter directive changed from "#!/bin/sh" to "/nix/store/30j23057fqnnc1p4jqmq73p0gxgn0frq-bash-5.1-p16/bin/sh"
./deps/npm/node_modules/@npmcli/run-script/lib/node-gyp-bin/node-gyp: interpreter directive changed from "#!/usr/bin/env sh" to "/nix/store/30j23057fqnnc1p4jqmq73p0gxgn0frq-bash-5.1-p16/bin/sh"
./deps/npm/node_modules/node-gyp/gyp/pylib/gyp/easy_xml_test.py: interpreter directive changed from "#!/usr/bin/env python3" to "/nix/store/bvzpppawf2naqv3qhxqv66jxaq3iaxyj-python3-3.9.11/bin/python3"
./deps/npm/node_modules/node-gyp/gyp/pylib/gyp/input_test.py: interpreter directive changed from "#!/usr/bin/env python3" to "/nix/store/bvzpppawf2naqv3qhxqv66jxaq3iaxyj-python3-3.9.11/bin/python3"
./deps/npm/node_modules/node-gyp/gyp/pylib/gyp/mac_tool.py: interpreter directive changed from "#!/usr/bin/env python3" to "/nix/store/bvzpppawf2naqv3qhxqv66jxaq3iaxyj-python3-3.9.11/bin/python3"
./deps/npm/node_modules/node-gyp/gyp/pylib/gyp/flock_tool.py: interpreter directive changed from "#!/usr/bin/env python3" to "/nix/store/bvzpppawf2naqv3qhxqv66jxaq3iaxyj-python3-3.9.11/bin/python3"
./deps/npm/node_modules/node-gyp/gyp/pylib/gyp/win_tool.py: interpreter directive changed from "#!/usr/bin/env python3" to "/nix/store/bvzpppawf2naqv3qhxqv66jxaq3iaxyj-python3-3.9.11/bin/python3"
./deps/npm/node_modules/node-gyp/gyp/pylib/gyp/MSVSSettings_test.py: interpreter directive changed from "#!/usr/bin/env python3" to "/nix/store/bvzpppawf2naqv3qhxqv66jxaq3iaxyj-python3-3.9.11/bin/python3"
./deps/npm/node_modules/node-gyp/gyp/pylib/gyp/__init__.py: interpreter directive changed from "#!/usr/bin/env python3" to "/nix/store/bvzpppawf2naqv3qhxqv66jxaq3iaxyj-python3-3.9.11/bin/python3"
./deps/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/msvs_test.py: interpreter directive changed from "#!/usr/bin/env python3" to "/nix/store/bvzpppawf2naqv3qhxqv66jxaq3iaxyj-python3-3.9.11/bin/python3"
./deps/npm/node_modules/node-gyp/gyp/pylib/gyp/common_test.py: interpreter directive changed from "#!/usr/bin/env python3" to "/nix/store/bvzpppawf2naqv3qhxqv66jxaq3iaxyj-python3-3.9.11/bin/python3"
./deps/npm/node_modules/node-gyp/gyp/gyp: interpreter directive changed from "#!/bin/sh" to "/nix/store/30j23057fqnnc1p4jqmq73p0gxgn0frq-bash-5.1-p16/bin/sh"
./deps/npm/node_modules/node-gyp/gyp/test_gyp.py: interpreter directive changed from "#!/usr/bin/env python3" to "/nix/store/bvzpppawf2naqv3qhxqv66jxaq3iaxyj-python3-3.9.11/bin/python3"
./deps/npm/node_modules/node-gyp/gyp/tools/pretty_gyp.py: interpreter directive changed from "#!/usr/bin/env python3" to "/nix/store/bvzpppawf2naqv3qhxqv66jxaq3iaxyj-python3-3.9.11/bin/python3"
./deps/npm/node_modules/node-gyp/gyp/tools/emacs/run-unit-tests.sh: interpreter directive changed from "#!/bin/sh" to "/nix/store/30j23057fqnnc1p4jqmq73p0gxgn0frq-bash-5.1-p16/bin/sh"
./deps/npm/node_modules/node-gyp/gyp/tools/pretty_vcproj.py: interpreter directive changed from "#!/usr/bin/env python3" to "/nix/store/bvzpppawf2naqv3qhxqv66jxaq3iaxyj-python3-3.9.11/bin/python3"
./deps/npm/node_modules/node-gyp/gyp/tools/graphviz.py: interpreter directive changed from "#!/usr/bin/env python3" to "/nix/store/bvzpppawf2naqv3qhxqv66jxaq3iaxyj-python3-3.9.11/bin/python3"
./deps/npm/node_modules/node-gyp/gyp/tools/pretty_sln.py: interpreter directive changed from "#!/usr/bin/env python3" to "/nix/store/bvzpppawf2naqv3qhxqv66jxaq3iaxyj-python3-3.9.11/bin/python3"
./deps/npm/node_modules/node-gyp/gyp/gyp_main.py: interpreter directive changed from "#!/usr/bin/env python3" to "/nix/store/bvzpppawf2naqv3qhxqv66jxaq3iaxyj-python3-3.9.11/bin/python3"
./deps/npm/node_modules/node-gyp/update-gyp.py: interpreter directive changed from "#!/usr/bin/env python3" to "/nix/store/bvzpppawf2naqv3qhxqv66jxaq3iaxyj-python3-3.9.11/bin/python3"
./deps/npm/lib/utils/completion.sh: interpreter directive changed from "#!/bin/bash" to "/nix/store/30j23057fqnnc1p4jqmq73p0gxgn0frq-bash-5.1-p16/bin/bash"
./deps/npm/bin/npx: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/30j23057fqnnc1p4jqmq73p0gxgn0frq-bash-5.1-p16/bin/bash"
./deps/npm/bin/npm: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/30j23057fqnnc1p4jqmq73p0gxgn0frq-bash-5.1-p16/bin/bash"
./deps/npm/bin/node-gyp-bin/node-gyp: interpreter directive changed from "#!/usr/bin/env sh" to "/nix/store/30j23057fqnnc1p4jqmq73p0gxgn0frq-bash-5.1-p16/bin/sh"
./tools/install.py: interpreter directive changed from "#!/usr/bin/env python" to "/nix/store/bvzpppawf2naqv3qhxqv66jxaq3iaxyj-python3-3.9.11/bin/python"
./tools/icu/icutrim.py: interpreter directive changed from "#!/usr/bin/python" to "/nix/store/bvzpppawf2naqv3qhxqv66jxaq3iaxyj-python3-3.9.11/bin/python"
./tools/update-cares.sh: interpreter directive changed from "#!/bin/sh" to "/nix/store/30j23057fqnnc1p4jqmq73p0gxgn0frq-bash-5.1-p16/bin/sh"
./tools/update-eslint.sh: interpreter directive changed from "#!/bin/sh" to "/nix/store/30j23057fqnnc1p4jqmq73p0gxgn0frq-bash-5.1-p16/bin/sh"
./tools/specialize_node_d.py: interpreter directive changed from "#!/usr/bin/env python" to "/nix/store/bvzpppawf2naqv3qhxqv66jxaq3iaxyj-python3-3.9.11/bin/python"
./tools/gyp_node.py: interpreter directive changed from "#!/usr/bin/env python" to "/nix/store/bvzpppawf2naqv3qhxqv66jxaq3iaxyj-python3-3.9.11/bin/python"
./tools/test.py: interpreter directive changed from "#!/usr/bin/env python" to "/nix/store/bvzpppawf2naqv3qhxqv66jxaq3iaxyj-python3-3.9.11/bin/python"
./tools/checkimports.py: interpreter directive changed from "#!/usr/bin/env python" to "/nix/store/bvzpppawf2naqv3qhxqv66jxaq3iaxyj-python3-3.9.11/bin/python"
./tools/gyp/pylib/gyp/easy_xml_test.py: interpreter directive changed from "#!/usr/bin/env python3" to "/nix/store/bvzpppawf2naqv3qhxqv66jxaq3iaxyj-python3-3.9.11/bin/python3"
./tools/gyp/pylib/gyp/input_test.py: interpreter directive changed from "#!/usr/bin/env python3" to "/nix/store/bvzpppawf2naqv3qhxqv66jxaq3iaxyj-python3-3.9.11/bin/python3"
./tools/gyp/pylib/gyp/mac_tool.py: interpreter directive changed from "#!/usr/bin/env python3" to "/nix/store/bvzpppawf2naqv3qhxqv66jxaq3iaxyj-python3-3.9.11/bin/python3"
./tools/gyp/pylib/gyp/flock_tool.py: interpreter directive changed from "#!/usr/bin/env python3" to "/nix/store/bvzpppawf2naqv3qhxqv66jxaq3iaxyj-python3-3.9.11/bin/python3"
./tools/gyp/pylib/gyp/win_tool.py: interpreter directive changed from "#!/usr/bin/env python3" to "/nix/store/bvzpppawf2naqv3qhxqv66jxaq3iaxyj-python3-3.9.11/bin/python3"
./tools/gyp/pylib/gyp/MSVSSettings_test.py: interpreter directive changed from "#!/usr/bin/env python3" to "/nix/store/bvzpppawf2naqv3qhxqv66jxaq3iaxyj-python3-3.9.11/bin/python3"
./tools/gyp/pylib/gyp/__init__.py: interpreter directive changed from "#!/usr/bin/env python3" to "/nix/store/bvzpppawf2naqv3qhxqv66jxaq3iaxyj-python3-3.9.11/bin/python3"
./tools/gyp/pylib/gyp/generator/msvs_test.py: interpreter directive changed from "#!/usr/bin/env python3" to "/nix/store/bvzpppawf2naqv3qhxqv66jxaq3iaxyj-python3-3.9.11/bin/python3"
./tools/gyp/pylib/gyp/common_test.py: interpreter directive changed from "#!/usr/bin/env python3" to "/nix/store/bvzpppawf2naqv3qhxqv66jxaq3iaxyj-python3-3.9.11/bin/python3"
./tools/gyp/gyp: interpreter directive changed from "#!/bin/sh" to "/nix/store/30j23057fqnnc1p4jqmq73p0gxgn0frq-bash-5.1-p16/bin/sh"
./tools/gyp/test_gyp.py: interpreter directive changed from "#!/usr/bin/env python3" to "/nix/store/bvzpppawf2naqv3qhxqv66jxaq3iaxyj-python3-3.9.11/bin/python3"
./tools/gyp/tools/pretty_gyp.py: interpreter directive changed from "#!/usr/bin/env python3" to "/nix/store/bvzpppawf2naqv3qhxqv66jxaq3iaxyj-python3-3.9.11/bin/python3"
./tools/gyp/tools/emacs/run-unit-tests.sh: interpreter directive changed from "#!/bin/sh" to "/nix/store/30j23057fqnnc1p4jqmq73p0gxgn0frq-bash-5.1-p16/bin/sh"
./tools/gyp/tools/pretty_vcproj.py: interpreter directive changed from "#!/usr/bin/env python3" to "/nix/store/bvzpppawf2naqv3qhxqv66jxaq3iaxyj-python3-3.9.11/bin/python3"
./tools/gyp/tools/graphviz.py: interpreter directive changed from "#!/usr/bin/env python3" to "/nix/store/bvzpppawf2naqv3qhxqv66jxaq3iaxyj-python3-3.9.11/bin/python3"
./tools/gyp/tools/pretty_sln.py: interpreter directive changed from "#!/usr/bin/env python3" to "/nix/store/bvzpppawf2naqv3qhxqv66jxaq3iaxyj-python3-3.9.11/bin/python3"
./tools/gyp/gyp_main.py: interpreter directive changed from "#!/usr/bin/env python3" to "/nix/store/bvzpppawf2naqv3qhxqv66jxaq3iaxyj-python3-3.9.11/bin/python3"
./tools/v8/fetch_deps.py: interpreter directive changed from "#!/usr/bin/env python" to "/nix/store/bvzpppawf2naqv3qhxqv66jxaq3iaxyj-python3-3.9.11/bin/python"
./tools/v8/node_common.py: interpreter directive changed from "#!/usr/bin/env python" to "/nix/store/bvzpppawf2naqv3qhxqv66jxaq3iaxyj-python3-3.9.11/bin/python"
./tools/create_android_makefiles: interpreter directive changed from "#!/bin/bash" to "/nix/store/30j23057fqnnc1p4jqmq73p0gxgn0frq-bash-5.1-p16/bin/bash"
./tools/actions/start-ci.sh: interpreter directive changed from "#!/bin/sh" to "/nix/store/30j23057fqnnc1p4jqmq73p0gxgn0frq-bash-5.1-p16/bin/sh"
./tools/actions/commit-queue.sh: interpreter directive changed from "#!/bin/sh" to "/nix/store/30j23057fqnnc1p4jqmq73p0gxgn0frq-bash-5.1-p16/bin/sh"
./tools/inspector_protocol/concatenate_protocols.py: interpreter directive changed from "#!/usr/bin/env python" to "/nix/store/bvzpppawf2naqv3qhxqv66jxaq3iaxyj-python3-3.9.11/bin/python"
./tools/inspector_protocol/check_protocol_compatibility.py: interpreter directive changed from "#!/usr/bin/env python" to "/nix/store/bvzpppawf2naqv3qhxqv66jxaq3iaxyj-python3-3.9.11/bin/python"
./tools/inspector_protocol/jinja2/get_jinja2.sh: interpreter directive changed from "#!/bin/bash" to "/nix/store/30j23057fqnnc1p4jqmq73p0gxgn0frq-bash-5.1-p16/bin/bash"
./tools/inspector_protocol/convert_protocol_to_json.py: interpreter directive changed from "#!/usr/bin/env python" to "/nix/store/bvzpppawf2naqv3qhxqv66jxaq3iaxyj-python3-3.9.11/bin/python"
./tools/inspector_protocol/code_generator.py: interpreter directive changed from "#!/usr/bin/env python" to "/nix/store/bvzpppawf2naqv3qhxqv66jxaq3iaxyj-python3-3.9.11/bin/python"
./tools/inspector_protocol/markupsafe/get_markupsafe.sh: interpreter directive changed from "#!/bin/bash" to "/nix/store/30j23057fqnnc1p4jqmq73p0gxgn0frq-bash-5.1-p16/bin/bash"
./tools/mkssldef.py: interpreter directive changed from "#!/usr/bin/env python" to "/nix/store/bvzpppawf2naqv3qhxqv66jxaq3iaxyj-python3-3.9.11/bin/python"
./tools/create_expfile.sh: interpreter directive changed from "#!/bin/sh" to "/nix/store/30j23057fqnnc1p4jqmq73p0gxgn0frq-bash-5.1-p16/bin/sh"
./tools/update-npm.sh: interpreter directive changed from "#!/bin/sh" to "/nix/store/30j23057fqnnc1p4jqmq73p0gxgn0frq-bash-5.1-p16/bin/sh"
./tools/js2c.py: interpreter directive changed from "#!/usr/bin/env python" to "/nix/store/bvzpppawf2naqv3qhxqv66jxaq3iaxyj-python3-3.9.11/bin/python"
./tools/make-v8.sh: interpreter directive changed from "#!/bin/sh" to "/nix/store/30j23057fqnnc1p4jqmq73p0gxgn0frq-bash-5.1-p16/bin/sh"
./tools/run-valgrind.py: interpreter directive changed from "#!/usr/bin/env python" to "/nix/store/bvzpppawf2naqv3qhxqv66jxaq3iaxyj-python3-3.9.11/bin/python"
./tools/macos-installer/pkgbuild/npm/scripts/postinstall: interpreter directive changed from "#!/bin/sh" to "/nix/store/30j23057fqnnc1p4jqmq73p0gxgn0frq-bash-5.1-p16/bin/sh"
./tools/macos-installer/pkgbuild/npm/scripts/preinstall: interpreter directive changed from "#!/bin/sh" to "/nix/store/30j23057fqnnc1p4jqmq73p0gxgn0frq-bash-5.1-p16/bin/sh"
./tools/genv8constants.py: interpreter directive changed from "#!/usr/bin/env python" to "/nix/store/bvzpppawf2naqv3qhxqv66jxaq3iaxyj-python3-3.9.11/bin/python"
./tools/rpm/rpmbuild.sh: interpreter directive changed from "#!/bin/sh" to "/nix/store/30j23057fqnnc1p4jqmq73p0gxgn0frq-bash-5.1-p16/bin/sh"
./tools/macos-firewall.sh: interpreter directive changed from "#!/bin/sh" to "/nix/store/30j23057fqnnc1p4jqmq73p0gxgn0frq-bash-5.1-p16/bin/sh"
./tools/release.sh: interpreter directive changed from "#!/bin/sh" to "/nix/store/30j23057fqnnc1p4jqmq73p0gxgn0frq-bash-5.1-p16/bin/sh"
./android-configure: interpreter directive changed from "#!/bin/bash" to "/nix/store/30j23057fqnnc1p4jqmq73p0gxgn0frq-bash-5.1-p16/bin/bash"
updateAutotoolsGnuConfigScriptsPhase
Updating Autotools / GNU config script to a newer upstream version: ./deps/cares/config.sub
Updating Autotools / GNU config script to a newer upstream version: ./deps/cares/config.guess
configuring
fixing libtool script ./deps/cares/ltmain.sh
configure flags: --prefix=/nix/store/i8d2paggja6jz353gm4a1223g15wmnpd-nodejs-static-aarch64-unknown-linux-musl-16.14.2 --shared-libuv --shared-libuv-libpath=/nix/store/xk3wnvzzah376qv17rm5nlfw8illpl56-libuv-static-aarch64-unknown-linux-musl-1.44.1/lib --shared-openssl --shared-openssl-libpath=/nix/store/v22wgay1wmi06fcxxhyhfbh6a8awya6f-openssl-static-aarch64-unknown-linux-musl-1.1.1n/lib --shared-zlib --shared-zlib-libpath=/nix/store/argvnw7ngvxrchasdxjvkr0gx9hk1y35-zlib-static-aarch64-unknown-linux-musl-1.2.12/lib --with-intl=system-icu --without-dtrace --cross-compiling --without-intl --without-snapshot --disable-shared --enable-static --disable-shared
Node.js configure: Found Python 3.9.11...
WARNING: building --without-snapshot is no longer possible
WARNING: warnings were emitted in the configure phase
gyp: --disable-shared not found (cwd: /build/node-v16.14.2) while trying to load --disable-shared
Error running GYP
ParetoOptimalDev commented 2 years ago

Okay, latest error with the libuv fix and fixing the elm runtimeshell missing error using https://github.com/ParetoOptimalDev/nixpkgs/tree/fix-elm-static-not-compiling is:

$ nix-build . -A pkgsStatic.elmPackages.elm

... snip ...

+ aclocal -I m4
x86_64-unknown-linux-musl-gcc  -shared -Wl,-soname=libhttp_parser.so.2.9 -o libhttp_parser.so.2.9.4 libhttp_parser.o
/nix/store/c3qpvp6s9bbskqsay1q3snabqls544w7-x86_64-unknown-linux-musl-binutils-2.38/bin/x86_64-unknown-linux-musl-ld: /nix/store/ym1418bazp23rqg9l43kqzhvv2cdibby-x86_64-unknown-linux-musl-stage-final-gcc-11.3.0/lib/gcc/x86_64-unknown-linux-musl/11.3.0/crtbeginT.o: relocation R_X86_64_32 against hidden symbol `__TMC_END__' can not be used when making a shared object
/nix/store/c3qpvp6s9bbskqsay1q3snabqls544w7-x86_64-unknown-linux-musl-binutils-2.38/bin/x86_64-unknown-linux-musl-ld: failed to set dynamic section sizes: bad value
collect2: error: ld returned 1 exit status
make: *** [Makefile:113: library] Error 1
... snip ...

This seems related to #111882 and may be helped by #132343.

That PR has been sitting there a while, but it looks like there's an attempt to get it and similar issues and PRs moving in https://github.com/nixpkgs-architecture/issues/issues/10

turboMaCk commented 2 years ago

I think you should also probably add something like:

nativeBuildInputs = drv.nativeBuildInputs or [] ++ [ pkgs.makeWrapper ];

to the expression for elm.

Warning I don't think this will work with cabal2nix expression - we need to figure this out

turboMaCk commented 2 years ago

I did the moving of makeWrapper to nativeBuildInputs https://github.com/NixOS/nixpkgs/pull/189485 and tried:

# nix-build -A pkgs.pkgsCross.aarch64-multiplatform-musl.pkgsStatic.elmPackages.elm --show-trace

The error I get with these changes is:

configure: error: no such option: --disable-shared
error: builder for '/nix/store/z941vrza37i76hkb3rx5hh2328nprk8j-nodejs-static-aarch64-unknown-linux-musl-14.20.0.drv' failed with exit code 2;
       last 10 log lines:
       > Updating Autotools / GNU config script to a newer upstream version: ./deps/cares/config.sub
       > Updating Autotools / GNU config script to a newer upstream version: ./deps/cares/config.guess
       > configuring
       > fixing libtool script ./deps/cares/ltmain.sh
       > ./deps/cares/configure
       > configure flags: --prefix=/nix/store/lqlbldrvxy5qp7czdisrcllwkkvz2qvk-nodejs-static-aarch64-unknown-linux-musl-14.20.0 --shared-libuv --shared-libuv-libpath=/nix/store/gvg9yfmgs3c4pnn8jf6np2m3cs4g804h-libuv-static-aarch64-unknown-linux-musl-1.44.2/lib --shared-openssl --shared-openssl-libpath=/nix/store/hvf53y329lwb1jlqi5pn43vdhjsg5fa8-openssl-static-aarch64-unknown-linux-musl-1.1.1q/lib --shared-zlib --shared-zlib-libpath=/nix/store/44r499hbn00hfiamhpvvd2dyacfkn0m9-zlib-static-aarch64-unknown-linux-musl-1.2.12/lib --with-intl=system-icu --without-dtrace --cross-compiling --without-intl --without-snapshot --dest-cpu=arm64 --enable-static --disable-shared --disable-shared
       > Node.js configure: Found Python 3.10.6...
       > Usage: configure [options]
       >
       > configure: error: no such option: --disable-shared
       For full logs, run 'nix log /nix/store/z941vrza37i76hkb3rx5hh2328nprk8j-nodejs-static-aarch64-unknown-linux-musl-14.20.0.drv'.
error: 1 dependencies of derivation '/nix/store/579k1vwq137rq34z2glyq5fyjc32s2zj-elm-static-aarch64-unknown-linux-musl-0.19.1.drv' failed to build
turboMaCk commented 2 years ago

Anyway as a sanity check I also checked current master at 715fa052ab6a688cf6700fd489b56906fe975ad5

# nix-build -A pkgs.pkgsCross.aarch64-multiplatform-musl.pkgsStatic.elmPackages.elm --show-trace

I get the same error as above so I'm not sure if this change is required?

turboMaCk commented 2 years ago

I think we should take it one by one. First focus on static linking and make sure we work from dependencies towards elm compiler.

Issues has to be roughly resolved in the order from gcc -> nodejs-14_x -> elmPackages.elm.

I'm able to reproduce @ParetoOptimalDev latest error on master 715fa052ab6a688cf6700fd489b56906fe975ad5 by running:

# nix-build -A pkgsStatic.nodejs-14_x
ParetoOptimalDev commented 2 years ago

I think we should take it one by one. First focus on static linking and make sure we work from dependencies towards elm compiler.

Issues has to be roughly resolved in the order from gcc -> nodejs-14_x -> elmPackages.elm.

I'm able to reproduce @ParetoOptimalDev latest error on master 715fa05 by running:

# nix-build -A pkgsStatic.nodejs-14_x

@turboMaCk That error comes from libuv, see my other issue #189180 . Upstream has a PR in the works, but maybe we should just apply the patch to get it fixed now?

turboMaCk commented 2 years ago

I see https://github.com/NixOS/nixpkgs/issues/189180#issuecomment-1234404294 Probably we can move libuv specific stuff there.

sternenseemann commented 2 years ago

The correct fix is to replace pkgs.makeWrapper with pkgs.buildPackages.makeWrapper, leaving everything as is. The magic splicing of nativeBuildInputs works also for buildTools, but both can only do this if the package is received as a direct callPackage argument and not taken from pkgs manually.

Edit: This was done in c6568adb00.

sternenseemann commented 2 years ago

Note that elm still fails to cross compile, not sure if a separate issue makes sense?

turboMaCk commented 2 years ago

Elm is on top of mountain of issues to solve. We can create new one to track elm but likely we will start from bottom up anyway - first fixing dependecies

Artturin commented 2 years ago

yup create a new one