mapbox / mapbox/node-fontnik

Cant install on 64bit Linux with node 12.7.0

Open
#159 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

jira-sync-complete
Dominant language
C++
Stars
248
Forks
67
PR merge metrics
No merged PRs in 30d

Description

Pre-built binaries for node 12.7.0 are not found, and it then fails to compiled on 64 bit linux. Compiler output as follow:

` TOUCH Release/obj.target/action_before_build.stamp
ACTION binding_gyp_action_before_build2_target_run_protoc_glyphs Release/obj/gen/glyphs.pb.cc
TOUCH Release/obj.target/action_before_build2.stamp
CXX(target) Release/obj.target/fontnik/src/node_fontnik.o
In file included from /home/linuxbrew/.linuxbrew/lib/node_modules/fontnik/node_modules/nan/nan_new.h:189:0,
from /home/linuxbrew/.linuxbrew/lib/node_modules/fontnik/node_modules/nan/nan.h:203,
from ../src/glyphs.hpp:5,
from ../src/node_fontnik.cpp:2:
/home/linuxbrew/.linuxbrew/lib/node_modules/fontnik/node_modules/nan/nan_implementation_12_inl.h: In static member function 'static Nan::imp::FactoryBase::return_t Nan::imp::Factory::New(Nan::FunctionCallback, v8::Local)':
/home/linuxbrew/.linuxbrew/lib/node_modules/fontnik/node_modules/nan/nan_implementation_12_inl.h:105:32: error: no matching function for call to 'v8::Function::New(v8::Isolate*&, void (&)(const v8::FunctionCallbackInfo&), v8::Local&)'
, obj));
^
In file included from /home/tom/.node-gyp/12.7.0/include/node/node.h:63:0,
from /home/linuxbrew/.linuxbrew/lib/node_modules/fontnik/node_modules/nan/nan.h:51,
from ../src/glyphs.hpp:5,
from ../src/node_fontnik.cpp:2:
/home/tom/.node-gyp/12.7.0/include/node/v8.h:4132:31: note: candidate: static v8::MaybeLocal v8::Function::New(v8::Local, v8::FunctionCallback, v8::Local, int, v8::ConstructorBehavior, v8::SideEffectType)
static MaybeLocal New(
^
/home/tom/.node-gyp/12.7.0/include/node/v8.h:4132:31: note: no known conversion for argument 1 from 'v8::Isolate*' to 'v8::Local'
In file included from /home/linuxbrew/.linuxbrew/lib/node_modules/fontnik/node_modules/nan/nan_new.h:189:0,
from /home/linuxbrew/.linuxbrew/lib/node_modules/fontnik/node_modules/nan/nan.h:203,
from ../src/glyphs.hpp:5,
from ../src/node_fontnik.cpp:2:
/home/linuxbrew/.linuxbrew/lib/node_modules/fontnik/node_modules/nan/nan_implementation_12_inl.h: In static member function 'static Nan::imp::FactoryBase::return_t Nan::imp::Factory::New(v8::Local)':
/home/linuxbrew/.linuxbrew/lib/node_modules/fontnik/node_modules/nan/nan_implementation_12_inl.h:337:37: error: no matching function for call to 'v8::StringObject::New(v8::Local&)'
return v8::StringObject::New(value).As();
^
In file included from /home/tom/.node-gyp/12.7.0/include/node/node.h:63:0,
from /home/linuxbrew/.linuxbrew/lib/node_modules/fontnik/node_modules/nan/nan.h:51,
from ../src/glyphs.hpp:5,
from ../src/node_fontnik.cpp:2:
/home/tom/.node-gyp/12.7.0/include/node/v8.h:5388:23: note: candidate: static v8::Local v8::StringObject::New(v8::Isolate*, v8::Local)
static Local New(Isolate* isolate, Local value);
^
/home/tom/.node-gyp/12.7.0/include/node/v8.h:5388:23: note: candidate expects 2 arguments, 1 provided
In file included from /home/linuxbrew/.linuxbrew/lib/node_modules/fontnik/node_modules/nan/nan_new.h:189:0,
from /home/linuxbrew/.linuxbrew/lib/node_modules/fontnik/node_modules/nan/nan.h:203,
from ../src/glyphs.hpp:5,
from ../src/node_fontnik.cpp:2:
/home/linuxbrew/.linuxbrew/lib/node_modules/fontnik/node_modules/nan/nan_implementation_12_inl.h:337:58: error: expected primary-expression before '>' token
return v8::StringObject::New(value).As();
^
/home/linuxbrew/.linuxbrew/lib/node_modules/fontnik/node_modules/nan/nan_implementation_12_inl.h:337:60: error: expected primary-expression before ')' token
return v8::StringObject::New(value).As();
^
In file included from ../src/glyphs.hpp:5:0,
from ../src/node_fontnik.cpp:2:
/home/linuxbrew/.linuxbrew/lib/node_modules/fontnik/node_modules/nan/nan.h: In constructor 'Nan::Utf8String::Utf8String(v8::Local)':
/home/linuxbrew/.linuxbrew/lib/node_modules/fontnik/node_modules/nan/nan.h:1034:53: error: no matching function for call to 'v8::Value::ToString()'
v8::Local string = from->ToString();
^
In file included from /home/tom/.node-gyp/12.7.0/include/node/node.h:63:0,
from /home/linuxbrew/.linuxbrew/lib/node_modules/fontnik/node_modules/nan/nan.h:51,
from ../src/glyphs.hpp:5,
from ../src/node_fontnik.cpp:2:
/home/tom/.node-gyp/12.7.0/include/node/v8.h:2535:44: note: candidate: v8::MaybeLocal v8::Value::ToString(v8::Local) const
V8_WARN_UNUSED_RESULT MaybeLocal ToString(
^
/home/tom/.node-gyp/12.7.0/include/node/v8.h:2535:44: note: candidate expects 1 argument, 0 provided
In file included from /home/tom/.node-gyp/12.7.0/include/node/v8-internal.h:14:0,
from /home/tom/.node-gyp/12.7.0/include/node/v8.h:25,
from /home/tom/.node-gyp/12.7.0/include/node/node.h:63,
from /home/linuxbrew/.linuxbrew/lib/node_modules/fontnik/node_modules/nan/nan.h:51,
from ../src/glyphs.hpp:5,
from ../src/node_fontnik.cpp:2:
/home/tom/.node-gyp/12.7.0/include/node/v8.h:2550:3: note: candidate: v8::Local v8::Value::ToString(v8::Isolate*) const
V8_DEPRECATED("Use maybe version",
^
/home/tom/.node-gyp/12.7.0/include/node/v8.h:2550:3: note: candidate expects 1 argument, 0 provided
In file included from ../src/glyphs.hpp:5:0,
from ../src/node_fontnik.cpp:2:
/home/linuxbrew/.linuxbrew/lib/node_modules/fontnik/node_modules/nan/nan.h:1044:74: error: no matching function for call to 'v8::String::WriteUtf8(char*&, int, int, const int&)'
length_ = string->WriteUtf8(str_, static_cast(len), 0, flags);
^
In file included from /home/tom/.node-gyp/12.7.0/include/node/node.h:63:0,
from /home/linuxbrew/.linuxbrew/lib/node_modules/fontnik/node_modules/nan/nan.h:51,
from ../src/glyphs.hpp:5,
from ../src/node_fontnik.cpp:2:
/home/tom/.node-gyp/12.7.0/include/node/v8.h:2745:7: note: candidate: int v8::String::WriteUtf8(v8::Isolate*, char*, int, int*, int) const
int WriteUtf8(Isolate* isolate, char* buffer, int length = -1,
^
/home/tom/.node-gyp/12.7.0/include/node/v8.h:2745:7: note: no known conversion for argument 1 from 'char*' to 'v8::Isolate*'
../src/node_fontnik.cpp: In function 'void node_fontnik::RegisterModule(Nan::ADDON_REGISTER_FUNCTION_ARGS_TYPE)':
../src/node_fontnik.cpp:8:102: error: no matching function for call to 'v8::FunctionTemplate::GetFunction()'
target->Set(Nan::New("load").ToLocalChecked(), Nan::New(Load)->GetFunction());
^
In file included from /home/tom/.node-gyp/12.7.0/include/node/node.h:63:0,
from /home/linuxbrew/.linuxbrew/lib/node_modules/fontnik/node_modules/nan/nan.h:51,
from ../src/glyphs.hpp:5,
from ../src/node_fontnik.cpp:2:
/home/tom/.node-gyp/12.7.0/include/node/v8.h:5955:46: note: candidate: v8::MaybeLocal v8::FunctionTemplate::GetFunction(v8::Local)
V8_WARN_UNUSED_RESULT MaybeLocal GetFunction(
^
/home/tom/.node-gyp/12.7.0/include/node/v8.h:5955:46: note: candidate expects 1 argument, 0 provided
../src/node_fontnik.cpp:9:104: error: no matching function for call to 'v8::FunctionTemplate::GetFunction()'
target->Set(Nan::New("range").ToLocalChecked(), Nan::New(Range)->GetFunction());
^
In file included from /home/tom/.node-gyp/12.7.0/include/node/node.h:63:0,
from /home/linuxbrew/.linuxbrew/lib/node_modules/fontnik/node_modules/nan/nan.h:51,
from ../src/glyphs.hpp:5,
from ../src/node_fontnik.cpp:2:
/home/tom/.node-gyp/12.7.0/include/node/v8.h:5955:46: note: candidate: v8::MaybeLocal v8::FunctionTemplate::GetFunction(v8::Local)
V8_WARN_UNUSED_RESULT MaybeLocal GetFunction(
^
/home/tom/.node-gyp/12.7.0/include/node/v8.h:5955:46: note: candidate expects 1 argument, 0 provided
fontnik.target.mk:154: recipe for target 'Release/obj.target/fontnik/src/node_fontnik.o' failed
make: *** [Release/obj.target/fontnik/src/node_fontnik.o] Error 1
make: Leaving directory '/home/linuxbrew/.linuxbrew/lib/node_modules/fontnik/build'
`

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

Start with the native addon entry point in src/node_fontnik.cpp and the glyphs.hpp/NAN includes shown in the compiler output. Reproduce installation with Node 12.7.0 on 64-bit Linux and inspect the Node/V8 compatibility failure; done means the package builds and installs successfully on that environment.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp, node.js
Domain
build-system
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.