node-chakracore icon indicating copy to clipboard operation
node-chakracore copied to clipboard

Problems while building against node-chakracore master

Open gabrielschulhof opened this issue 7 years ago • 0 comments

When building an addon against a version of Node.js compiled from source, the following steps are necessary:

export npm_config_nodedir=<absolute path to the Node.js repo root>
export PATH=${npm_config_nodedir}:${PATH}
alias npm=${npm_config_nodedir}/deps/npm/bin/npm-cli.js

After these steps, it is possible to run npm install, npm test, etc., and the headers used for compilation and the node binary used for execution will be the ones residing at ${npm_config_nodedir}.

It is not possible to use the node-chakracore repo root in such a way because of the followings:

  1. out/common.gypi is not created. This can be solved with ln -s ../common.gypi out from the node-chakracore repo root.
  2. For some reason, the following directories are added to the include search path (/home/nix/node/node-chakracore is the repo root):
    -I/home/nix/node/node-addon-api
    -I/home/nix/node/node-chakracore/out/include/node
    -I/home/nix/node/node-chakracore/out/src
    -I/home/nix/node/node-chakracore/out/deps/openssl/config
    -I/home/nix/node/node-chakracore/out/deps/openssl/openssl/include
    -I/home/nix/node/node-chakracore/out/deps/uv/include
    -I/home/nix/node/node-chakracore/out/deps/zlib
    -I/home/nix/node/node-chakracore/out/deps/chakrashim/include
    
    The directory out should not be part of the path, unless the required directories really are copied/linked to those paths. ln -s ../src out fixes this problem for the Node.js headers.

gabrielschulhof avatar Sep 16 '18 15:09 gabrielschulhof