Streampunk / macadam

Async node.js interface to Blackmagic Design capture and playback devices.
Apache License 2.0
107 stars 24 forks source link

node-gyp fails: 'framework not found DeckLinkAPI' on Mac #19

Open florisporro opened 4 years ago

florisporro commented 4 years ago

Somehow I'm unable to install macadam on Mac. All prerequisites are met, I tried on two different machines one running Mojave (10.14.6) and the other running Catalina (10.15.2).

Xcode is installed on both machines. Command line tools as well.

The Mojave machine is running:

The Catalina machine is running

In the case of Catalina, I ran through the node-gyp Catalina debug steps and passed the acid test: https://github.com/nodejs/node-gyp/blob/master/macOS_Catalina.md

This is the console output on the Catalina machine when attempting to install with Yarn:

error /Users/.../elecular/node_modules/macadam: Command failed.
Exit code: 1
Command: node-gyp rebuild
Arguments: 
Directory: /Users/.../elecular/node_modules/macadam
Output:
gyp info it worked if it ends with ok
gyp info using node-gyp@5.0.5
gyp info using node@12.14.1 | darwin | x64
gyp info find Python using Python version 2.7.16 found at "/System/Library/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python"
gyp info spawn /System/Library/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python
gyp info spawn args [
gyp info spawn args   '/usr/local/lib/node_modules/npm/node_modules/node-gyp/gyp/gyp_main.py',
gyp info spawn args   'binding.gyp',
gyp info spawn args   '-f',
gyp info spawn args   'make',
gyp info spawn args   '-I',
gyp info spawn args   '/Users/.../elecular/node_modules/macadam/build/config.gypi',
gyp info spawn args   '-I',
gyp info spawn args   '/usr/local/lib/node_modules/npm/node_modules/node-gyp/addon.gypi',
gyp info spawn args   '-I',
gyp info spawn args   '/Users/.../Library/Caches/node-gyp/12.14.1/include/node/common.gypi',
gyp info spawn args   '-Dlibrary=shared_library',
gyp info spawn args   '-Dvisibility=default',
gyp info spawn args   '-Dnode_root_dir=/Users/.../Library/Caches/node-gyp/12.14.1',
gyp info spawn args   '-Dnode_gyp_dir=/usr/local/lib/node_modules/npm/node_modules/node-gyp',
gyp info spawn args   '-Dnode_lib_file=/Users/.../Library/Caches/node-gyp/12.14.1/<(target_arch)/node.lib',
gyp info spawn args   '-Dmodule_root_dir=/Users/.../elecular/node_modules/macadam',
gyp info spawn args   '-Dnode_engine=v8',
gyp info spawn args   '--depth=.',
gyp info spawn args   '--no-parallel',
gyp info spawn args   '--generator-output',
gyp info spawn args   'build',
gyp info spawn args   '-Goutput_dir=.'
gyp info spawn args ]
gyp info spawn make
gyp info spawn args [ 'BUILDTYPE=Release', '-C', 'build' ]
  CXX(target) Release/obj.target/macadam/src/macadam_util.o
  CXX(target) Release/obj.target/macadam/src/macadam.o
  CXX(target) Release/obj.target/macadam/src/capture_promise.o
  CXX(target) Release/obj.target/macadam/src/playback_promise.o
  CXX(target) Release/obj.target/macadam/src/timecode.o
  SOLINK_MODULE(target) Release/macadam.node
ld: framework not found DeckLinkAPI
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [Release/macadam.node] Error 1
gyp ERR! build error 
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:194:23)
gyp ERR! stack     at ChildProcess.emit (events.js:223:5)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:272:12)
gyp ERR! System Darwin 19.2.0
gyp ERR! command "/usr/local/bin/node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /Users/.../elecular/node_modules/macadam
gyp ERR! node -v v12.14.1
gyp ERR! node-gyp -v v5.0.5

Output is similar on the Mojave machine.

ld: framework not found DeckLinkAPI is very similar to #6, however the debugging steps with xcode command line tools that worked there have not helped in my case. Thinking this might be related to a change in the Blackmagic API?

florisporro commented 4 years ago

Tested, this is fixed by https://github.com/Streampunk/macadam/pull/20#issue-378248901