sass / node-sass

:rainbow: Node.js bindings to libsass
https://npmjs.org/package/node-sass
MIT License
8.5k stars 1.33k forks source link

[OpenBSD] npm ERR! Build failed with error code: 1 #3372

Open joyboy67 opened 1 year ago

joyboy67 commented 1 year ago

Hello I'm trying to install node-sass on OpenBSD but the installation is failing

node:internal/modules/cjs/loader:1338
  return process.dlopen(module, path.toNamespacedPath(filename));
                 ^

Error: File not an ELF object
    at Module._extensions..node (node:internal/modules/cjs/loader:1338:18)
    at Module.load (node:internal/modules/cjs/loader:1117:32)
    at Module._load (node:internal/modules/cjs/loader:958:12)
    at Module.require (node:internal/modules/cjs/loader:1141:19)
    at require (node:internal/modules/cjs/helpers:110:18)
    at module.exports (/home/cloud/node_modules/node-sass/lib/binding.js:19:10)
    at Object.<anonymous> (/home/cloud/node_modules/node-sass/lib/index.js:13:35)
    at Module._compile (node:internal/modules/cjs/loader:1254:14)
    at Module._extensions..js (node:internal/modules/cjs/loader:1308:10)
    at Module.load (node:internal/modules/cjs/loader:1117:32) {
  code: 'ERR_DLOPEN_FAILED'
}

Node.js v18.15.0
/home/computer
└── node-sass@9.0.0 extraneous

Installation errors :

1518 verbose stack Error: command failed
1518 verbose stack     at ChildProcess.<anonymous> (/usr/local/lib/node_modules/npm/node_modules/@npmcli/promise-spawn/
lib/index.js:53:27)
1518 verbose stack     at ChildProcess.emit (node:events:513:28)
1518 verbose stack     at maybeClose (node:internal/child_process:1091:16)
1518 verbose stack     at ChildProcess._handle.onexit (node:internal/child_process:302:5)
1519 verbose pkgid node-sass@9.0.0
1520 verbose cwd /home/cloud
1521 verbose OpenBSD 7.3
1522 verbose node v18.15.0
1523 verbose npm  v9.7.1
1524 error code 1
1525 error path /usr/local/lib/node_modules/node-sass
1526 error command failed
1527 error command sh -c node scripts/build.js
1528 error Binary found at /usr/local/lib/node_modules/node-sass/vendor/openbsd-x64-108/binding.node
1528 error Testing binary
1528 error Binary has a problem: Error: File not an ELF object
1528 error     at Module._extensions..node (node:internal/modules/cjs/loader:1338:18)
1528 error     at Module.load (node:internal/modules/cjs/loader:1117:32)
1528 error     at Module._load (node:internal/modules/cjs/loader:958:12)
1528 error     at Module.require (node:internal/modules/cjs/loader:1141:19)
1528 error     at require (node:internal/modules/cjs/helpers:110:18)
1528 error     at module.exports (/usr/local/lib/node_modules/node-sass/lib/binding.js:19:10)
1528 error     at Object.<anonymous> (/usr/local/lib/node_modules/node-sass/lib/index.js:13:35)
1528 error     at Module._compile (node:internal/modules/cjs/loader:1254:14)
1528 error     at Module._extensions..js (node:internal/modules/cjs/loader:1308:10)
1528 error     at Module.load (node:internal/modules/cjs/loader:1117:32) {
1528 error   code: 'ERR_DLOPEN_FAILED'
1528 error }
1528 error Building the binary locally
1528 error Building: /usr/local/bin/node /usr/local/lib/node_modules/node-sass/node_modules/node-gyp/bin/node-gyp.js rebuild --verbose --libsass_ext= --libsass_cflags= --libsass_ldflags= --libsass_library=
build --verbose --libsass_ext= --libsass_cflags= --libsass_ldflags= --libsass_library=
1528 error gmake: Entering directory '/usr/local/lib/node_modules/node-sass/build'
1528 error   g++ -o Release/obj.target/libsass/src/libsass/src/ast.o ../src/libsass/src/ast.cpp '-DNODE_GYP_MODULE_NAME=libsass' '-DUSING_UV_SHARED=1' '-DUSING_V8_SHARED=1' '-DV8_DEPRECATION_WARNINGS=1' '-DV8_DEPRECATION_WARNINGS' '-DV8_IMMINENT_DEPRECATION_WARNINGS' '-D_GLIBCXX_USE_CXX11_ABI=1' '-D_LARGEFILE_SOURCE' '-D_FILE_OFFSET_BITS=64' '-D__STDC_FORMAT_MACROS' '-DLIBSASS_VERSION="3.5.5"' -I/root/.cache/node-gyp/18.15.0/include/node -I/root/.cache/node-gyp/18.15.0/src -I/root/.cache/node-gyp/18.15.0/deps/openssl/config -I/root/.cache/node-gyp/18.15.0/deps/openssl/openssl/include -I/root/.cache/node-gyp/18.15.0/deps/uv/include -I/root/.cache/node-gyp/18.15.0/deps/zlib -I/root/.cache/node-gyp/18.15.0/deps/v8/include -I../src/libsass/include  -fPIC -pthread -Wall -Wextra -Wno-unused-parameter -m64 -I/usr/local/include -O3 -fno-omit-frame-pointer -std=gnu++17 -std=c++0x -fexceptions -frtti -MMD -MF ./Release/.deps/Release/obj.target/libsass/src/libsass/src/ast.o.d.raw   -c
1528 error gmake: Leaving directory '/usr/local/lib/node_modules/node-sass/build'
1529 error gyp info it worked if it ends with ok
1529 error gyp verb cli [
1529 error gyp verb cli   '/usr/local/bin/node',
1529 error gyp verb cli   '/usr/local/lib/node_modules/node-sass/node_modules/node-gyp/bin/node-gyp.js',
1529 error gyp verb cli   'rebuild',
1529 error gyp verb cli   '--verbose',
1529 error gyp verb cli   '--libsass_ext=',
1529 error gyp verb cli   '--libsass_cflags=',
1529 error gyp verb cli   '--libsass_ldflags=',
1529 error gyp verb cli   '--libsass_library='
1529 error gyp verb cli ]
529 error gyp info using node-gyp@8.4.1
1529 error gyp info using node@18.15.0 | openbsd | x64
1529 error gyp verb command rebuild []
1529 error gyp verb command clean []
1529 error gyp verb clean removing "build" directory
1529 error gyp verb command configure []
1529 error gyp verb find Python Python is not set from command line or npm configuration
1529 error gyp verb find Python Python is not set from environment variable PYTHON
1529 error gyp verb find Python checking if "python3" can be used
1529 error gyp verb find Python - executing "python3" to get executable path
1529 error gyp verb find Python - executable path is "/usr/local/bin/python3"
1529 error gyp verb find Python - executing "/usr/local/bin/python3" to get version
1529 error gyp verb find Python - version is "3.10.12"
1529 error gyp info find Python using Python version 3.10.12 found at "/usr/local/bin/python3"
1529 error gyp verb get node dir no --target version specified, falling back to host node version: 18.15.0
1529 error gyp verb command install [ '18.15.0' ]
1529 error gyp verb install input version string "18.15.0"
1529 error gyp verb install installing version: 18.15.0
1529 error gyp verb install --ensure was passed, so won't reinstall if already installed
1529 error gyp verb install version not already installed, continuing with install 18.15.0
1529 error gyp verb ensuring nodedir is created /root/.cache/node-gyp/18.15.0
1529 error gyp verb created nodedir /root/.cache
1529 error gyp http GET https://nodejs.org/download/release/v18.15.0/node-v18.15.0-headers.tar.gz
1529 error gyp http 200 https://nodejs.org/download/release/v18.15.0/node-v18.15.0-headers.tar.gz
1529 error gyp verb extracted file from tarball node-v18.15.0/include/node/v8-locker.h
1529 error gyp verb extracted file from tarball node-v18.15.0/include/node/zconf.h

...

npm ERR! gyp verb command build []
npm ERR! gyp verb build type Release
npm ERR! gyp verb architecture x64
npm ERR! gyp verb node dev dir /root/.cache/node-gyp/18.15.0
npm ERR! gyp verb `which` succeeded for `gmake` /usr/local/bin/gmake
npm ERR! gyp info spawn gmake
npm ERR! gyp info spawn args [ 'V=1', 'BUILDTYPE=Release', '-C', 'build' ]
npm ERR! gmake: g++: No such file or directory
npm ERR! gmake: *** [src/libsass.target.mk:160: Release/obj.target/libsass/src/libsass/src/ast.o] Error 127
npm ERR! gyp ERR! build error 
npm ERR! gyp ERR! stack Error: `gmake` failed with exit code: 2
npm ERR! gyp ERR! stack     at ChildProcess.onExit (/usr/local/lib/node_modules/node-sass/node_modules/node-gyp/lib/build.js:194:23)
npm ERR! gyp ERR! stack     at ChildProcess.emit (node:events:513:28)
npm ERR! gyp ERR! stack     at ChildProcess._handle.onexit (node:internal/child_process:291:12)
npm ERR! gyp ERR! System OpenBSD 7.3
npm ERR! gyp ERR! command "/usr/local/bin/node" "/usr/local/lib/node_modules/node-sass/node_modules/node-gyp/bin/node-gyp.js" "rebuild" "--verbose" "--libsass_ext=" "--libsass_cflags=" "--libsass_ldflags=" "--libsass_library="
npm ERR! gyp ERR! cwd /usr/local/lib/node_modules/node-sass
npm ERR! gyp ERR! node -v v18.15.0
npm ERR! gyp ERR! node-gyp -v v8.4.1
npm ERR! gyp ERR! not ok 
npm ERR! Build failed with error code: 1
saper commented 1 month ago

Since we do not provide pre-compiled binaries for OpenBSD, you need to have a modern C++ compiler installed, see https://github.com/sass/node-sass/issues/2840 for more discussion.