mapbox / mapbox/abaculus

Fails to build for Node v10.14.1

Open
#40 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
JavaScript
Stars
128
Forks
33
PR merge metrics
No merged PRs in 30d

Description

Tried to move my project to Node v10 and abaculus barks:

```
$ npm i @mapbox/abaculus

> mapnik@3.7.2 install /tmp/mapnik/node_modules/@mapbox/abaculus/node_modules/mapnik
> node-pre-gyp install --fallback-to-build

node-pre-gyp ERR! Tried to download(403): https://mapbox-node-binary.s3.amazonaws.com/mapnik/v3.7.2/node-v64-linux-x64-Release.tar.gz
node-pre-gyp ERR! Pre-built binaries not found for mapnik@3.7.2 and node@10.14.1 (node-v64 ABI, glibc) (falling back to source compile with node-gyp)
node-pre-gyp ERR! Tried to download(undefined): https://mapbox-node-binary.s3.amazonaws.com/mapnik/v3.7.2/node-v64-linux-x64-Release.tar.gz
node-pre-gyp ERR! Pre-built binaries not found for mapnik@3.7.2 and node@10.14.1 (node-v64 ABI, glibc) (falling back to source compile with node-gyp)
make: Entering directory '/tmp/mapnik/node_modules/@mapbox/abaculus/node_modules/mapnik/build'

[...snip building...]

../../nan/nan_object_wrap.h:66:61: required from here
/home/flc/.node-gyp/10.14.1/include/node/v8.h:9502:16: warning: cast between incompatible function types from ‘v8::WeakCallbackInfo::Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo&)’} to ‘Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo&)’} [-Wcast-function-type]
CXX(target) Release/obj.target/mapnik/src/node_mapnik.o
sed: can't read ./Release/.deps/Release/obj.target/mapnik/src/mapnik_logger.o.d.raw: No such file or directory
make: *** [mapnik.target.mk:237: Release/obj.target/mapnik/src/mapnik_logger.o] Error 2
make: Leaving directory '/tmp/mapnik/node_modules/@mapbox/abaculus/node_modules/mapnik/build'
gyp ERR! build error
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack at ChildProcess.onExit (/home/flc/.nvm/versions/node/v10.14.1/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:262:23)
gyp ERR! stack at ChildProcess.emit (events.js:182:13)
gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:240:12)
gyp ERR! System Linux 4.19.4-arch1-1-ARCH
gyp ERR! command "/home/flc/.nvm/versions/node/v10.14.1/bin/node" "/home/flc/.nvm/versions/node/v10.14.1/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "build" "--fallback-to-build" "--module=/tmp/mapnik/node_modules/@mapbox/abaculus/node_modules/mapnik/lib/binding/mapnik.node" "--module_name=mapnik" "--module_path=/tmp/mapnik/node_modules/@mapbox/abaculus/node_modules/mapnik/lib/binding"
gyp ERR! cwd /tmp/mapnik/node_modules/@mapbox/abaculus/node_modules/mapnik
gyp ERR! node -v v10.14.1
gyp ERR! node-gyp -v v3.8.0
gyp ERR! not ok
node-pre-gyp ERR! build error
node-pre-gyp ERR! stack Error: Failed to execute '/home/flc/.nvm/versions/node/v10.14.1/bin/node /home/flc/.nvm/versions/node/v10.14.1/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js build --fallback-to-build --module=/tmp/mapnik/node_modules/@mapbox/abaculus/node_modules/mapnik/lib/binding/mapnik.node --module_name=mapnik --module_path=/tmp/mapnik/node_modules/@mapbox/abaculus/node_modules/mapnik/lib/binding' (1)
```

I see the README.md has the `build failing` icon, so maybe you were already aware.

Also I tried installing mapnik under Node v10 and went without problems.

Any ideas on how to fix this?

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Reproduce `npm i @mapbox/abaculus` with Node v10.14.1 and inspect the `mapnik` install output, especially the node-pre-gyp fallback and node-gyp failure. Compare this with the reported successful direct mapnik installation; done means the abaculus dependency installs successfully on Node v10 without the logged build error.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript, node.js
Domain
build-system
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.