nwjs / nw-gyp

native addon build tool for node-webkit

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

rebuild fails with nw.js 0.12.2

btjones opened this issue · comments

Ever since I upgraded from nw.js 0.11.x to 0.12.2 I can no longer rebuild this font-manager node module. Any ideas? Thanks!

btj $ cd ~/projects/macaw/scarlet/src/node_modules/font-manager/
btj $ sudo nw-gyp rebuild --arch=x64 --target=0.12.2
gyp info it worked if it ends with ok
gyp info using nw-gyp@0.12.4
gyp info using node@0.10.32 | darwin | x64
gyp info spawn python
gyp info spawn args [ '/Users/btj/.nvm/v0.10.32/lib/node_modules/nw-gyp/gyp/gyp_main.py',
gyp info spawn args   'binding.gyp',
gyp info spawn args   '-f',
gyp info spawn args   'make',
gyp info spawn args   '-I',
gyp info spawn args   '/Users/btj/projects/macaw/scarlet/src/node_modules/font-manager/build/config.gypi',
gyp info spawn args   '-I',
gyp info spawn args   '/Users/btj/.nvm/v0.10.32/lib/node_modules/nw-gyp/addon.gypi',
gyp info spawn args   '-I',
gyp info spawn args   '/Users/btj/.nw-gyp/0.12.2/common.gypi',
gyp info spawn args   '-Dlibrary=shared_library',
gyp info spawn args   '-Dvisibility=default',
gyp info spawn args   '-Dnode_root_dir=/Users/btj/.nw-gyp/0.12.2',
gyp info spawn args   '-Dmodule_root_dir=/Users/btj/projects/macaw/scarlet/src/node_modules/font-manager',
gyp info spawn args   '--depth=.',
gyp info spawn args   '--generator-output',
gyp info spawn args   'build',
gyp info spawn args   '-Goutput_dir=.' ]
gyp info spawn make
gyp info spawn args [ 'BUILDTYPE=Release', '-C', 'build' ]
  CXX(target) Release/obj.target/fontmanager/src/FontManager.o
In file included from ../src/FontManager.cc:5:
../node_modules/nan/nan.h:481:19: error: no type named 'ExternalAsciiStringResource' in 'v8::String'; did you mean 'ExternalStringResource'?
      v8::String::ExternalAsciiStringResource *resource) {
      ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
                  ExternalStringResource
/Users/btj/.nw-gyp/0.12.2/deps/v8/include/v8.h:2012:19: note: 'ExternalStringResource' declared here
  class V8_EXPORT ExternalStringResource
                  ^
In file included from ../src/FontManager.cc:5:
../node_modules/nan/nan.h:480:36: error: redefinition of 'NanNew'
  NAN_INLINE v8::Local<v8::String> NanNew(
                                   ^
../node_modules/nan/nan.h:475:36: note: previous definition is here
  NAN_INLINE v8::Local<v8::String> NanNew(
                                   ^
../node_modules/nan/nan.h:2103:12: error: no member named 'IsExternalAscii' in 'v8::String'; did you mean 'IsExternal'?
  if (str->IsExternalAscii()) {
           ^~~~~~~~~~~~~~~
           IsExternal
/Users/btj/.nw-gyp/0.12.2/deps/v8/include/v8.h:1976:8: note: 'IsExternal' declared here
  bool IsExternal() const;
       ^
In file included from ../src/FontManager.cc:5:
../node_modules/nan/nan.h:2104:23: error: no type named 'ExternalAsciiStringResource' in 'v8::String'; did you mean 'ExternalStringResource'?
    const v8::String::ExternalAsciiStringResource* ext;
          ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
                      ExternalStringResource
/Users/btj/.nw-gyp/0.12.2/deps/v8/include/v8.h:2012:19: note: 'ExternalStringResource' declared here
  class V8_EXPORT ExternalStringResource
                  ^
In file included from ../src/FontManager.cc:5:
../node_modules/nan/nan.h:2105:16: error: no member named 'GetExternalAsciiStringResource' in 'v8::String'; did you mean
      'GetExternalOneByteStringResource'?
    ext = str->GetExternalAsciiStringResource();
               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
               GetExternalOneByteStringResource
/Users/btj/.nw-gyp/0.12.2/deps/v8/include/v8.h:2079:40: note: 'GetExternalOneByteStringResource' declared here
  const ExternalOneByteStringResource* GetExternalOneByteStringResource() const;
                                       ^
In file included from ../src/FontManager.cc:5:
../node_modules/nan/nan.h:2105:9: error: assigning to 'const v8::String::ExternalStringResource *' from incompatible type 'const
      v8::String::ExternalOneByteStringResource *'
    ext = str->GetExternalAsciiStringResource();
        ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../node_modules/nan/nan.h:2106:11: error: assigning to 'const char *' from incompatible type 'const uint16_t *' (aka 'const unsigned short *')
    *data = ext->data();
          ^ ~~~~~~~~~~~
7 errors generated.
make: *** [Release/obj.target/fontmanager/src/FontManager.o] Error 1
gyp ERR! build error 
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit (/Users/btj/.nvm/v0.10.32/lib/node_modules/nw-gyp/lib/build.js:267:23)
gyp ERR! stack     at ChildProcess.emit (events.js:98:17)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (child_process.js:810:12)
gyp ERR! System Darwin 13.4.0
gyp ERR! command "node" "/Users/btj/.nvm/v0.10.32/bin/nw-gyp" "rebuild" "--arch=x64" "--target=0.12.2"
gyp ERR! cwd /Users/btj/projects/macaw/scarlet/src/node_modules/font-manager
gyp ERR! node -v v0.10.32
gyp ERR! nw-gyp -v v0.12.4
gyp ERR! not ok 

The README led me to this nan issue. After updating to the latest version of the nan module, I was able to build successfully.