Homarr LXC yarn failure #257

Closed
opened 2026-02-04 17:29:08 +03:00 by OVERLORD · 4 comments
Owner

Originally created by @TomCloke on GitHub (Jan 3, 2025).

Have you read and understood the above guidelines?

yes

📜 What is the name of the script you are using?

Homarr LXC

📂 What was the exact command used to execute the script?

bash -c "$(wget -qLO - https://github.com/community-scripts/ProxmoxVE/raw/main/ct/homarr.sh)"

📝 Provide a clear and concise description of the issue.

Homarr fails to get past $STD yarn install consistently throwing build errors for cpu-feature tree-sitter tree-sitter-yaml tree-sitter-json and better-sqlite3.

This is happening on atleast Debian 11, Debian 12, Ubuntu 24.04

cpu-feature fails on unable to find compiler, whilst the other 4 fail on not being able to find make. Login onto the LXC, manually installing make and running $STD yarn install inside of /opt/homarr does not solve the issue but generates and altered issue

I can not run on default settings due to it being on a non default network bridge, but I can confirm that the box's internet connection is fine and works as expected.

I believe this is a script issue as it seems that some applications may be missing (like make), though I do not know yarn, node or even homarr well enough to know for myself.

⚙️ What settings are you using?

  • Default Settings
  • Advanced Settings

🖥️ Which Linux distribution are you using?

Debian 11

🔄 Steps to reproduce the issue.

Run bash -c "$(wget -qLO - https://github.com/community-scripts/ProxmoxVE/raw/main/ct/homarr.sh)"

Paste the full error output (if available).

⠴➤ YN0009: │ cpu-features@npm:0.0.9 couldn't be built successfully (exit code 1, logs can be found here: /tmp/xfs-233ed64b/build.log)
 ⠇➤ YN0009: │ tree-sitter-yaml@npm:0.5.0 couldn't be built successfully (exit code 1, logs can be found here: /tmp/xfs-be1e65e8/build.log)
 ⠏➤ YN0009: │ tree-sitter-json@npm:0.20.1 couldn't be built successfully (exit code 1, logs can be found here: /tmp/xfs-35a32ee7/build.log)
 ⠇➤ YN0009: │ tree-sitter@npm:0.20.4 couldn't be built successfully (exit code 1, logs can be found here: /tmp/xfs-78394c51/build.log)
 ⠋➤ YN0009: │ better-sqlite3@npm:8.7.0 couldn't be built successfully (exit code 1, logs can be found here: /tmp/xfs-801b55b5/build.log)
root@globemaster:/tmp# cat xfs-233ed64b/build.log 
# This file contains the result of Yarn building a package (cpu-features@npm:0.0.9)
# Script name: install

/opt/homarr/node_modules/buildcheck/lib/index.js:115
  throw new Error('Unable to detect compiler type');
  ^

Error: Unable to detect compiler type
    at BuildEnvironment.getKind (/opt/homarr/node_modules/buildcheck/lib/index.js:115:9)
    at BuildEnvironment.tryCompile (/opt/homarr/node_modules/buildcheck/lib/index.js:537:15)
    at BuildEnvironment.checkHeader (/opt/homarr/node_modules/buildcheck/lib/index.js:423:25)
    at Object.<anonymous> (/opt/homarr/node_modules/cpu-features/buildcheck.js:16:4)
    at Module._compile (node:internal/modules/cjs/loader:1469:14)
    at Module._extensions..js (node:internal/modules/cjs/loader:1548:10)
    at Module.load (node:internal/modules/cjs/loader:1288:32)
    at Module._load (node:internal/modules/cjs/loader:1104:12)
    at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:173:12)
    at node:internal/main/run_main_module:28:49

Node.js v20.18.1
root@globemaster:/tmp# cat xfs-35a32ee7/build.log 
# This file contains the result of Yarn building a package (tree-sitter-json@npm:0.20.1)
# Script code: node-gyp rebuild

gyp info it worked if it ends with ok
gyp info using node-gyp@10.0.1
gyp info using node@20.18.1 | linux | x64
gyp info find Python using Python version 3.12.3 found at "/usr/bin/python3"

gyp http GET https://nodejs.org/download/release/v20.18.1/node-v20.18.1-headers.tar.gz
gyp http 200 https://nodejs.org/download/release/v20.18.1/node-v20.18.1-headers.tar.gz
gyp http GET https://nodejs.org/download/release/v20.18.1/SHASUMS256.txt
gyp http 200 https://nodejs.org/download/release/v20.18.1/SHASUMS256.txt
gyp info spawn /usr/bin/python3
gyp info spawn args [
gyp info spawn args '/opt/homarr/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 '/opt/homarr/node_modules/tree-sitter-json/build/config.gypi',
gyp info spawn args '-I',
gyp info spawn args '/opt/homarr/node_modules/node-gyp/addon.gypi',
gyp info spawn args '-I',
gyp info spawn args '/root/.cache/node-gyp/20.18.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=/root/.cache/node-gyp/20.18.1',
gyp info spawn args '-Dnode_gyp_dir=/opt/homarr/node_modules/node-gyp',
gyp info spawn args '-Dnode_lib_file=/root/.cache/node-gyp/20.18.1/<(target_arch)/node.lib',
gyp info spawn args '-Dmodule_root_dir=/opt/homarr/node_modules/tree-sitter-json',
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 ERR! build error 
gyp ERR! stack Error: not found: make
gyp ERR! stack at getNotFoundError (/opt/homarr/node_modules/node-gyp/node_modules/which/lib/index.js:16:17)
gyp ERR! stack at which (/opt/homarr/node_modules/node-gyp/node_modules/which/lib/index.js:77:9)
gyp ERR! stack at async doWhich (/opt/homarr/node_modules/node-gyp/lib/build.js:112:22)
gyp ERR! stack at async loadConfigGypi (/opt/homarr/node_modules/node-gyp/lib/build.js:77:7)
gyp ERR! stack at async build (/opt/homarr/node_modules/node-gyp/lib/build.js:35:3)
gyp ERR! stack at async run (/opt/homarr/node_modules/node-gyp/bin/node-gyp.js:81:18)
gyp ERR! System Linux 6.8.12-5-pve
gyp ERR! command "/usr/bin/node" "/opt/homarr/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /opt/homarr/node_modules/tree-sitter-json
gyp ERR! node -v v20.18.1
gyp ERR! node-gyp -v v10.0.1
gyp ERR! not ok 

All Logs for the other 3 packages matter the later log. See below for log after make is manually installed:

# This file contains the result of Yarn building a package (better-sqlite3@npm:8.7.0)
# Script name: install

prebuild-install warn install Request timed out
gyp info it worked if it ends with ok
gyp info using node-gyp@10.0.1
gyp info using node@20.18.1 | linux | x64
gyp info find Python using Python version 3.12.3 found at "/usr/bin/python3"

gyp info spawn /usr/bin/python3
gyp info spawn args [
gyp info spawn args '/opt/homarr/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 '/opt/homarr/node_modules/better-sqlite3/build/config.gypi',
gyp info spawn args '-I',
gyp info spawn args '/opt/homarr/node_modules/node-gyp/addon.gypi',
gyp info spawn args '-I',
gyp info spawn args '/root/.cache/node-gyp/20.18.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=/root/.cache/node-gyp/20.18.1',
gyp info spawn args '-Dnode_gyp_dir=/opt/homarr/node_modules/node-gyp',
gyp info spawn args '-Dnode_lib_file=/root/.cache/node-gyp/20.18.1/<(target_arch)/node.lib',
gyp info spawn args '-Dmodule_root_dir=/opt/homarr/node_modules/better-sqlite3',
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' ]
make: Entering directory '/opt/homarr/node_modules/better-sqlite3/build'
  TOUCH ba23eeee118cd63e16015df367567cb043fed872.intermediate
  ACTION deps_sqlite3_gyp_locate_sqlite3_target_copy_builtin_sqlite3 ba23eeee118cd63e16015df367567cb043fed872.intermediate
  TOUCH Release/obj.target/deps/locate_sqlite3.stamp
  CC(target) Release/obj.target/sqlite3/gen/sqlite3/sqlite3.o
make: cc: No such file or directory
make: *** [deps/sqlite3.target.mk:198: Release/obj.target/sqlite3/gen/sqlite3/sqlite3.o] Error 127
rm ba23eeee118cd63e16015df367567cb043fed872.intermediate
make: Leaving directory '/opt/homarr/node_modules/better-sqlite3/build'
gyp ERR! build error 
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack at ChildProcess.<anonymous> (/opt/homarr/node_modules/node-gyp/lib/build.js:209:23)
gyp ERR! System Linux 6.8.12-5-pve
gyp ERR! command "/usr/bin/node" "/opt/homarr/node_modules/node-gyp/bin/node-gyp.js" "rebuild" "--release"
gyp ERR! cwd /opt/homarr/node_modules/better-sqlite3
gyp ERR! node -v v20.18.1
gyp ERR! node-gyp -v v10.0.1
gyp ERR! not ok 

🖼️ Additional context (optional).

No response

Originally created by @TomCloke on GitHub (Jan 3, 2025). ### ✅ Have you read and understood the above guidelines? yes ### 📜 What is the name of the script you are using? Homarr LXC ### 📂 What was the exact command used to execute the script? bash -c "$(wget -qLO - https://github.com/community-scripts/ProxmoxVE/raw/main/ct/homarr.sh)" ### 📝 Provide a clear and concise description of the issue. Homarr fails to get past `$STD yarn install` consistently throwing build errors for `cpu-feature` `tree-sitter` `tree-sitter-yaml` `tree-sitter-json` and `better-sqlite3`. This is happening on atleast Debian 11, Debian 12, Ubuntu 24.04 `cpu-feature` fails on unable to find compiler, whilst the other 4 fail on not being able to find `make`. Login onto the LXC, manually installing `make` and running `$STD yarn install` inside of `/opt/homarr` does not solve the issue but generates and altered issue I can not run on default settings due to it being on a non default network bridge, but I can confirm that the box's internet connection is fine and works as expected. I believe this is a script issue as it seems that some applications may be missing (like `make`), though I do not know yarn, node or even homarr well enough to know for myself. ### ⚙️ What settings are you using? - [ ] Default Settings - [X] Advanced Settings ### 🖥️ Which Linux distribution are you using? Debian 11 ### 🔄 Steps to reproduce the issue. Run `bash -c "$(wget -qLO - https://github.com/community-scripts/ProxmoxVE/raw/main/ct/homarr.sh)"` ### ❌ Paste the full error output (if available). ``` ⠴➤ YN0009: │ cpu-features@npm:0.0.9 couldn't be built successfully (exit code 1, logs can be found here: /tmp/xfs-233ed64b/build.log) ⠇➤ YN0009: │ tree-sitter-yaml@npm:0.5.0 couldn't be built successfully (exit code 1, logs can be found here: /tmp/xfs-be1e65e8/build.log) ⠏➤ YN0009: │ tree-sitter-json@npm:0.20.1 couldn't be built successfully (exit code 1, logs can be found here: /tmp/xfs-35a32ee7/build.log) ⠇➤ YN0009: │ tree-sitter@npm:0.20.4 couldn't be built successfully (exit code 1, logs can be found here: /tmp/xfs-78394c51/build.log) ⠋➤ YN0009: │ better-sqlite3@npm:8.7.0 couldn't be built successfully (exit code 1, logs can be found here: /tmp/xfs-801b55b5/build.log) ``` ``` root@globemaster:/tmp# cat xfs-233ed64b/build.log # This file contains the result of Yarn building a package (cpu-features@npm:0.0.9) # Script name: install /opt/homarr/node_modules/buildcheck/lib/index.js:115 throw new Error('Unable to detect compiler type'); ^ Error: Unable to detect compiler type at BuildEnvironment.getKind (/opt/homarr/node_modules/buildcheck/lib/index.js:115:9) at BuildEnvironment.tryCompile (/opt/homarr/node_modules/buildcheck/lib/index.js:537:15) at BuildEnvironment.checkHeader (/opt/homarr/node_modules/buildcheck/lib/index.js:423:25) at Object.<anonymous> (/opt/homarr/node_modules/cpu-features/buildcheck.js:16:4) at Module._compile (node:internal/modules/cjs/loader:1469:14) at Module._extensions..js (node:internal/modules/cjs/loader:1548:10) at Module.load (node:internal/modules/cjs/loader:1288:32) at Module._load (node:internal/modules/cjs/loader:1104:12) at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:173:12) at node:internal/main/run_main_module:28:49 Node.js v20.18.1 root@globemaster:/tmp# cat xfs-35a32ee7/build.log # This file contains the result of Yarn building a package (tree-sitter-json@npm:0.20.1) # Script code: node-gyp rebuild gyp info it worked if it ends with ok gyp info using node-gyp@10.0.1 gyp info using node@20.18.1 | linux | x64 gyp info find Python using Python version 3.12.3 found at "/usr/bin/python3" gyp http GET https://nodejs.org/download/release/v20.18.1/node-v20.18.1-headers.tar.gz gyp http 200 https://nodejs.org/download/release/v20.18.1/node-v20.18.1-headers.tar.gz gyp http GET https://nodejs.org/download/release/v20.18.1/SHASUMS256.txt gyp http 200 https://nodejs.org/download/release/v20.18.1/SHASUMS256.txt gyp info spawn /usr/bin/python3 gyp info spawn args [ gyp info spawn args '/opt/homarr/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 '/opt/homarr/node_modules/tree-sitter-json/build/config.gypi', gyp info spawn args '-I', gyp info spawn args '/opt/homarr/node_modules/node-gyp/addon.gypi', gyp info spawn args '-I', gyp info spawn args '/root/.cache/node-gyp/20.18.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=/root/.cache/node-gyp/20.18.1', gyp info spawn args '-Dnode_gyp_dir=/opt/homarr/node_modules/node-gyp', gyp info spawn args '-Dnode_lib_file=/root/.cache/node-gyp/20.18.1/<(target_arch)/node.lib', gyp info spawn args '-Dmodule_root_dir=/opt/homarr/node_modules/tree-sitter-json', 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 ERR! build error gyp ERR! stack Error: not found: make gyp ERR! stack at getNotFoundError (/opt/homarr/node_modules/node-gyp/node_modules/which/lib/index.js:16:17) gyp ERR! stack at which (/opt/homarr/node_modules/node-gyp/node_modules/which/lib/index.js:77:9) gyp ERR! stack at async doWhich (/opt/homarr/node_modules/node-gyp/lib/build.js:112:22) gyp ERR! stack at async loadConfigGypi (/opt/homarr/node_modules/node-gyp/lib/build.js:77:7) gyp ERR! stack at async build (/opt/homarr/node_modules/node-gyp/lib/build.js:35:3) gyp ERR! stack at async run (/opt/homarr/node_modules/node-gyp/bin/node-gyp.js:81:18) gyp ERR! System Linux 6.8.12-5-pve gyp ERR! command "/usr/bin/node" "/opt/homarr/node_modules/node-gyp/bin/node-gyp.js" "rebuild" gyp ERR! cwd /opt/homarr/node_modules/tree-sitter-json gyp ERR! node -v v20.18.1 gyp ERR! node-gyp -v v10.0.1 gyp ERR! not ok ``` All Logs for the other 3 packages matter the later log. See below for log after `make` is manually installed: ``` # This file contains the result of Yarn building a package (better-sqlite3@npm:8.7.0) # Script name: install prebuild-install warn install Request timed out gyp info it worked if it ends with ok gyp info using node-gyp@10.0.1 gyp info using node@20.18.1 | linux | x64 gyp info find Python using Python version 3.12.3 found at "/usr/bin/python3" gyp info spawn /usr/bin/python3 gyp info spawn args [ gyp info spawn args '/opt/homarr/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 '/opt/homarr/node_modules/better-sqlite3/build/config.gypi', gyp info spawn args '-I', gyp info spawn args '/opt/homarr/node_modules/node-gyp/addon.gypi', gyp info spawn args '-I', gyp info spawn args '/root/.cache/node-gyp/20.18.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=/root/.cache/node-gyp/20.18.1', gyp info spawn args '-Dnode_gyp_dir=/opt/homarr/node_modules/node-gyp', gyp info spawn args '-Dnode_lib_file=/root/.cache/node-gyp/20.18.1/<(target_arch)/node.lib', gyp info spawn args '-Dmodule_root_dir=/opt/homarr/node_modules/better-sqlite3', 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' ] make: Entering directory '/opt/homarr/node_modules/better-sqlite3/build' TOUCH ba23eeee118cd63e16015df367567cb043fed872.intermediate ACTION deps_sqlite3_gyp_locate_sqlite3_target_copy_builtin_sqlite3 ba23eeee118cd63e16015df367567cb043fed872.intermediate TOUCH Release/obj.target/deps/locate_sqlite3.stamp CC(target) Release/obj.target/sqlite3/gen/sqlite3/sqlite3.o make: cc: No such file or directory make: *** [deps/sqlite3.target.mk:198: Release/obj.target/sqlite3/gen/sqlite3/sqlite3.o] Error 127 rm ba23eeee118cd63e16015df367567cb043fed872.intermediate make: Leaving directory '/opt/homarr/node_modules/better-sqlite3/build' gyp ERR! build error gyp ERR! stack Error: `make` failed with exit code: 2 gyp ERR! stack at ChildProcess.<anonymous> (/opt/homarr/node_modules/node-gyp/lib/build.js:209:23) gyp ERR! System Linux 6.8.12-5-pve gyp ERR! command "/usr/bin/node" "/opt/homarr/node_modules/node-gyp/bin/node-gyp.js" "rebuild" "--release" gyp ERR! cwd /opt/homarr/node_modules/better-sqlite3 gyp ERR! node -v v20.18.1 gyp ERR! node-gyp -v v10.0.1 gyp ERR! not ok ``` ### 🖼️ Additional context (optional). _No response_
OVERLORD added the not a script issue label 2026-02-04 17:29:08 +03:00
Author
Owner

@michelroegl-brunner commented on GitHub (Jan 3, 2025):

I can not reproduce the error with debain 12.

@michelroegl-brunner commented on GitHub (Jan 3, 2025): I can not reproduce the error with debain 12.
Author
Owner

@TomCloke commented on GitHub (Jan 3, 2025):

Solved this issue on a partially built LXC carrying on from when the script fails. It is due to not having make and g++ installed on the base LXC OS, which my templates do not have. I have managed to temporarily solve this locally by logging onto the box mid script build, waiting for apt to unlock and installing make and g++ whilst node is install yarn.

I do not know much about LXC templates, but it seems as if yours has those or build-essentials installed on the template as looking over the scripts for homarr, I can not seem them being get by a script, and they are requirements for building homarr as source code as they are requirements for node-gyp

@TomCloke commented on GitHub (Jan 3, 2025): Solved this issue on a partially built LXC carrying on from when the script fails. It is due to not having `make` and `g++` installed on the base LXC OS, which my templates do not have. I have managed to temporarily solve this locally by logging onto the box mid script build, waiting for `apt` to unlock and installing `make` and `g++` whilst node is install yarn. I do not know much about LXC templates, but it seems as if yours has those or `build-essentials` installed on the template as looking over the scripts for homarr, I can not seem them being get by a script, and they are requirements for building homarr as source code as they are requirements for [node-gyp](https://github.com/nodejs/node-gyp?tab=readme-ov-file#installation)
Author
Owner

@TomCloke commented on GitHub (Jan 3, 2025):

sorry miss click

@TomCloke commented on GitHub (Jan 3, 2025): sorry miss click
Author
Owner

@MickLesk commented on GitHub (Jan 3, 2025):

check again in 10-15min

@MickLesk commented on GitHub (Jan 3, 2025): check again in 10-15min
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/ProxmoxVE#257