hensm/fx_cast

Bridge failing to launch

Arzte opened this issue · 1 comments

Arzte commented

OS version: Monterey 12.4
Browser version: 101.01
Extension version: 0.2.0
Bridge version: 0.2.0

Description
The bridge doesn't start up after installation, nor does run through the command line.

Steps to reproduce

  1. Download the bridge package from the 0.2.0 tag
  2. Use the installer to install the bridge
  3. Attempt to run it from the command line after it doesn't seem to run on its own.

Expected behaviour
Bridge starts up after installation, or at least starts following running the executable in a terminal.

Logs

❯ /Library/Application\ Support/fx_cast/fx_cast_bridge
zsh: bad CPU type in executable: /Library/Application Support/fx_cast/fx_cast_bridge

❯ sh /Library/Application\ Support/fx_cast/fx_cast_bridge
/Library/Application Support/fx_cast/fx_cast_bridge: /Library/Application Support/fx_cast/fx_cast_bridge: cannot execute binary file

Additional Efforts Towards Finding a Working Solution
I additionally attempted to build this myself since I just assumed it might have been compiled for M1 chips or something, however after installation, it failed for its own reasons, the following is the logs of the building and attempt at running the bridge. (It seems my node version is to new)

Console Logs (Spoiled for length)
❯ git clone https://github.com/hensm/fx_cast.git
Cloning into 'fx_cast'...
remote: Enumerating objects: 7511, done.
remote: Counting objects: 100% (2096/2096), done.
remote: Compressing objects: 100% (757/757), done.
remote: Total 7511 (delta 1385), reused 1964 (delta 1282), pack-reused 5415
Receiving objects: 100% (7511/7511), 8.49 MiB | 9.64 MiB/s, done.
Resolving deltas: 100% (4877/4877), done.

❯ cd fx_cast

❯ git checkout v0.2.0
Note: switching to 'v0.2.0'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by switching back to a branch.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -c with the switch command. Example:

  git switch -c <new-branch-name>

Or undo this operation with:

  git switch -

Turn off this advice by setting config variable advice.detachedHead to false

HEAD is now at e485dc7 Bump version numbers

❯ npm install
npm WARN read-shrinkwrap This version of npm is compatible with lockfileVersion@1, but package-lock.json was generated for lockfileVersion@2. I'll try to do my best with it!

> undefined postinstall /Users/iris/git/fx_cast
> npm run postinstall:app && npm run postinstall:ext


> @ postinstall:app /Users/iris/git/fx_cast
> cd app && npm install

npm WARN read-shrinkwrap This version of npm is compatible with lockfileVersion@1, but package-lock.json was generated for lockfileVersion@2. I'll try to do my best with it!

> mdns@2.7.2 install /Users/iris/git/fx_cast/app/node_modules/mdns
> node-gyp rebuild

(node:91391) [DEP0150] DeprecationWarning: Setting process.config is deprecated. In the future the property will be read-only.
(Use `node --trace-deprecation ...` to show where the warning was created)
  CXX(target) Release/obj.target/dns_sd_bindings/src/dns_sd.o
In file included from ../src/dns_sd.cpp:1:
In file included from ../src/mdns.hpp:12:
../../nan/nan.h:2544:8: warning: 'SetAccessor' is deprecated: Do signature check in accessor [-Wdeprecated-declarations]
  tpl->SetAccessor(
       ^
/Users/iris/Library/Caches/node-gyp/18.4.0/include/node/v8-template.h:837:3: note: 'SetAccessor' has been explicitly marked deprecated here
  V8_DEPRECATED("Do signature check in accessor")
  ^
/Users/iris/Library/Caches/node-gyp/18.4.0/include/node/v8config.h:460:35: note: expanded from macro 'V8_DEPRECATED'
# define V8_DEPRECATED(message) [[deprecated(message)]]
                                  ^
1 warning generated.
  CXX(target) Release/obj.target/dns_sd_bindings/src/dns_service_browse.o
In file included from ../src/dns_service_browse.cpp:1:
In file included from ../src/mdns.hpp:12:
../../nan/nan.h:2544:8: warning: 'SetAccessor' is deprecated: Do signature check in accessor [-Wdeprecated-declarations]
  tpl->SetAccessor(
       ^
/Users/iris/Library/Caches/node-gyp/18.4.0/include/node/v8-template.h:837:3: note: 'SetAccessor' has been explicitly marked deprecated here
  V8_DEPRECATED("Do signature check in accessor")
  ^
/Users/iris/Library/Caches/node-gyp/18.4.0/include/node/v8config.h:460:35: note: expanded from macro 'V8_DEPRECATED'
# define V8_DEPRECATED(message) [[deprecated(message)]]
                                  ^
1 warning generated.
  CXX(target) Release/obj.target/dns_sd_bindings/src/dns_service_enumerate_domains.o
In file included from ../src/dns_service_enumerate_domains.cpp:1:
In file included from ../src/mdns.hpp:12:
../../nan/nan.h:2544:8: warning: 'SetAccessor' is deprecated: Do signature check in accessor [-Wdeprecated-declarations]
  tpl->SetAccessor(
       ^
/Users/iris/Library/Caches/node-gyp/18.4.0/include/node/v8-template.h:837:3: note: 'SetAccessor' has been explicitly marked deprecated here
  V8_DEPRECATED("Do signature check in accessor")
  ^
/Users/iris/Library/Caches/node-gyp/18.4.0/include/node/v8config.h:460:35: note: expanded from macro 'V8_DEPRECATED'
# define V8_DEPRECATED(message) [[deprecated(message)]]
                                  ^
1 warning generated.
  CXX(target) Release/obj.target/dns_sd_bindings/src/dns_service_get_addr_info.o
In file included from ../src/dns_service_get_addr_info.cpp:1:
In file included from ../src/mdns.hpp:12:
../../nan/nan.h:2544:8: warning: 'SetAccessor' is deprecated: Do signature check in accessor [-Wdeprecated-declarations]
  tpl->SetAccessor(
       ^
/Users/iris/Library/Caches/node-gyp/18.4.0/include/node/v8-template.h:837:3: note: 'SetAccessor' has been explicitly marked deprecated here
  V8_DEPRECATED("Do signature check in accessor")
  ^
/Users/iris/Library/Caches/node-gyp/18.4.0/include/node/v8config.h:460:35: note: expanded from macro 'V8_DEPRECATED'
# define V8_DEPRECATED(message) [[deprecated(message)]]
                                  ^
1 warning generated.
  CXX(target) Release/obj.target/dns_sd_bindings/src/dns_service_process_result.o
In file included from ../src/dns_service_process_result.cpp:1:
In file included from ../src/mdns.hpp:12:
../../nan/nan.h:2544:8: warning: 'SetAccessor' is deprecated: Do signature check in accessor [-Wdeprecated-declarations]
  tpl->SetAccessor(
       ^
/Users/iris/Library/Caches/node-gyp/18.4.0/include/node/v8-template.h:837:3: note: 'SetAccessor' has been explicitly marked deprecated here
  V8_DEPRECATED("Do signature check in accessor")
  ^
/Users/iris/Library/Caches/node-gyp/18.4.0/include/node/v8config.h:460:35: note: expanded from macro 'V8_DEPRECATED'
# define V8_DEPRECATED(message) [[deprecated(message)]]
                                  ^
1 warning generated.
  CXX(target) Release/obj.target/dns_sd_bindings/src/dns_service_ref.o
In file included from ../src/dns_service_ref.cpp:1:
In file included from ../src/mdns.hpp:12:
../../nan/nan.h:2544:8: warning: 'SetAccessor' is deprecated: Do signature check in accessor [-Wdeprecated-declarations]
  tpl->SetAccessor(
       ^
/Users/iris/Library/Caches/node-gyp/18.4.0/include/node/v8-template.h:837:3: note: 'SetAccessor' has been explicitly marked deprecated here
  V8_DEPRECATED("Do signature check in accessor")
  ^
/Users/iris/Library/Caches/node-gyp/18.4.0/include/node/v8config.h:460:35: note: expanded from macro 'V8_DEPRECATED'
# define V8_DEPRECATED(message) [[deprecated(message)]]
                                  ^
1 warning generated.
  CXX(target) Release/obj.target/dns_sd_bindings/src/dns_service_ref_deallocate.o
In file included from ../src/dns_service_ref_deallocate.cpp:1:
In file included from ../src/mdns.hpp:12:
../../nan/nan.h:2544:8: warning: 'SetAccessor' is deprecated: Do signature check in accessor [-Wdeprecated-declarations]
  tpl->SetAccessor(
       ^
/Users/iris/Library/Caches/node-gyp/18.4.0/include/node/v8-template.h:837:3: note: 'SetAccessor' has been explicitly marked deprecated here
  V8_DEPRECATED("Do signature check in accessor")
  ^
/Users/iris/Library/Caches/node-gyp/18.4.0/include/node/v8config.h:460:35: note: expanded from macro 'V8_DEPRECATED'
# define V8_DEPRECATED(message) [[deprecated(message)]]
                                  ^
1 warning generated.
  CXX(target) Release/obj.target/dns_sd_bindings/src/dns_service_ref_sock_fd.o
In file included from ../src/dns_service_ref_sock_fd.cpp:1:
In file included from ../src/mdns.hpp:12:
../../nan/nan.h:2544:8: warning: 'SetAccessor' is deprecated: Do signature check in accessor [-Wdeprecated-declarations]
  tpl->SetAccessor(
       ^
/Users/iris/Library/Caches/node-gyp/18.4.0/include/node/v8-template.h:837:3: note: 'SetAccessor' has been explicitly marked deprecated here
  V8_DEPRECATED("Do signature check in accessor")
  ^
/Users/iris/Library/Caches/node-gyp/18.4.0/include/node/v8config.h:460:35: note: expanded from macro 'V8_DEPRECATED'
# define V8_DEPRECATED(message) [[deprecated(message)]]
                                  ^
1 warning generated.
  CXX(target) Release/obj.target/dns_sd_bindings/src/dns_service_register.o
In file included from ../src/dns_service_register.cpp:1:
In file included from ../src/mdns.hpp:12:
../../nan/nan.h:2544:8: warning: 'SetAccessor' is deprecated: Do signature check in accessor [-Wdeprecated-declarations]
  tpl->SetAccessor(
       ^
/Users/iris/Library/Caches/node-gyp/18.4.0/include/node/v8-template.h:837:3: note: 'SetAccessor' has been explicitly marked deprecated here
  V8_DEPRECATED("Do signature check in accessor")
  ^
/Users/iris/Library/Caches/node-gyp/18.4.0/include/node/v8config.h:460:35: note: expanded from macro 'V8_DEPRECATED'
# define V8_DEPRECATED(message) [[deprecated(message)]]
                                  ^
1 warning generated.
  CXX(target) Release/obj.target/dns_sd_bindings/src/dns_service_resolve.o
In file included from ../src/dns_service_resolve.cpp:1:
In file included from ../src/mdns.hpp:12:
../../nan/nan.h:2544:8: warning: 'SetAccessor' is deprecated: Do signature check in accessor [-Wdeprecated-declarations]
  tpl->SetAccessor(
       ^
/Users/iris/Library/Caches/node-gyp/18.4.0/include/node/v8-template.h:837:3: note: 'SetAccessor' has been explicitly marked deprecated here
  V8_DEPRECATED("Do signature check in accessor")
  ^
/Users/iris/Library/Caches/node-gyp/18.4.0/include/node/v8config.h:460:35: note: expanded from macro 'V8_DEPRECATED'
# define V8_DEPRECATED(message) [[deprecated(message)]]
                                  ^
1 warning generated.
  CXX(target) Release/obj.target/dns_sd_bindings/src/dns_service_update_record.o
In file included from ../src/dns_service_update_record.cpp:1:
In file included from ../src/mdns.hpp:12:
../../nan/nan.h:2544:8: warning: 'SetAccessor' is deprecated: Do signature check in accessor [-Wdeprecated-declarations]
  tpl->SetAccessor(
       ^
/Users/iris/Library/Caches/node-gyp/18.4.0/include/node/v8-template.h:837:3: note: 'SetAccessor' has been explicitly marked deprecated here
  V8_DEPRECATED("Do signature check in accessor")
  ^
/Users/iris/Library/Caches/node-gyp/18.4.0/include/node/v8config.h:460:35: note: expanded from macro 'V8_DEPRECATED'
# define V8_DEPRECATED(message) [[deprecated(message)]]
                                  ^
1 warning generated.
  CXX(target) Release/obj.target/dns_sd_bindings/src/mdns_utils.o
In file included from ../src/mdns_utils.cpp:1:
In file included from ../src/mdns.hpp:12:
../../nan/nan.h:2544:8: warning: 'SetAccessor' is deprecated: Do signature check in accessor [-Wdeprecated-declarations]
  tpl->SetAccessor(
       ^
/Users/iris/Library/Caches/node-gyp/18.4.0/include/node/v8-template.h:837:3: note: 'SetAccessor' has been explicitly marked deprecated here
  V8_DEPRECATED("Do signature check in accessor")
  ^
/Users/iris/Library/Caches/node-gyp/18.4.0/include/node/v8config.h:460:35: note: expanded from macro 'V8_DEPRECATED'
# define V8_DEPRECATED(message) [[deprecated(message)]]
                                  ^
1 warning generated.
  CXX(target) Release/obj.target/dns_sd_bindings/src/network_interface.o
In file included from ../src/network_interface.cpp:4:
In file included from ../src/mdns.hpp:12:
../../nan/nan.h:2544:8: warning: 'SetAccessor' is deprecated: Do signature check in accessor [-Wdeprecated-declarations]
  tpl->SetAccessor(
       ^
/Users/iris/Library/Caches/node-gyp/18.4.0/include/node/v8-template.h:837:3: note: 'SetAccessor' has been explicitly marked deprecated here
  V8_DEPRECATED("Do signature check in accessor")
  ^
/Users/iris/Library/Caches/node-gyp/18.4.0/include/node/v8config.h:460:35: note: expanded from macro 'V8_DEPRECATED'
# define V8_DEPRECATED(message) [[deprecated(message)]]
                                  ^
1 warning generated.
  CXX(target) Release/obj.target/dns_sd_bindings/src/socket_watcher.o
In file included from ../src/socket_watcher.cpp:1:
In file included from ../src/mdns.hpp:12:
../../nan/nan.h:2544:8: warning: 'SetAccessor' is deprecated: Do signature check in accessor [-Wdeprecated-declarations]
  tpl->SetAccessor(
       ^
/Users/iris/Library/Caches/node-gyp/18.4.0/include/node/v8-template.h:837:3: note: 'SetAccessor' has been explicitly marked deprecated here
  V8_DEPRECATED("Do signature check in accessor")
  ^
/Users/iris/Library/Caches/node-gyp/18.4.0/include/node/v8config.h:460:35: note: expanded from macro 'V8_DEPRECATED'
# define V8_DEPRECATED(message) [[deprecated(message)]]
                                  ^
1 warning generated.
  CXX(target) Release/obj.target/dns_sd_bindings/src/txt_record_ref.o
In file included from ../src/txt_record_ref.cpp:1:
In file included from ../src/mdns.hpp:12:
../../nan/nan.h:2544:8: warning: 'SetAccessor' is deprecated: Do signature check in accessor [-Wdeprecated-declarations]
  tpl->SetAccessor(
       ^
/Users/iris/Library/Caches/node-gyp/18.4.0/include/node/v8-template.h:837:3: note: 'SetAccessor' has been explicitly marked deprecated here
  V8_DEPRECATED("Do signature check in accessor")
  ^
/Users/iris/Library/Caches/node-gyp/18.4.0/include/node/v8config.h:460:35: note: expanded from macro 'V8_DEPRECATED'
# define V8_DEPRECATED(message) [[deprecated(message)]]
                                  ^
1 warning generated.
  CXX(target) Release/obj.target/dns_sd_bindings/src/txt_record_create.o
In file included from ../src/txt_record_create.cpp:1:
In file included from ../src/mdns.hpp:12:
../../nan/nan.h:2544:8: warning: 'SetAccessor' is deprecated: Do signature check in accessor [-Wdeprecated-declarations]
  tpl->SetAccessor(
       ^
/Users/iris/Library/Caches/node-gyp/18.4.0/include/node/v8-template.h:837:3: note: 'SetAccessor' has been explicitly marked deprecated here
  V8_DEPRECATED("Do signature check in accessor")
  ^
/Users/iris/Library/Caches/node-gyp/18.4.0/include/node/v8config.h:460:35: note: expanded from macro 'V8_DEPRECATED'
# define V8_DEPRECATED(message) [[deprecated(message)]]
                                  ^
1 warning generated.
  CXX(target) Release/obj.target/dns_sd_bindings/src/txt_record_deallocate.o
In file included from ../src/txt_record_deallocate.cpp:1:
In file included from ../src/mdns.hpp:12:
../../nan/nan.h:2544:8: warning: 'SetAccessor' is deprecated: Do signature check in accessor [-Wdeprecated-declarations]
  tpl->SetAccessor(
       ^
/Users/iris/Library/Caches/node-gyp/18.4.0/include/node/v8-template.h:837:3: note: 'SetAccessor' has been explicitly marked deprecated here
  V8_DEPRECATED("Do signature check in accessor")
  ^
/Users/iris/Library/Caches/node-gyp/18.4.0/include/node/v8config.h:460:35: note: expanded from macro 'V8_DEPRECATED'
# define V8_DEPRECATED(message) [[deprecated(message)]]
                                  ^
1 warning generated.
  CXX(target) Release/obj.target/dns_sd_bindings/src/txt_record_set_value.o
In file included from ../src/txt_record_set_value.cpp:1:
In file included from ../src/mdns.hpp:12:
../../nan/nan.h:2544:8: warning: 'SetAccessor' is deprecated: Do signature check in accessor [-Wdeprecated-declarations]
  tpl->SetAccessor(
       ^
/Users/iris/Library/Caches/node-gyp/18.4.0/include/node/v8-template.h:837:3: note: 'SetAccessor' has been explicitly marked deprecated here
  V8_DEPRECATED("Do signature check in accessor")
  ^
/Users/iris/Library/Caches/node-gyp/18.4.0/include/node/v8config.h:460:35: note: expanded from macro 'V8_DEPRECATED'
# define V8_DEPRECATED(message) [[deprecated(message)]]
                                  ^
1 warning generated.
  CXX(target) Release/obj.target/dns_sd_bindings/src/txt_record_get_length.o
In file included from ../src/txt_record_get_length.cpp:1:
In file included from ../src/mdns.hpp:12:
../../nan/nan.h:2544:8: warning: 'SetAccessor' is deprecated: Do signature check in accessor [-Wdeprecated-declarations]
  tpl->SetAccessor(
       ^
/Users/iris/Library/Caches/node-gyp/18.4.0/include/node/v8-template.h:837:3: note: 'SetAccessor' has been explicitly marked deprecated here
  V8_DEPRECATED("Do signature check in accessor")
  ^
/Users/iris/Library/Caches/node-gyp/18.4.0/include/node/v8config.h:460:35: note: expanded from macro 'V8_DEPRECATED'
# define V8_DEPRECATED(message) [[deprecated(message)]]
                                  ^
1 warning generated.
  CXX(target) Release/obj.target/dns_sd_bindings/src/txt_record_buffer_to_object.o
In file included from ../src/txt_record_buffer_to_object.cpp:1:
In file included from ../src/mdns.hpp:12:
../../nan/nan.h:2544:8: warning: 'SetAccessor' is deprecated: Do signature check in accessor [-Wdeprecated-declarations]
  tpl->SetAccessor(
       ^
/Users/iris/Library/Caches/node-gyp/18.4.0/include/node/v8-template.h:837:3: note: 'SetAccessor' has been explicitly marked deprecated here
  V8_DEPRECATED("Do signature check in accessor")
  ^
/Users/iris/Library/Caches/node-gyp/18.4.0/include/node/v8config.h:460:35: note: expanded from macro 'V8_DEPRECATED'
# define V8_DEPRECATED(message) [[deprecated(message)]]
                                  ^
1 warning generated.
  SOLINK_MODULE(target) Release/dns_sd_bindings.node

> protobufjs@6.11.2 postinstall /Users/iris/git/fx_cast/app/node_modules/protobufjs
> node scripts/postinstall

npm WARN app No description
npm WARN app No repository field.
npm WARN app No license field.

added 202 packages from 244 contributors and audited 203 packages in 37.278s

19 packages are looking for funding
  run `npm fund` for details

found 5 vulnerabilities (1 high, 4 critical)
  run `npm audit fix` to fix them, or `npm audit` for details

> @ postinstall:ext /Users/iris/git/fx_cast
> cd ext && npm install

npm WARN read-shrinkwrap This version of npm is compatible with lockfileVersion@1, but package-lock.json was generated for lockfileVersion@2. I'll try to do my best with it!

> dtrace-provider@0.8.8 install /Users/iris/git/fx_cast/ext/node_modules/dtrace-provider
> node-gyp rebuild || node suppress-error.js

(node:93111) [DEP0150] DeprecationWarning: Setting process.config is deprecated. In the future the property will be read-only.
(Use `node --trace-deprecation ...` to show where the warning was created)
  ACTION binding_gyp_ndtp_target_build_ndtp .
-----------------------------------------------------------------
Building dtrace-provider failed with exit code 1, falling back
on stub implementation.

Re-run install with V set in your environment to see the build
output, or NODE_DTRACE_PROVIDER_REQUIRE=hard to force an
installation failure.
-----------------------------------------------------------------
  TOUCH Release/obj.target/ndtp.stamp

> core-js@3.21.0 postinstall /Users/iris/git/fx_cast/ext/node_modules/core-js
> node -e "try{require('./postinstall')}catch(e){}"

Thank you for using core-js ( https://github.com/zloirock/core-js ) for polyfilling JavaScript standard library!

The project needs your help! Please consider supporting of core-js:
> https://opencollective.com/core-js
> https://patreon.com/zloirock
> https://paypal.me/zloirock
> bitcoin: bc1qlea7544qtsmj2rayg0lthvza9fau63ux0fstcz

Also, the author of core-js ( https://github.com/zloirock ) is looking for a good job -)


> spawn-sync@1.0.15 postinstall /Users/iris/git/fx_cast/ext/node_modules/spawn-sync
> node postinstall


> esbuild@0.14.25 postinstall /Users/iris/git/fx_cast/ext/node_modules/esbuild
> node install.js

npm WARN ext No description
npm WARN ext No repository field.
npm WARN ext No license field.
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: esbuild-windows-arm64@0.14.25 (node_modules/esbuild-windows-arm64):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for esbuild-windows-arm64@0.14.25: wanted {"os":"win32","arch":"arm64"} (current: {"os":"darwin","arch":"x64"})
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: esbuild-windows-64@0.14.25 (node_modules/esbuild-windows-64):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for esbuild-windows-64@0.14.25: wanted {"os":"win32","arch":"x64"} (current: {"os":"darwin","arch":"x64"})
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: esbuild-windows-32@0.14.25 (node_modules/esbuild-windows-32):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for esbuild-windows-32@0.14.25: wanted {"os":"win32","arch":"ia32"} (current: {"os":"darwin","arch":"x64"})
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: esbuild-sunos-64@0.14.25 (node_modules/esbuild-sunos-64):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for esbuild-sunos-64@0.14.25: wanted {"os":"sunos","arch":"x64"} (current: {"os":"darwin","arch":"x64"})
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: esbuild-openbsd-64@0.14.25 (node_modules/esbuild-openbsd-64):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for esbuild-openbsd-64@0.14.25: wanted {"os":"openbsd","arch":"x64"} (current: {"os":"darwin","arch":"x64"})
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: esbuild-netbsd-64@0.14.25 (node_modules/esbuild-netbsd-64):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for esbuild-netbsd-64@0.14.25: wanted {"os":"netbsd","arch":"x64"} (current: {"os":"darwin","arch":"x64"})
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: esbuild-linux-s390x@0.14.25 (node_modules/esbuild-linux-s390x):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for esbuild-linux-s390x@0.14.25: wanted {"os":"linux","arch":"s390x"} (current: {"os":"darwin","arch":"x64"})
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: esbuild-linux-riscv64@0.14.25 (node_modules/esbuild-linux-riscv64):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for esbuild-linux-riscv64@0.14.25: wanted {"os":"linux","arch":"riscv64"} (current: {"os":"darwin","arch":"x64"})
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: esbuild-linux-ppc64le@0.14.25 (node_modules/esbuild-linux-ppc64le):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for esbuild-linux-ppc64le@0.14.25: wanted {"os":"linux","arch":"ppc64"} (current: {"os":"darwin","arch":"x64"})
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: esbuild-linux-mips64le@0.14.25 (node_modules/esbuild-linux-mips64le):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for esbuild-linux-mips64le@0.14.25: wanted {"os":"linux","arch":"mips64el"} (current: {"os":"darwin","arch":"x64"})
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: esbuild-linux-arm64@0.14.25 (node_modules/esbuild-linux-arm64):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for esbuild-linux-arm64@0.14.25: wanted {"os":"linux","arch":"arm64"} (current: {"os":"darwin","arch":"x64"})
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: esbuild-linux-arm@0.14.25 (node_modules/esbuild-linux-arm):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for esbuild-linux-arm@0.14.25: wanted {"os":"linux","arch":"arm"} (current: {"os":"darwin","arch":"x64"})
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: esbuild-linux-64@0.14.25 (node_modules/esbuild-linux-64):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for esbuild-linux-64@0.14.25: wanted {"os":"linux","arch":"x64"} (current: {"os":"darwin","arch":"x64"})
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: esbuild-linux-32@0.14.25 (node_modules/esbuild-linux-32):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for esbuild-linux-32@0.14.25: wanted {"os":"linux","arch":"ia32"} (current: {"os":"darwin","arch":"x64"})
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: esbuild-freebsd-arm64@0.14.25 (node_modules/esbuild-freebsd-arm64):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for esbuild-freebsd-arm64@0.14.25: wanted {"os":"freebsd","arch":"arm64"} (current: {"os":"darwin","arch":"x64"})
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: esbuild-freebsd-64@0.14.25 (node_modules/esbuild-freebsd-64):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for esbuild-freebsd-64@0.14.25: wanted {"os":"freebsd","arch":"x64"} (current: {"os":"darwin","arch":"x64"})
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: esbuild-darwin-arm64@0.14.25 (node_modules/esbuild-darwin-arm64):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for esbuild-darwin-arm64@0.14.25: wanted {"os":"darwin","arch":"arm64"} (current: {"os":"darwin","arch":"x64"})
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: esbuild-android-arm64@0.14.25 (node_modules/esbuild-android-arm64):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for esbuild-android-arm64@0.14.25: wanted {"os":"android","arch":"arm64"} (current: {"os":"darwin","arch":"x64"})
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: esbuild-android-64@0.14.25 (node_modules/esbuild-android-64):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for esbuild-android-64@0.14.25: wanted {"os":"android","arch":"x64"} (current: {"os":"darwin","arch":"x64"})

added 482 packages from 496 contributors and audited 501 packages in 19.574s

59 packages are looking for funding
  run `npm fund` for details

found 13 vulnerabilities (2 low, 3 moderate, 5 high, 3 critical)
  run `npm audit fix` to fix them, or `npm audit` for details
npm WARN fx_cast No repository field.
npm WARN fx_cast No license field.

added 174 packages from 123 contributors and audited 176 packages in 61.798s

26 packages are looking for funding
  run `npm fund` for details

found 2 vulnerabilities (1 high, 1 critical)
  run `npm audit fix` to fix them, or `npm audit` for details

❯ npm run build

> @ build /Users/iris/git/fx_cast
> npm run build:app && npm run build:ext


> @ build:app /Users/iris/git/fx_cast
> cd app && npm run build


> @ build /Users/iris/git/fx_cast/app
> node bin/build.js


> @ build:ext /Users/iris/git/fx_cast
> cd ext && npm run build


> @ build /Users/iris/git/fx_cast/ext
> node bin/build.js


  ../dist/ext/background/background.js     681.4kb
  ../dist/ext/cast/senders/mirroring.js    637.3kb
  ../dist/ext/cast/senders/media/index.js  623.2kb
  ../dist/ext/ui/options/index.js          602.2kb
  ../dist/ext/ui/popup/index.js            289.7kb
  ../dist/ext/cast/index.js                183.0kb
  ../dist/ext/cast/contentBridge.js         17.8kb
  ../dist/ext/cast/content.js                5.7kb

⚡ Done in 44ms

fx_cast on  HEAD (e485dc7) [!] via  v18.4.0 took 4s
at 02:04:20 ❯ npm run install-manifest

> @ install-manifest /Users/iris/git/fx_cast
> cd app && npm run install-manifest


> @ install-manifest /Users/iris/git/fx_cast/app
> node bin/install-manifest.js

❯ npm run package:app

> @ package:app /Users/iris/git/fx_cast
> cd app && npm run package


> @ package /Users/iris/git/fx_cast/app
> node bin/build.js --package

> pkg@5.5.2
> Fetching base Node.js binaries to PKG_CACHE_PATH
  fetched-v16.13.2-macos-x64          [====================] 100%

pkgbuild: Inferring bundle components from contents of /Users/iris/git/fx_cast/app/build/root
pkgbuild: Adding top-level postinstall script
pkgbuild: Wrote package to /Users/iris/git/fx_cast/app/build/fx_cast_bridge_component.pkg
productbuild: Wrote product to /Users/iris/git/fx_cast/app/build/fx_cast_bridge-0.2.0-x64.pkg

❯ fd fx_cast /
/Users/iris/git/fx_cast/
/Users/iris/Library/Application Support/Firefox/Profiles/-snip-for-privacy-/extensions/fx_cast@matt.tf.xpi
/Users/iris/Library/Application Support/Mozilla/NativeMessagingHosts/fx_cast_bridge.json
/System/Volumes/Data/Users/iris/git/fx_cast/
/System/Volumes/Data/Users/iris/Library/Application Support/Mozilla/NativeMessagingHosts/fx_cast_bridge.json
/System/Volumes/Data/Users/iris/Library/Application Support/Firefox/Profiles/-snip-for-privacy-/extensions/fx_cast@matt.tf.xpi
/System/Volumes/Data/Library/Application Support/fx_cast/
/System/Volumes/Data/Library/Application Support/fx_cast/fx_cast_bridge
/System/Volumes/Data/Library/Application Support/Mozilla/NativeMessagingHosts/fx_cast_bridge.json
/System/Volumes/Data/private/var/db/receipts/tf.matt.fx_cast_bridge.plist
/System/Volumes/Data/private/var/db/receipts/tf.matt.fx_cast_bridge.bom
/Library/Application Support/fx_cast/
/Library/Application Support/fx_cast/fx_cast_bridge
/Library/Application Support/Mozilla/NativeMessagingHosts/fx_cast_bridge.json
/private/var/db/receipts/tf.matt.fx_cast_bridge.plist
/private/var/db/receipts/tf.matt.fx_cast_bridge.bom

❯ /Library/Application\ Support/fx_cast/fx_cast_bridge
pkg/prelude/bootstrap.js:2114
    return ancestor.dlopen.apply(process, args);
                           ^

Error: The module '/Library/Application Support/fx_cast/dns_sd_bindings.node'
was compiled against a different Node.js version using
NODE_MODULE_VERSION 108. This version of Node.js requires
NODE_MODULE_VERSION 93. Please try re-compiling or re-installing
the module (for instance, using `npm rebuild` or `npm install`).
    at process.dlopen (pkg/prelude/bootstrap.js:2114:28)
    at Object.Module._extensions..node (node:internal/modules/cjs/loader:1183:18)
    at Module.load (node:internal/modules/cjs/loader:981:32)
    at Function.Module._load (node:internal/modules/cjs/loader:822:12)
    at Module.require (node:internal/modules/cjs/loader:1005:19)
    at Module.require (pkg/prelude/bootstrap.js:1719:31)
    at require (node:internal/modules/cjs/helpers:102:18)
    at Object.<anonymous> (/snapshot/app/node_modules/mdns/lib/dns_sd.js:24:20)
    at Module._compile (pkg/prelude/bootstrap.js:1794:22)
    at Object.Module._extensions..js (node:internal/modules/cjs/loader:1153:10) {
  code: 'ERR_DLOPEN_FAILED'
}
hensm commented

Yeah, the latest release doesn't include Intel binaries for macOS, since I got an M1 Mac since the last release and haven't had time to figure out what was causing issues cross-compiling the native dependency (see #209). I'll probably automate the builds via GitHub actions or something instead of trying to cross-compile locally (again when I find the time).

The issue you're seeing with your local build is because the build script is hard-coded to use node 16 for the pre-compiled binary when packaging. The native dependency is built using your node version during npm install and there's a mismatch between the ABI versions.

You can either modify the pkg arguments here to match your local node version (then do a clean install or rebuild) or just run the app build npm script (build:app) without packaging which will output loose JS files and create a launcher shell script using your node version instead of the pre-compiled binary.

If you use the unpackaged version, keep in mind that the generated native manifest (which you can register via the install-manifest npm script or moving manually to ~/Library/Application Support/Mozilla/NativeMessagingHosts/) will point to the launcher script in dist/app/ which itself also sets the NODE_PATH to app/node_modules/, so you'll need to keep those paths in sync if you move anything around.