Node Build error with GSO on Debian 11

GVM versions

gsad: (‘gsad --version’): not installed yet
gvmd: (‘gvmd --version’): 21.4.4
openvas-scanner: (‘openvas --version’, in older GVM versions < 11: ‘openvassd --version’)
gvm-libs:

Environment

Operating system: Debian Linux
Kernel: Linux debian-gvm 5.10.0-7-amd64 #1 SMP Debian 5.10.40-1 (2021-05-28) x86_64 GNU/Linux
Installation method / source: Installation docs: Building GVM 21.04 — Greenbone Documentation documentation

I’m at the CMAKE stage of the build process:

mkdir -p $BUILD_DIR/gsa && cd $BUILD_DIR/gsa

cmake $SOURCE_DIR/gsa-$GSA_VERSION \
  -DCMAKE_INSTALL_PREFIX=$INSTALL_PREFIX \
  -DCMAKE_BUILD_TYPE=Release \
  -DSYSCONFDIR=/etc \
  -DLOCALSTATEDIR=/var \
  -DGVM_RUN_DIR=/run/gvm \
  -DGSAD_PID_DIR=/run/gvm \
  -DLOGROTATE_DIR=/etc/logrotate.d

make -j$(nproc)

When I try to cmake step I get the following error:


internal/modules/cjs/loader.js:905
  throw err;
  ^

Error: Cannot find module '@babel/runtime/helpers/interopRequireWildcard'
Require stack:
- /usr/share/nodejs/yarn/lib/cli/index.js
- /usr/share/nodejs/yarn/bin/yarn.js
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:902:15)
    at Function.Module._load (internal/modules/cjs/loader.js:746:27)
    at Module.require (internal/modules/cjs/loader.js:974:19)
    at require (internal/modules/cjs/helpers.js:93:18)
    at Object.<anonymous> (/usr/share/nodejs/yarn/lib/cli/index.js:3:31)
    at Module._compile (internal/modules/cjs/loader.js:1085:14)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1114:10)
    at Module.load (internal/modules/cjs/loader.js:950:32)
    at Function.Module._load (internal/modules/cjs/loader.js:790:12)
    at Module.require (internal/modules/cjs/loader.js:974:19) {
  code: 'MODULE_NOT_FOUND',
  requireStack: [
    '/usr/share/nodejs/yarn/lib/cli/index.js',
    '/usr/share/nodejs/yarn/bin/yarn.js'
  ]
}

I have tried:

npm install @babel/runtime@latest

and

npm install @babel/core@latest

I get errors:

npm ERR! Object for dependency "@babel/core" is empty.
npm ERR! Something went wrong. Regenerate the package-lock.json with "npm install".
npm ERR! If using a shrinkwrap, regenerate with "npm shrinkwrap".

I have not found any way to complete the cmake of GSA due to this NPM package problem.
Does anyone have experience with this problem and how to build GSA on Debian?

You must not try to update some dependency manually via npm install foo. This will never work. It is very likely that you switched the branch of the sources and this creates sometimes issues with the already installed node modules. Just remove the node_modules directory in the gsa/gsa directory.

1 Like

Thanks. The believe cause was that yarnpkg did not install a current version from the enabled repositories. I installed yarn as described below and the build was able to succeed.

curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
sudo apt update && sudo apt install --no-install-recommends yarn -y

Furthermore, I would also like to ask a question since I believe I’m not allowed to ask in the read-only “News” category. I recently attended a web-conference with Rapid7, about their new product vulnerability scanner. The output seemed a lot like GVM and they aknowledged that it was build from Greenbone GVM. I’m just curious that Greenbone has partnership with Rapid7?

Are you trying to build from the latest releases or are you using git branches? As far as I can see the yarn and nodejs packages shipped with Debian should work and it should not be required to install newer versions from external apt repositories.

1 Like

I’m following the install manual directly:

https://greenbone.github.io/docs/gvm-21.04/index.html#installing-common-build-dependencies