Closed jeraldvirgo closed 10 months ago
Facing same issue on Macbook M1 @wswebcreation any update on this?
Finding the same issue on Macbook M1
Having the issue on M1 pro
Their dependency is not building on M1 / M2 (arm architecture) and there is no pre-built binary.
I've fixed this on my M2 by installing the cairo and pango dependencies
brew install cairo pango
Sorry for not responding for a while. I will update the docs soon, but here's already an answer on how to solve this. This is not specifically linked to an M1
Environment (please complete the following information):
Not able run the npm install --save wdio-image-comparison-service on Apple M1 Pro Machines
npm ERR! code 1 npm ERR! path /Users/xxxxxx/project-foldername/node_modules/canvas npm ERR! command failed npm ERR! command sh -c node-pre-gyp install --fallback-to-build --update-binary npm ERR! SOLINK_MODULE(target) Release/canvas-postbuild.node npm ERR! CXX(target) Release/obj.target/canvas/src/backend/Backend.o npm ERR! Failed to execute '/Users/xxxxxx/.nvm/versions/node/v18.17.0/bin/node /Users/xxxxxx/.nvm/versions/node/v18.17.0/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js build --fallback-to-build --update-binary --module=/Users/xxxxxx/project-foldername/node_modules/canvas/build/Release/canvas.node --module_name=canvas --module_path=/Users/xxxxxx/project-foldername/node_modules/canvas/build/Release --napi_version=9 --node_abi_napi=napi --napi_build_version=0 --node_napi_label=node-v108' (1) npm ERR! node-pre-gyp info it worked if it ends with ok npm ERR! node-pre-gyp info using node-pre-gyp@1.0.11 npm ERR! node-pre-gyp info using node@18.17.0 | darwin | arm64 npm ERR! node-pre-gyp http GET https://github.com/Automattic/node-canvas/releases/download/v2.11.2/canvas-v2.11.2-node-v108-darwin-unknown-arm64.tar.gz npm ERR! node-pre-gyp ERR! install response status 404 Not Found on https://github.com/Automattic/node-canvas/releases/download/v2.11.2/canvas-v2.11.2-node-v108-darwin-unknown-arm64.tar.gz npm ERR! node-pre-gyp WARN Pre-built binaries not installable for canvas@2.11.2 and node@18.17.0 (node-v108 ABI, unknown) (falling back to source compile with node-gyp) npm ERR! node-pre-gyp WARN Hit error response status 404 Not Found on https://github.com/Automattic/node-canvas/releases/download/v2.11.2/canvas-v2.11.2-node-v108-darwin-unknown-arm64.tar.gz npm ERR! gyp info it worked if it ends with ok npm ERR! gyp info using node-gyp@9.3.1 npm ERR! gyp info using node@18.17.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@9.3.1 npm ERR! gyp info using node@18.17.0 | darwin | arm64 npm ERR! gyp info find Python using Python version 3.9.6 found at "/Library/Developer/CommandLineTools/usr/bin/python3" npm ERR! gyp info spawn /Library/Developer/CommandLineTools/usr/bin/python3 npm ERR! gyp info spawn args [ npm ERR! gyp info spawn args '/Users/xxxxxx/.nvm/versions/node/v18.17.0/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/xxxxxx/project-foldername/node_modules/canvas/build/config.gypi', npm ERR! gyp info spawn args '-I', npm ERR! gyp info spawn args '/Users/xxxxxx/.nvm/versions/node/v18.17.0/lib/node_modules/npm/node_modules/node-gyp/addon.gypi', npm ERR! gyp info spawn args '-I', npm ERR! gyp info spawn args '/Users/xxxxxx/Library/Caches/node-gyp/18.17.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/xxxxxx/Library/Caches/node-gyp/18.17.0', npm ERR! gyp info spawn args '-Dnode_gyp_dir=/Users/xxxxxx/.nvm/versions/node/v18.17.0/lib/node_modules/npm/node_modules/node-gyp', npm ERR! gyp info spawn args '-Dnode_lib_file=/Users/xxxxxx/Library/Caches/node-gyp/18.17.0/<(target_arch)/node.lib', npm ERR! gyp info spawn args '-Dmodule_root_dir=/Users/xxxxxx/project-foldername/node_modules/canvas', 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! Package libffi was not found in the pkg-config search path. npm ERR! Perhaps you should add the directory containing
npm ERR! ^ (/Users/xxxxxx/project-foldername/node_modules/@mapbox/node-pre-gyp/lib/util/compile.js:89:23)
npm ERR! node-pre-gyp ERR! stack at ChildProcess.emit (node:events:514:28)
npm ERR! node-pre-gyp ERR! stack at maybeClose (node:internal/child_process:1091:16)
npm ERR! node-pre-gyp ERR! stack at ChildProcess._handle.onexit (node:internal/child_process:302:5)
npm ERR! node-pre-gyp ERR! System Darwin 22.6.0
npm ERR! node-pre-gyp ERR! command "/Users/xxxxxx/.nvm/versions/node/v18.17.0/bin/node" "/Users/xxxxxx/project-foldername/node_modules/.bin/node-pre-gyp" "install" "--fallback-to-build" "--update-binary"
npm ERR! node-pre-gyp ERR! cwd /Users/xxxxxx/project-foldername/node_modules/canvas
npm ERR! node-pre-gyp ERR! node -v v18.17.0
npm ERR! node-pre-gyp ERR! node-pre-gyp -v v1.0.11
npm ERR! node-pre-gyp ERR! not ok
libffi.pc' npm ERR! to the PKG_CONFIG_PATH environment variable npm ERR! Package 'libffi', required by 'gobject-2.0', not found npm ERR! Package zlib was not found in the pkg-config search path. npm ERR! Perhaps you should add the directory containing
zlib.pc' npm ERR! to the PKG_CONFIG_PATH environment variable npm ERR! Package 'zlib', required by 'libpng', not found npm ERR! Package libffi was not found in the pkg-config search path. npm ERR! Perhaps you should add the directory containinglibffi.pc' npm ERR! to the PKG_CONFIG_PATH environment variable npm ERR! Package 'libffi', required by 'gobject-2.0', not found npm ERR! Package zlib was not found in the pkg-config search path. npm ERR! Perhaps you should add the directory containing
zlib.pc' npm ERR! to the PKG_CONFIG_PATH environment variable npm ERR! Package 'zlib', required by 'freetype2', not found npm ERR! gyp info ok npm ERR! gyp info it worked if it ends with ok npm ERR! gyp info using node-gyp@9.3.1 npm ERR! gyp info using node@18.17.0 | darwin | arm64 npm ERR! gyp info spawn make npm ERR! gyp info spawn args [ 'BUILDTYPE=Release', '-C', 'build' ] npm ERR! In file included from ../src/backend/Backend.cc:1: npm ERR! ../src/backend/Backend.h:3:10: fatal error: 'cairo.h' file not found npm ERR! #include~~~~ npm ERR! 1 error generated. npm ERR! make: *** [Release/obj.target/canvas/src/backend/Backend.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 (/Users/xxxxxx/.nvm/versions/node/v18.17.0/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:203:23) npm ERR! gyp ERR! stack at ChildProcess.emit (node:events:514:28) npm ERR! gyp ERR! stack at ChildProcess._handle.onexit (node:internal/child_process:291:12) npm ERR! gyp ERR! System Darwin 22.6.0 npm ERR! gyp ERR! command "/Users/xxxxxx/.nvm/versions/node/v18.17.0/bin/node" "/Users/xxxxxx/.nvm/versions/node/v18.17.0/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "build" "--fallback-to-build" "--update-binary" "--module=/Users/xxxxxx/project-foldername/node_modules/canvas/build/Release/canvas.node" "--module_name=canvas" "--module_path=/Users/xxxxxx/project-foldername/node_modules/canvas/build/Release" "--napi_version=9" "--node_abi_napi=napi" "--napi_build_version=0" "--node_napi_label=node-v108" npm ERR! gyp ERR! cwd /Users/xxxxxx/project-foldername/node_modules/canvas npm ERR! gyp ERR! node -v v18.17.0 npm ERR! gyp ERR! node-gyp -v v9.3.1 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 '/Users/xxxxxx/.nvm/versions/node/v18.17.0/bin/node /Users/xxxxxx/.nvm/versions/node/v18.17.0/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js build --fallback-to-build --update-binary --module=/Users/xxxxxx/project-foldername/node_modules/canvas/build/Release/canvas.node --module_name=canvas --module_path=/Users/xxxxxx/project-foldername/node_modules/canvas/build/Release --napi_version=9 --node_abi_napi=napi --napi_build_version=0 --node_napi_label=node-v108' (1) npm ERR! node-pre-gyp ERR! stack at ChildProcess.