hyperboria / bugs

Peer-to-peer IPv6 networking, secure and near-zero-conf.
153 stars 17 forks source link

cjdns-v22: build error with default nodejs download version 6.9.1 #206

Open yojoe opened 1 year ago

yojoe commented 1 year ago

I run into a build error on a recent Debian based system (Debian 11, Ubuntu 22.04, ...):

If you don't install nodejs from the distribution, the cjdns node_build/node.sh script will download nodejs v6.9.1 by default.

However, using nodejs v6.9.1 will cause a syntax error in the current cjdns-v22 node_build/make.js:

error: failed to run custom build command for `cjdns_sys v0.1.0 (/home/user/cjdns-v22/rust/cjdns_sys)`

Caused by:
  process didn't exit successfully: `/home/user/cjdns-v22/target/release/build/cjdns_sys-5269339bae74bddf/build-script-build` (exit status: 1)
  --- stdout
  Generating rtypes
  Generating rtypes done
  Generating rffi
  Generating rffi done
  ### Installing node.js (you can bypass this step by manually installing node.js v4.6.2 or newer)

  ==> Downloading http://nodejs.org/dist/v6.9.1/node-v6.9.1-linux-x64.tar.gz with wget... DONE!
  ==> Verifying the checksum of the downloaded archive... DONE!
  ==> Extracting the downloaded archive... DONE!

  --- stderr
  /home/user/cjdns-v22/node_build/make.js:135
          );
          ^
  SyntaxError: Unexpected token )
      at Object.exports.runInThisContext (vm.js:76:16)
      at Module._compile (module.js:542:28)
      at Object.Module._extensions..js (module.js:579:10)
      at Module.load (module.js:487:32)
      at tryModuleLoad (module.js:446:12)
      at Function.Module._load (module.js:438:3)
      at Module.runMain (module.js:604:10)
      at run (bootstrap_node.js:394:7)
      at startup (bootstrap_node.js:149:9)
      at bootstrap_node.js:509:3
  Error: Failed to build cjdns

With a more recent nodejs versions (e.g. v12.22.12) from Debian 11, this error doesn't happen.