evidence-dev / evidence

Business intelligence as code: build fast, interactive data visualizations in pure SQL and markdown
https://evidence.dev
MIT License
3.44k stars 167 forks source link

`lz4` dependency is causing install issues #1885

Closed archiewood closed 1 month ago

archiewood commented 1 month ago

Steps To Reproduce

On some machines, Evidence is failing to install

example output

npm info run duckdb@0.9.2 install node_modules/duckdb node-pre-gyp install --fallback-to-build
npm info run lz4@0.6.5 install node_modules/lz4 node-gyp rebuild
npm info run sqlite3@5.1.5 install node_modules/sqlite3 node-pre-gyp install --fallback-to-build
npm info run duckdb@0.10.0 install node_modules/duckdb-async/node_modules/duckdb node-pre-gyp install --fallback-to-build
npm info run sqlite3@5.1.5 install { code: 0, signal: null }
npm info run duckdb@0.9.2 install { code: 0, signal: null }
npm info run duckdb@0.10.0 install { code: 0, signal: null }
npm info run lz4@0.6.5 install { code: 1, signal: null }
npm ERR! code 1
npm ERR! path /evidence-workspace/node_modules/lz4
npm ERR! command failed
npm ERR! command sh -c node-gyp rebuild
npm ERR! gyp info it worked if it ends with ok
npm ERR! gyp info using node-gyp@9.4.1
npm ERR! gyp info using node@18.16.0 | linux | x64
npm ERR! gyp info find Python using Python version 3.10.12 found at "/usr/bin/python3"
npm ERR! gyp http GET https://nodejs.org/download/release/v18.16.0/node-v18.16.0-headers.tar.gz
npm ERR! gyp http 200 https://nodejs.org/download/release/v18.16.0/node-v18.16.0-headers.tar.gz
npm ERR! gyp http GET https://nodejs.org/download/release/v18.16.0/SHASUMS256.txt
npm ERR! gyp http 200 https://nodejs.org/download/release/v18.16.0/SHASUMS256.txt
npm ERR! gyp info spawn /usr/bin/python3
npm ERR! gyp info spawn args [
npm ERR! gyp info spawn args   '/evidence-workspace/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   '/evidence-workspace/node_modules/lz4/build/config.gypi',
npm ERR! gyp info spawn args   '-I',
npm ERR! gyp info spawn args   '/evidence-workspace/node_modules/node-gyp/addon.gypi',
npm ERR! gyp info spawn args   '-I',
npm ERR! gyp info spawn args   '/root/.cache/node-gyp/18.16.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=/root/.cache/node-gyp/18.16.0',
npm ERR! gyp info spawn args   '-Dnode_gyp_dir=/evidence-workspace/node_modules/node-gyp',
npm ERR! gyp info spawn args   '-Dnode_lib_file=/root/.cache/node-gyp/18.16.0/<(target_arch)/node.lib',
npm ERR! gyp info spawn args   '-Dmodule_root_dir=/evidence-workspace/node_modules/lz4',
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 ERR! build error
npm ERR! gyp ERR! stack Error: not found: make
npm ERR! gyp ERR! stack     at getNotFoundError (/evidence-workspace/node_modules/which/which.js:10:17)
npm ERR! gyp ERR! stack     at /evidence-workspace/node_modules/which/which.js:57:18
npm ERR! gyp ERR! stack     at new Promise (<anonymous>)
npm ERR! gyp ERR! stack     at step (/evidence-workspace/node_modules/which/which.js:54:21)
npm ERR! gyp ERR! stack     at /evidence-workspace/node_modules/which/which.js:71:22
npm ERR! gyp ERR! stack     at new Promise (<anonymous>)
npm ERR! gyp ERR! stack     at subStep (/evidence-workspace/node_modules/which/which.js:69:33)
npm ERR! gyp ERR! stack     at /evidence-workspace/node_modules/which/which.js:80:22
npm ERR! gyp ERR! stack     at /evidence-workspace/node_modules/isexe/index.js:42:5
npm ERR! gyp ERR! stack     at /evidence-workspace/node_modules/isexe/mode.js:8:5
npm ERR! gyp ERR! System Linux 5.15.0-1042-azure
npm ERR! gyp ERR! command "/usr/local/bin/node" "/evidence-workspace/node_modules/.bin/node-gyp" "rebuild"
npm ERR! gyp ERR! cwd /evidence-workspace/node_modules/lz4
npm ERR! gyp ERR! node -v v18.16.0
npm ERR! gyp ERR! node-gyp -v v9.4.1
npm ERR! gyp ERR! not ok
npm ERR! A complete log of this run can be found in:
npm ERR!     /root/.npm/_logs/2024-04-13T10_44_07_285Z-debug-0.log

Environment

Expected Behavior

Evidence installs

Actual Behaviour

lz4 dependency causes install to fail, as it falls back to build, and something required to build is not present on client machine

Workarounds

Install the requirements on your machine: