mattdesl / mattdesl/fontpath

Build problem with node-4.1.2 (problem with freetype dependency ?)

Open
#4 6 comments 0 reactions 0 assignees View on GitHub
Dominant language
JavaScript
Stars
190
Forks
12
PR merge metrics
No merged PRs in 30d

Description

```
$ npm install fontpath --save-dev
\
> freetype2@0.2.0 install /Users/bsergean/src/webgl-surfacemeshfile-viewer/node_modules/fontpath/node_modules/freetype2
> node-gyp rebuild

CC(target) Release/obj.target/libfreetype/vendor/freetype/src/base/ftsystem.o
CC(target) Release/obj.target/libfreetype/vendor/freetype/src/base/ftinit.o
CC(target) Release/obj.target/libfreetype/vendor/freetype/src/base/ftdebug.o
CC(target) Release/obj.target/libfreetype/vendor/freetype/src/base/ftbase.o
CC(target) Release/obj.target/libfreetype/vendor/freetype/src/base/ftbbox.o
CC(target) Release/obj.target/libfreetype/vendor/freetype/src/base/ftglyph.o
CC(target) Release/obj.target/libfreetype/vendor/freetype/src/base/ftbdf.o
CC(target) Release/obj.target/libfreetype/vendor/freetype/src/base/ftbitmap.o
CC(target) Release/obj.target/libfreetype/vendor/freetype/src/base/ftcid.o
CC(target) Release/obj.target/libfreetype/vendor/freetype/src/base/ftfstype.o
CC(target) Release/obj.target/libfreetype/vendor/freetype/src/base/ftgasp.o
CC(target) Release/obj.target/libfreetype/vendor/freetype/src/base/ftgxval.o
CC(target) Release/obj.target/libfreetype/vendor/freetype/src/base/ftlcdfil.o
CC(target) Release/obj.target/libfreetype/vendor/freetype/src/base/ftmm.o
CC(target) Release/obj.target/libfreetype/vendor/freetype/src/base/ftotval.o
CC(target) Release/obj.target/libfreetype/vendor/freetype/src/base/ftpatent.o
CC(target) Release/obj.target/libfreetype/vendor/freetype/src/base/ftpfr.o
CC(target) Release/obj.target/libfreetype/vendor/freetype/src/base/ftstroke.o
CC(target) Release/obj.target/libfreetype/vendor/freetype/src/base/ftsynth.o
CC(target) Release/obj.target/libfreetype/vendor/freetype/src/base/fttype1.o
CC(target) Release/obj.target/libfreetype/vendor/freetype/src/base/ftwinfnt.o
CC(target) Release/obj.target/libfreetype/vendor/freetype/src/base/ftxf86.o
CC(target) Release/obj.target/libfreetype/vendor/freetype/src/bdf/bdf.o
CC(target) Release/obj.target/libfreetype/vendor/freetype/src/cff/cff.o
CC(target) Release/obj.target/libfreetype/vendor/freetype/src/cid/type1cid.o
CC(target) Release/obj.target/libfreetype/vendor/freetype/src/pcf/pcf.o
CC(target) Release/obj.target/libfreetype/vendor/freetype/src/pfr/pfr.o
CC(target) Release/obj.target/libfreetype/vendor/freetype/src/sfnt/sfnt.o
CC(target) Release/obj.target/libfreetype/vendor/freetype/src/truetype/truetype.o
CC(target) Release/obj.target/libfreetype/vendor/freetype/src/type1/type1.o
CC(target) Release/obj.target/libfreetype/vendor/freetype/src/type42/type42.o
CC(target) Release/obj.target/libfreetype/vendor/freetype/src/winfonts/winfnt.o
CC(target) Release/obj.target/libfreetype/vendor/freetype/src/raster/raster.o
CC(target) Release/obj.target/libfreetype/vendor/freetype/src/smooth/smooth.o
CC(target) Release/obj.target/libfreetype/vendor/freetype/src/autofit/autofit.o
CC(target) Release/obj.target/libfreetype/vendor/freetype/src/cache/ftcache.o
CC(target) Release/obj.target/libfreetype/vendor/freetype/src/gzip/ftgzip.o
CC(target) Release/obj.target/libfreetype/vendor/freetype/src/lzw/ftlzw.o
CC(target) Release/obj.target/libfreetype/vendor/freetype/src/bzip2/ftbzip2.o
CC(target) Release/obj.target/libfreetype/vendor/freetype/src/gxvalid/gxvalid.o
CC(target) Release/obj.target/libfreetype/vendor/freetype/src/otvalid/otvalid.o
CC(target) Release/obj.target/libfreetype/vendor/freetype/src/psaux/psaux.o
CC(target) Release/obj.target/libfreetype/vendor/freetype/src/pshinter/pshinter.o
CC(target) Release/obj.target/libfreetype/vendor/freetype/src/psnames/psnames.o
CC(target) Release/obj.target/libfreetype/vendor/freetype/src/base/ftmac.o
LIBTOOL-STATIC Release/freetype.a
CXX(target) Release/obj.target/freetype2/src/init.o
In file included from ../src/init.cc:1:
../node_modules/nan/nan.h:339:13: error: no member named 'New' in 'v8::String'
return _NAN_ERROR(v8::Exception::Error, errmsg);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../node_modules/nan/nan.h:319:50: note: expanded from macro '_NAN_ERROR'
# define _NAN_ERROR(fun, errmsg) fun(v8::String::New(errmsg))
~~~~~~~~~~~~^
../node_modules/nan/nan.h:343:5: error: no member named 'ThrowException' in namespace 'v8'
_NAN_THROW_ERROR(v8::Exception::Error, errmsg);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../node_modules/nan/nan.h:324:11: note: expanded from macro '_NAN_THROW_ERROR'
v8::ThrowException(_NAN_ERROR(fun, errmsg)); \
~~~~^
../node_modules/nan/nan.h:343:5: error: no member named 'New' in 'v8::String'
_NAN_THROW_ERROR(v8::Exception::Error, errmsg);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../node_modules/nan/nan.h:324:26: note: expanded from macro '_NAN_THROW_ERROR'
v8::ThrowException(_NAN_ERROR(fun, errmsg)); \
^~~~~~~~~~~~~~~~~~~~~~~
../node_modules/nan/nan.h:319:50: note: expanded from macro '_NAN_ERROR'
# define _NAN_ERROR(fun, errmsg) fun(v8::String::New(errmsg))
~~~~~~~~~~~~^
../node_modules/nan/nan.h:348:9: error: no type named 'ThrowException' in namespace 'v8'
v8::ThrowException(error);
~~~~^
../node_modules/nan/nan.h:355:65: error: no member named 'New' in 'v8::String'
v8::Local err = v8::Exception::Error(v8::String::New(msg));
~~~~~~~~~~~~^
../node_modules/nan/nan.h:357:26: error: no member named 'New' in 'v8::String'
obj->Set(v8::String::New("code"), v8::Int32::New(errorNumber));
~~~~~~~~~~~~^
../node_modules/nan/nan.h:369:12: error: no member named 'New' in 'v8::String'
return _NAN_ERROR(v8::Exception::TypeError, errmsg);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../node_modules/nan/nan.h:319:50: note: expanded from macro '_NAN_ERROR'
# define _NAN_ERROR(fun, errmsg) fun(v8::String::New(errmsg))
~~~~~~~~~~~~^
../node_modules/nan/nan.h:373:5: error: no member named 'ThrowException' in namespace 'v8'
_NAN_THROW_ERROR(v8::Exception::TypeError, errmsg);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../node_modules/nan/nan.h:324:11: note: expanded from macro '_NAN_THROW_ERROR'
v8::ThrowException(_NAN_ERROR(fun, errmsg)); \
~~~~^
../node_modules/nan/nan.h:373:5: error: no member named 'New' in 'v8::String'
_NAN_THROW_ERROR(v8::Exception::TypeError, errmsg);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../node_modules/nan/nan.h:324:26: note: expanded from macro '_NAN_THROW_ERROR'
v8::ThrowException(_NAN_ERROR(fun, errmsg)); \
^~~~~~~~~~~~~~~~~~~~~~~
../node_modules/nan/nan.h:319:50: note: expanded from macro '_NAN_ERROR'
# define _NAN_ERROR(fun, errmsg) fun(v8::String::New(errmsg))
~~~~~~~~~~~~^
../node_modules/nan/nan.h:377:12: error: no member named 'New' in 'v8::String'
return _NAN_ERROR(v8::Exception::RangeError, errmsg);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../node_modules/nan/nan.h:319:50: note: expanded from macro '_NAN_ERROR'
# define _NAN_ERROR(fun, errmsg) fun(v8::String::New(errmsg))
~~~~~~~~~~~~^
../node_modules/nan/nan.h:381:5: error: no member named 'ThrowException' in namespace 'v8'
_NAN_THROW_ERROR(v8::Exception::RangeError, errmsg);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../node_modules/nan/nan.h:324:11: note: expanded from macro '_NAN_THROW_ERROR'
v8::ThrowException(_NAN_ERROR(fun, errmsg)); \
~~~~^
../node_modules/nan/nan.h:381:5: error: no member named 'New' in 'v8::String'
_NAN_THROW_ERROR(v8::Exception::RangeError, errmsg);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../node_modules/nan/nan.h:324:26: note: expanded from macro '_NAN_THROW_ERROR'
v8::ThrowException(_NAN_ERROR(fun, errmsg)); \
^~~~~~~~~~~~~~~~~~~~~~~
../node_modules/nan/nan.h:319:50: note: expanded from macro '_NAN_ERROR'
# define _NAN_ERROR(fun, errmsg) fun(v8::String::New(errmsg))
~~~~~~~~~~~~^
../node_modules/nan/nan.h:406:13: error: no member named 'smalloc' in namespace 'node'
, node::smalloc::FreeCallback callback
~~~~~~^
../node_modules/nan/nan.h:141:71: note: expanded from macro 'NAN_INLINE'
# define NAN_INLINE(declarator) inline __attribute__((always_inline)) declarator
^
../node_modules/nan/nan.h:416:12: error: no matching function for call to 'New'
return node::Buffer::New(data, size);
^~~~~~~~~~~~~~~~~
/Users/bsergean/.node-gyp/4.1.2/include/node/node_buffer.h:28:40: note: candidate function not viable: no
known conversion from 'char *' to 'v8::Isolate *' for 1st argument
NODE_EXTERN v8::MaybeLocal New(v8::Isolate* isolate, size_t length);
^
/Users/bsergean/.node-gyp/4.1.2/include/node/node_buffer.h:31:40: note: candidate function not viable: no
known conversion from 'char *' to 'v8::Isolate *' for 1st argument
NODE_EXTERN v8::MaybeLocal New(v8::Isolate* isolate,
^
/Users/bsergean/.node-gyp/4.1.2/include/node/node_buffer.h:36:40: note: candidate function not viable:
requires 5 arguments, but 2 were provided
NODE_EXTERN v8::MaybeLocal New(v8::Isolate* isolate,
^
/Users/bsergean/.node-gyp/4.1.2/include/node/node_buffer.h:43:40: note: candidate function not viable:
requires 3 arguments, but 2 were provided
NODE_EXTERN v8::MaybeLocal New(v8::Isolate* isolate,
^
In file included from ../src/init.cc:1:
../node_modules/nan/nan.h:420:12: error: no matching function for call to 'New'
return node::Buffer::New(size);
^~~~~~~~~~~~~~~~~
/Users/bsergean/.node-gyp/4.1.2/include/node/node_buffer.h:28:40: note: candidate function not viable:
requires 2 arguments, but 1 was provided
NODE_EXTERN v8::MaybeLocal New(v8::Isolate* isolate, size_t length);
^
/Users/bsergean/.node-gyp/4.1.2/include/node/node_buffer.h:31:40: note: candidate function not viable:
requires at least 2 arguments, but 1 was provided
NODE_EXTERN v8::MaybeLocal New(v8::Isolate* isolate,
^
/Users/bsergean/.node-gyp/4.1.2/include/node/node_buffer.h:36:40: note: candidate function not viable:
requires 5 arguments, but 1 was provided
NODE_EXTERN v8::MaybeLocal New(v8::Isolate* isolate,
^
/Users/bsergean/.node-gyp/4.1.2/include/node/node_buffer.h:43:40: note: candidate function not viable:
requires 3 arguments, but 1 was provided
NODE_EXTERN v8::MaybeLocal New(v8::Isolate* isolate,
^
In file included from ../src/init.cc:1:
../node_modules/nan/nan.h:427:26: error: no member named 'Use' in namespace 'node::Buffer'
return node::Buffer::Use(data, size);
~~~~~~~~~~~~~~^
../node_modules/nan/nan.h:727:49: error: too few arguments to function call, single argument 'isolate' was not
specified
v8::Local obj = v8::Object::New();
~~~~~~~~~~~~~~~ ^
/Users/bsergean/.node-gyp/4.1.2/include/node/v8.h:2933:3: note: 'New' declared here
static Local New(Isolate* isolate);
^
In file included from ../src/init.cc:1:
../node_modules/nan/nan.h:733:49: error: too few arguments to function call, single argument 'isolate' was not
specified
v8::Local obj = v8::Object::New();
~~~~~~~~~~~~~~~ ^
/Users/bsergean/.node-gyp/4.1.2/include/node/v8.h:2933:3: note: 'New' declared here
static Local New(Isolate* isolate);
^
In file included from ../src/init.cc:1:
../node_modules/nan/nan.h:740:12: error: no member named 'Dispose' in 'v8::Persistent >'
handle.Dispose();
~~~~~~ ^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
20 errors generated.
make: *** [Release/obj.target/freetype2/src/init.o] Error 1
```

Contributor guide

No contributing guide indexed for this repository

Research direction

Reproduce `npm install fontpath --save-dev` with Node 4.1.2, then inspect `src/init.cc`, `node_modules/nan/nan.h`, and the Node headers referenced in the compiler output. Determine the compatibility failure and verify that the dependency builds successfully without the reported V8 and Buffer errors.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript, nodejs
Domain
build-system
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.