hensm / fx_cast

Chromecast Web Sender SDK implementation for Firefox
https://hensm.github.io/fx_cast/
MIT License
1.87k stars 63 forks source link

Bridge failing to launch #218

Closed Arzte closed 1 year ago

Arzte commented 2 years ago

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 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. (/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 2 years ago

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.