Unable to build cdktf locally

I am trying to build cdktf locally off of the current main branch. Using yarn install then yarn build results in the following output:

yarn run v1.22.18
$ lerna run --scope 'cdktf*' --scope @cdktf/* build
lerna notice cli v4.0.0
lerna notice filter including ["cdktf*","@cdktf/*"]
lerna info filter [ 'cdktf*', '@cdktf/*' ]
lerna info Executing command in 5 packages: "yarn run build"
lerna info run Ran npm script 'build' in 'cdktf' in 3.3s:
$ jsii --silence-warnings reserved-word
warning JSII6: A "peerDependency" on "constructs" at "^10.0.25" means you should take a "devDependency" on "constructs" at "10.0.25" (found "^10.0.25")"
lib/terraform-functions.ts:198:3 - warning JSII7000: Documentation for method "coalescelist" refers to non-existent @param "Array"

198   public static coalescelist(value: any[][]) {
      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
199     return asList(
    ~~~~~~~~~~~~~~~~~~
... 
201     );
    ~~~~~~
202   }
    ~~~
lib/terraform-functions.ts:328:3 - warning JSII7000: Documentation for method "merge" refers to non-existent @param ""

328   public static merge(values: any[]) {
      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
329     return asList(terraformFunction("merge", listOf(anyValue))(...values));
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
330   }
    ~~~
lib/terraform-functions.ts:346:3 - warning JSII7000: Documentation for method "range" refers to non-existent @param ""

346   public static range(start: number, limit: number, step = 1) {
      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
347     return asList(
    ~~~~~~~~~~~~~~~~~~
... 
349     );
    ~~~~~~
350   }
    ~~~
lib/terraform-functions.ts:488:3 - warning JSII7000: Documentation for method "bcrypt" refers to non-existent @param ""

488   public static bcrypt(value: string, cost?: number) {
      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
489     return asString(terraformFunction("bcrypt", listOf(anyValue))(value, cost));
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
490   }
    ~~~
lerna info run Ran npm script 'build' in '@cdktf/hcl2json' in 4.2s:
$ tsc && ./build-go.sh
lerna ERR! yarn run build exited 1 in '@cdktf/provider-generator'
lerna ERR! yarn run build stdout:
$ tsc
$ node ./lib/__tests__/edge-provider-schema/cli.js ./edge-provider-bindings
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
lerna ERR! yarn run build stderr:
node:internal/process/promises:279
            triggerUncaughtException(err, true /* fromPromise */);
            ^

[LinkError: WebAssembly.instantiate(): Import #5 module="go" function="runtime.walltime" error: function import requires a callable]

Node.js v17.9.0
error Command failed with exit code 1.
lerna ERR! yarn run build exited 1 in '@cdktf/provider-generator'
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

FWIW, I’m running on MacBook Pro M1 Max. Has anyone come across this issue before and found a resolution?

Looks like an issue with some wasm execution. You could try using go version 1.16 as a workaround.

Longer term there are some fixes needed within the project. Go 1.17: LinkError: import object field 'runtime.walltime' is not a Function · Issue #569 · maxence-charriere/go-app · GitHub gives some ideas for improvement.

Thanks for the workaround. I was able to build on go1.16.15.