Hi all, I am trying to build fleet using the steps...
# fleet
s
Hi all, I am trying to build fleet using the steps given at https://github.com/fleetdm/fleet/blob/main/docs/Contributing/Building-Fleet.md#quickstart. and am facing the following compile error:
Copy code
make[1]: *** [binding.target.mk:126: Release/obj.target/binding/src/binding.o] Error 1
make[1]: Leaving directory '/root/fleet/fleet/node_modules/node-sass/build'
gyp ERR! build error 
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit (/root/fleet/fleet/node_modules/node-gyp/lib/build.js:194:23)
gyp ERR! stack     at ChildProcess.emit (node:events:518:28)
gyp ERR! stack     at ChildProcess._handle.onexit (node:internal/child_process:293:12)
gyp ERR! System Linux 6.1.0-29-amd64
gyp ERR! command "/root/.nvm/versions/node/v20.18.1/bin/node" "/root/fleet/fleet/node_modules/node-gyp/bin/node-gyp.js" "rebuild" "--verbose" "--libsass_ext=" "--libsass_cflags=" "--libsass_ldflags=" "--libsass_library="
gyp ERR! cwd /root/fleet/fleet/node_modules/node-sass
gyp ERR! node -v v20.18.1
These were the warning I got while linking dependencies:
Copy code
root@localhost:~/fleet/fleet# make deps
yarn
yarn install v1.22.22
[1/4] Resolving packages...
[2/4] Fetching packages...
[3/4] Linking dependencies...
warning "react-entity-getter > babel-loader@6.4.1" has incorrect peer dependency "webpack@1 || 2 || ^2.1.0-beta || ^2.2.0-rc".
warning " > @storybook/react@6.5.0-alpha.48" has unmet peer dependency "jest-specific-snapshot@^4.0.0".
warning " > @storybook/react@6.5.0-alpha.48" has unmet peer dependency "require-from-string@^2.0.2".
warning " > @testing-library/user-event@14.4.3" has unmet peer dependency "@testing-library/dom@>=7.21.4".
warning " > eslint-config-airbnb@15.1.0" has incorrect peer dependency "eslint@^3.19.0 || ^4.3.0".
warning "eslint-config-airbnb > eslint-config-airbnb-base@11.3.2" has incorrect peer dependency "eslint@^3.19.0 || ^4.5.0".
warning " > eslint-plugin-jsx-a11y@5.1.1" has incorrect peer dependency "eslint@^2.10.2 || ^3 || ^4".
warning " > sass-loader@6.0.7" has incorrect peer dependency "node-sass@^4.0.0".
warning " > tslint-eslint-rules@5.4.0" has incorrect peer dependency "typescript@^2.2.0 || ^3.0.0".
[4/4] Building fresh packages...
[-/8] ⠁ waiting...
[2/8] ⠁ node-sass
[6/8] ⠂ esbuild
[-/8] ⠂ waiting...
error /root/fleet/fleet/node_modules/node-sass: Command failed.
I have also attached the full log in the thread below
fleet_compile_error.txt
m
Hi Smaran, I'm going to try and reproduce on my end. I'll let you know what I find. What OS are you running into these errors on?
Hi @Smaran Jawalkar what branch are you trying to build?
k
Looking through the log I see >
Copy code
../../nan/nan_callbacks.h:55:23: error: 'AccessorSignature' is not a member of 'v8'
@Smaran Jawalkar What version of node are you using?
Oh I see it,
v20.18.1
s
node-sass
is no longer a dependency of fleet -- we replaced it with
sass
in 4.64.0, due to issues like this. Are you sure you're on the latest codebase?
If you need to use an older Fleet version for some reason, you can apply the fix yourself by replacing
"node-sass": "8.0.0"
with
"sass": "1.83.4"
in your package.json file
s
Thank you so much, changing to "sass" worked! yes i am using an older version of fleet. However I am facing this issue in the make generate step:
Copy code
root@localhost:~/fleet/fleet# make generate
git clean -fx assets
mkdir -p build/linux
mkdir -p build/darwin
NODE_ENV=production webpack --progress --colors
10% building 0/0 modules 0 activeError: error:0308010C:digital envelope routines::unsupported
    at new Hash (node:internal/crypto/hash:79:19)
    at Object.createHash (node:crypto:139:10)
    at module.exports (/root/fleet/fleet/node_modules/webpack/lib/util/createHash.js:135:53)
    at NormalModule._initBuildHash (/root/fleet/fleet/node_modules/webpack/lib/NormalModule.js:417:16)
    at handleParseError (/root/fleet/fleet/node_modules/webpack/lib/NormalModule.js:471:10)
    at /root/fleet/fleet/node_modules/webpack/lib/NormalModule.js:503:5
    at /root/fleet/fleet/node_modules/webpack/lib/NormalModule.js:358:12
    at /root/fleet/fleet/node_modules/loader-runner/lib/LoaderRunner.js:373:3
    at iterateNormalLoaders (/root/fleet/fleet/node_modules/loader-runner/lib/LoaderRunner.js:214:10)
    at iterateNormalLoaders (/root/fleet/fleet/node_modules/loader-runner/lib/LoaderRunner.js:221:10)
    at /root/fleet/fleet/node_modules/loader-runner/lib/LoaderRunner.js:236:3
    at runSyncOrAsync (/root/fleet/fleet/node_modules/loader-runner/lib/LoaderRunner.js:130:11)
    at iterateNormalLoaders (/root/fleet/fleet/node_modules/loader-runner/lib/LoaderRunner.js:232:2)
    at Array.<anonymous> (/root/fleet/fleet/node_modules/loader-runner/lib/LoaderRunner.js:205:4)
    at Storage.finished (/root/fleet/fleet/node_modules/enhanced-resolve/lib/CachedInputFileSystem.js:55:16)
    at /root/fleet/fleet/node_modules/enhanced-resolve/lib/CachedInputFileSystem.js:91:9
    at /root/fleet/fleet/node_modules/graceful-fs/graceful-fs.js:123:16
    at FSReqCallback.readFileAfterClose [as oncomplete] (node:internal/fs/read/context:68:3)
10% building 0/1 modules 1 active ...r/dist/index.js??ref--6!/root/fleet/fleet/node_modules/babel-loader/lib/index.js??ref--9!/root/fleet/fleet/frontend/index.jsx/root/fleet/fleet/node_modules/loader-runner/lib/LoaderRunner.js:106
			throw new Error("callback(): The callback was already called.");
			      ^

Error: callback(): The callback was already called.
    at context.callback (/root/fleet/fleet/node_modules/loader-runner/lib/LoaderRunner.js:106:10)
    at Object.ESBuildLoader (/root/fleet/fleet/node_modules/esbuild-loader/dist/loader.js:62:9)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)

Node.js v20.18.1
make: *** [Makefile:158: generate-js] Error 1
root@localhost:~/fleet/fleet# node:internal/process/promises:391
    triggerUncaughtException(err, true /* fromPromise */);
    ^

RpcIpcMessagePortClosedError: Cannot send the message - the message port has been closed for the process 125820.
    at /root/fleet/fleet/node_modules/fork-ts-checker-webpack-plugin/lib/rpc/rpc-ipc/RpcIpcMessagePort.js:47:47
    at process.processTicksAndRejections (node:internal/process/task_queues:81:21) {
  code: undefined,
  signal: undefined
}

Node.js v20.18.1
s
hm, depending on how old the version is, you may need to drop your node version down to v18
s
Thanks I'll try this!