discordjs / opus

Native opus bindings for node
MIT License
192 stars 55 forks source link

Prebuilt binaries for arm64 macOS #75

Closed belcar-s closed 3 years ago

belcar-s commented 3 years ago

Is your feature request related to a problem? Please describe. I'm always frustrated when I attempt to install @discordjs/opus in a project, and a build attempt that fails occurs.

Describe the ideal solution It seems the build script looks first for a prebuilt binary. Please supply versions for arm64 macOS.

Describe alternatives you've considered I've considered resolving the problems that cause the build to fail. I've also considered installing with Rosetta.

Additional context

npm ERR! code 1
npm ERR! path /Users/belcar-s/Documents/lorem/node_modules/@discordjs/opus
npm ERR! command failed
npm ERR! command sh -c node-pre-gyp install --fallback-to-build
npm ERR! CC(target) Release/obj.target/libopus/deps/opus/src/opus_multistream.o
npm ERR! Failed to execute '/opt/homebrew/Cellar/node/15.12.0/bin/node /opt/homebrew/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js build --fallback-to-build --module=/Users/belcar-s/Documents/lorem/node_modules/@discordjs/opus/prebuild/node-v88-napi-v3-darwin-arm64-unknown-unknown/opus.node --module_name=opus --module_path=/Users/belcar-s/Documents/lorem/node_modules/@discordjs/opus/prebuild/node-v88-napi-v3-darwin-arm64-unknown-unknown --napi_version=8 --node_abi_napi=napi --napi_build_version=3 --node_napi_label=napi-v3' (1)
npm ERR! node-pre-gyp info it worked if it ends with ok
npm ERR! node-pre-gyp info using node-pre-gyp@0.2.0
npm ERR! node-pre-gyp info using node@15.12.0 | darwin | arm64
npm ERR! node-pre-gyp WARN Using needle for node-pre-gyp https download 
npm ERR! node-pre-gyp info check checked for "/Users/belcar-s/Documents/lorem/node_modules/@discordjs/opus/prebuild/node-v88-napi-v3-darwin-arm64-unknown-unknown/opus.node" (not found)
npm ERR! node-pre-gyp http GET https://github.com/discordjs/opus/releases/download/v0.4.0/opus-v0.4.0-node-v88-napi-v3-darwin-arm64-unknown-unknown.tar.gz
npm ERR! node-pre-gyp http 404 https://github.com/discordjs/opus/releases/download/v0.4.0/opus-v0.4.0-node-v88-napi-v3-darwin-arm64-unknown-unknown.tar.gz
npm ERR! node-pre-gyp WARN Tried to download(404): https://github.com/discordjs/opus/releases/download/v0.4.0/opus-v0.4.0-node-v88-napi-v3-darwin-arm64-unknown-unknown.tar.gz 
npm ERR! node-pre-gyp WARN Pre-built binaries not found for @discordjs/opus@0.4.0 and node@15.12.0 (node-v88 ABI, unknown) (falling back to source compile with node-gyp) 
npm ERR! node-pre-gyp http 404 status code downloading tarball https://github.com/discordjs/opus/releases/download/v0.4.0/opus-v0.4.0-node-v88-napi-v3-darwin-arm64-unknown-unknown.tar.gz 
npm ERR! gyp info it worked if it ends with ok
npm ERR! gyp info using node-gyp@7.1.2
npm ERR! gyp info using node@15.12.0 | darwin | arm64
npm ERR! gyp info ok 
npm ERR! gyp info it worked if it ends with ok
npm ERR! gyp info using node-gyp@7.1.2
npm ERR! gyp info using node@15.12.0 | darwin | arm64
npm ERR! gyp info find Python using Python version 3.9.2 found at "/opt/homebrew/opt/python@3.9/bin/python3.9"
npm ERR! gyp http GET https://nodejs.org/download/release/v15.12.0/node-v15.12.0-headers.tar.gz
npm ERR! gyp http 200 https://nodejs.org/download/release/v15.12.0/node-v15.12.0-headers.tar.gz
npm ERR! gyp http GET https://nodejs.org/download/release/v15.12.0/SHASUMS256.txt
npm ERR! gyp http 200 https://nodejs.org/download/release/v15.12.0/SHASUMS256.txt
npm ERR! gyp info spawn /opt/homebrew/opt/python@3.9/bin/python3.9
npm ERR! gyp info spawn args [
npm ERR! gyp info spawn args   '/opt/homebrew/lib/node_modules/npm/node_modules/node-gyp/gyp/gyp_main.py',
npm ERR! gyp info spawn args   'binding.gyp',
npm ERR! gyp info spawn args   '-f',
npm ERR! gyp info spawn args   'make',
npm ERR! gyp info spawn args   '-I',
npm ERR! gyp info spawn args   '/Users/belcar-s/Documents/lorem/node_modules/@discordjs/opus/build/config.gypi',
npm ERR! gyp info spawn args   '-I',
npm ERR! gyp info spawn args   '/opt/homebrew/lib/node_modules/npm/node_modules/node-gyp/addon.gypi',
npm ERR! gyp info spawn args   '-I',
npm ERR! gyp info spawn args   '/Users/belcar-s/Library/Caches/node-gyp/15.12.0/include/node/common.gypi',
npm ERR! gyp info spawn args   '-Dlibrary=shared_library',
npm ERR! gyp info spawn args   '-Dvisibility=default',
npm ERR! gyp info spawn args   '-Dnode_root_dir=/Users/belcar-s/Library/Caches/node-gyp/15.12.0',
npm ERR! gyp info spawn args   '-Dnode_gyp_dir=/opt/homebrew/lib/node_modules/npm/node_modules/node-gyp',
npm ERR! gyp info spawn args   '-Dnode_lib_file=/Users/belcar-s/Library/Caches/node-gyp/15.12.0/<(target_arch)/node.lib',
npm ERR! gyp info spawn args   '-Dmodule_root_dir=/Users/belcar-s/Documents/lorem/node_modules/@discordjs/opus',
npm ERR! gyp info spawn args   '-Dnode_engine=v8',
npm ERR! gyp info spawn args   '--depth=.',
npm ERR! gyp info spawn args   '--no-parallel',
npm ERR! gyp info spawn args   '--generator-output',
npm ERR! gyp info spawn args   'build',
npm ERR! gyp info spawn args   '-Goutput_dir=.'
npm ERR! gyp info spawn args ]
npm ERR! gyp info ok 
npm ERR! gyp info it worked if it ends with ok
npm ERR! gyp info using node-gyp@7.1.2
npm ERR! gyp info using node@15.12.0 | darwin | arm64
npm ERR! gyp info spawn make
npm ERR! gyp info spawn args [ 'BUILDTYPE=Release', '-C', 'build' ]
npm ERR! ../deps/opus/src/opus_multistream.c:29:10: fatal error: 'config.h' file not found
npm ERR! #include "config.h"
npm ERR!          ^~~~~~~~~~
npm ERR! 1 error generated.
npm ERR! make: *** [Release/obj.target/libopus/deps/opus/src/opus_multistream.o] Error 1
npm ERR! gyp ERR! build error 
npm ERR! gyp ERR! stack Error: `make` failed with exit code: 2
npm ERR! gyp ERR! stack     at ChildProcess.onExit (/opt/homebrew/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:194:23)
npm ERR! gyp ERR! stack     at ChildProcess.emit (node:events:369:20)
npm ERR! gyp ERR! stack     at Process.ChildProcess._handle.onexit (node:internal/child_process:290:12)
npm ERR! gyp ERR! System Darwin 20.3.0
npm ERR! gyp ERR! command "/opt/homebrew/Cellar/node/15.12.0/bin/node" "/opt/homebrew/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "build" "--fallback-to-build" "--module=/Users/belcar-s/Documents/lorem/node_modules/@discordjs/opus/prebuild/node-v88-napi-v3-darwin-arm64-unknown-unknown/opus.node" "--module_name=opus" "--module_path=/Users/belcar-s/Documents/lorem/node_modules/@discordjs/opus/prebuild/node-v88-napi-v3-darwin-arm64-unknown-unknown" "--napi_version=8" "--node_abi_napi=napi" "--napi_build_version=3" "--node_napi_label=napi-v3"
npm ERR! gyp ERR! cwd /Users/belcar-s/Documents/lorem/node_modules/@discordjs/opus
npm ERR! gyp ERR! node -v v15.12.0
npm ERR! gyp ERR! node-gyp -v v7.1.2
npm ERR! gyp ERR! not ok 
npm ERR! node-pre-gyp ERR! build error 
npm ERR! node-pre-gyp ERR! stack Error: Failed to execute '/opt/homebrew/Cellar/node/15.12.0/bin/node /opt/homebrew/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js build --fallback-to-build --module=/Users/belcar-s/Documents/lorem/node_modules/@discordjs/opus/prebuild/node-v88-napi-v3-darwin-arm64-unknown-unknown/opus.node --module_name=opus --module_path=/Users/belcar-s/Documents/lorem/node_modules/@discordjs/opus/prebuild/node-v88-napi-v3-darwin-arm64-unknown-unknown --napi_version=8 --node_abi_napi=napi --napi_build_version=3 --node_napi_label=napi-v3' (1)
npm ERR! node-pre-gyp ERR! stack     at ChildProcess.<anonymous> (/Users/belcar-s/Documents/lorem/node_modules/@discordjs/node-pre-gyp/lib/util/compile.js:85:20)
npm ERR! node-pre-gyp ERR! stack     at ChildProcess.emit (node:events:369:20)
npm ERR! node-pre-gyp ERR! stack     at maybeClose (node:internal/child_process:1067:16)
npm ERR! node-pre-gyp ERR! stack     at Process.ChildProcess._handle.onexit (node:internal/child_process:301:5)
npm ERR! node-pre-gyp ERR! System Darwin 20.3.0
npm ERR! node-pre-gyp ERR! command "/opt/homebrew/Cellar/node/15.12.0/bin/node" "/Users/belcar-s/Documents/lorem/node_modules/.bin/node-pre-gyp" "install" "--fallback-to-build"
npm ERR! node-pre-gyp ERR! cwd /Users/belcar-s/Documents/lorem/node_modules/@discordjs/opus
npm ERR! node-pre-gyp ERR! node -v v15.12.0
npm ERR! node-pre-gyp ERR! node-pre-gyp -v v0.2.0
npm ERR! node-pre-gyp ERR! not ok

npm ERR! A complete log of this run can be found in:
npm ERR!     /Users/belcar-s/.npm/_logs/2021-03-22T13_51_44_723Z-debug.log
Spacey4K commented 3 years ago

i have the same error but on Windows 10 Home 64-bit/x64

iCrawl commented 3 years ago

You most likely don't because make doesn't run on windows.

iCrawl commented 3 years ago

Anyway, this issue is a duplicate of #72