shenanigans / PornViewer

An image viewer for mission-critical applications.
MIT License
14 stars 4 forks source link

Build on OSX #1

Open 0q98ahdsg3987y1h987y opened 9 years ago

0q98ahdsg3987y1h987y commented 9 years ago

Just letting you know I'll try building this on OSX and report back

shenanigans commented 9 years ago

Righteous, please do. If you have trouble you can uncomment a couple lines here and comment out all the fancy window options here to get more complete debugging information. If you're having the sort of trouble that the process(es) that launch don't respond at all, consider building for x86 first and getting it working in node-webkit 0.8.6.

0q98ahdsg3987y1h987y commented 8 years ago

Hello again! Been a while. I finally tried building and it failed, in a pretty big way too. Here's a whole bunch of console output after downloading nw.js, unzipping, renaming to 'nw', moving it into the repo and trying npm install as per your build instructions. Lots of scrolling.

npm WARN deprecated lodash-node@2.4.1: This package is no longer maintained. See its readme for upgrade details.

> lwip@0.0.7 install /Users/accommodavid/Desktop/PornViewer/node_modules/lwip
> node-gyp rebuild

  CXX(target) Release/obj.target/lwip_decoder/src/decoder/init.o
In file included from ../src/decoder/init.cpp:1:
In file included from ../src/decoder/decoder.h:13:
../../nan/nan.h:324:27: error: redefinition of 'NanEnsureHandleOrPersistent'
  NAN_INLINE v8::Local<T> NanEnsureHandleOrPersistent(const v8::Local<T> &val) {
                          ^
../../nan/nan.h:319:17: note: previous definition is here
  v8::Handle<T> NanEnsureHandleOrPersistent(const v8::Handle<T> &val) {
                ^
../../nan/nan.h:344:27: error: redefinition of 'NanEnsureLocal'
  NAN_INLINE v8::Local<T> NanEnsureLocal(const v8::Handle<T> &val) {
                          ^
../../nan/nan.h:334:27: note: previous definition is here
  NAN_INLINE v8::Local<T> NanEnsureLocal(const v8::Local<T> &val) {
                          ^
../../nan/nan.h:757:13: error: no member named 'smalloc' in namespace 'node'
    , node::smalloc::FreeCallback callback
      ~~~~~~^
../../nan/nan.h:768:12: error: no matching function for call to 'New'
    return node::Buffer::New(v8::Isolate::GetCurrent(), data, size);
           ^~~~~~~~~~~~~~~~~
/Users/accommodavid/.node-gyp/5.0.0/include/node/node_buffer.h:31:40: note: 
      candidate function not viable: no known conversion from 'uint32_t'
      (aka 'unsigned int') to 'enum encoding' for 3rd argument
NODE_EXTERN v8::MaybeLocal<v8::Object> New(v8::Isolate* isolate,
                                       ^
/Users/accommodavid/.node-gyp/5.0.0/include/node/node_buffer.h:43:40: note: 
      candidate function not viable: 2nd argument ('const char *') would lose
      const qualifier
NODE_EXTERN v8::MaybeLocal<v8::Object> New(v8::Isolate* isolate,
                                       ^
/Users/accommodavid/.node-gyp/5.0.0/include/node/node_buffer.h:28:40: note: 
      candidate function not viable: requires 2 arguments, but 3 were provided
NODE_EXTERN v8::MaybeLocal<v8::Object> New(v8::Isolate* isolate, size_t length);
                                       ^
/Users/accommodavid/.node-gyp/5.0.0/include/node/node_buffer.h:36:40: note: 
      candidate function not viable: requires 5 arguments, but 3 were provided
NODE_EXTERN v8::MaybeLocal<v8::Object> New(v8::Isolate* isolate,
                                       ^
In file included from ../src/decoder/init.cpp:1:
In file included from ../src/decoder/decoder.h:13:
../../nan/nan.h:772:12: error: no viable conversion from
      'v8::MaybeLocal<v8::Object>' to 'v8::Local<v8::Object>'
    return node::Buffer::New(v8::Isolate::GetCurrent(), size);
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/accommodavid/.node-gyp/5.0.0/include/node/v8.h:210:7: note: candidate
      constructor (the implicit copy constructor) not viable: no known
      conversion from 'v8::MaybeLocal<v8::Object>' to 'const
      v8::Local<v8::Object> &' for 1st argument
class Local {
      ^
/Users/accommodavid/.node-gyp/5.0.0/include/node/v8.h:210:7: note: candidate
      constructor (the implicit move constructor) not viable: no known
      conversion from 'v8::MaybeLocal<v8::Object>' to 'v8::Local<v8::Object> &&'
      for 1st argument
class Local {
      ^
/Users/accommodavid/.node-gyp/5.0.0/include/node/v8.h:214:13: note: candidate
      template ignored: could not match 'Local' against 'MaybeLocal'
  V8_INLINE Local(Local<S> that)
            ^
/Users/accommodavid/.node-gyp/5.0.0/include/node/v8.h:326:13: note: candidate
      template ignored: could not match 'S *' against
      'v8::MaybeLocal<v8::Object>'
  V8_INLINE Local(S* that)
            ^
In file included from ../src/decoder/init.cpp:1:
In file included from ../src/decoder/decoder.h:13:
../../nan/nan.h:779:26: error: no member named 'Use' in namespace 'node::Buffer'
    return node::Buffer::Use(v8::Isolate::GetCurrent(), data, size);
           ~~~~~~~~~~~~~~^
In file included from ../src/decoder/init.cpp:1:
In file included from ../src/decoder/decoder.h:11:
In file included from /Users/accommodavid/.node-gyp/5.0.0/include/node/node.h:42:
/Users/accommodavid/.node-gyp/5.0.0/include/node/v8.h:221:5: error: assigning to
      'v8::Primitive *volatile' from incompatible type 'v8::Value *'
    TYPE_CHECK(T, S);
    ^~~~~~~~~~~~~~~~
/Users/accommodavid/.node-gyp/5.0.0/include/node/v8.h:180:37: note: expanded
      from macro 'TYPE_CHECK'
    *(static_cast<T* volatile*>(0)) = static_cast<S*>(0);      \
                                    ^ ~~~~~~~~~~~~~~~~~~
../../nan/nan.h:501:12: note: in instantiation of function template
      specialization 'v8::Local<v8::Primitive>::Local<v8::Value>' requested here
    return NanEscapeScope(NanNew(v8::Undefined(v8::Isolate::GetCurrent())));
           ^
../../nan/nan.h:483:30: note: expanded from macro 'NanEscapeScope'
# define NanEscapeScope(val) scope.Escape(Nan::imp::NanEnsureLocal(val))
                             ^
In file included from ../src/decoder/init.cpp:1:
In file included from ../src/decoder/decoder.h:11:
In file included from /Users/accommodavid/.node-gyp/5.0.0/include/node/node.h:42:
/Users/accommodavid/.node-gyp/5.0.0/include/node/v8.h:221:5: error: assigning to
      'v8::Boolean *volatile' from incompatible type 'v8::Value *'
    TYPE_CHECK(T, S);
    ^~~~~~~~~~~~~~~~
/Users/accommodavid/.node-gyp/5.0.0/include/node/v8.h:180:37: note: expanded
      from macro 'TYPE_CHECK'
    *(static_cast<T* volatile*>(0)) = static_cast<S*>(0);      \
                                    ^ ~~~~~~~~~~~~~~~~~~
../../nan/nan.h:511:12: note: in instantiation of function template
      specialization 'v8::Local<v8::Boolean>::Local<v8::Value>' requested here
    return NanEscapeScope(NanNew(v8::True(v8::Isolate::GetCurrent())));
           ^
../../nan/nan.h:483:30: note: expanded from macro 'NanEscapeScope'
# define NanEscapeScope(val) scope.Escape(Nan::imp::NanEnsureLocal(val))
                             ^
In file included from ../src/decoder/init.cpp:1:
In file included from ../src/decoder/decoder.h:11:
In file included from /Users/accommodavid/.node-gyp/5.0.0/include/node/node.h:42:
/Users/accommodavid/.node-gyp/5.0.0/include/node/v8.h:221:5: error: assigning to
      'v8::Function *volatile' from incompatible type 'v8::Value *'
    TYPE_CHECK(T, S);
    ^~~~~~~~~~~~~~~~
/Users/accommodavid/.node-gyp/5.0.0/include/node/v8.h:180:37: note: expanded
      from macro 'TYPE_CHECK'
    *(static_cast<T* volatile*>(0)) = static_cast<S*>(0);      \
                                    ^ ~~~~~~~~~~~~~~~~~~
../../nan/nan.h:1645:12: note: in instantiation of function template
      specialization 'v8::Local<v8::Function>::Local<v8::Value>' requested here
    return NanEscapeScope(NanNew(handle)->Get(kCallbackIndex)
           ^
../../nan/nan.h:483:30: note: expanded from macro 'NanEscapeScope'
# define NanEscapeScope(val) scope.Escape(Nan::imp::NanEnsureLocal(val))
                             ^
In file included from ../src/decoder/init.cpp:1:
In file included from ../src/decoder/decoder.h:11:
In file included from /Users/accommodavid/.node-gyp/5.0.0/include/node/node.h:42:
/Users/accommodavid/.node-gyp/5.0.0/include/node/v8.h:221:5: error: assigning to
      'v8::Object *volatile' from incompatible type 'v8::Value *'
    TYPE_CHECK(T, S);
    ^~~~~~~~~~~~~~~~
/Users/accommodavid/.node-gyp/5.0.0/include/node/v8.h:180:37: note: expanded
      from macro 'TYPE_CHECK'
    *(static_cast<T* volatile*>(0)) = static_cast<S*>(0);      \
                                    ^ ~~~~~~~~~~~~~~~~~~
../../nan/nan.h:1776:12: note: in instantiation of function template
      specialization 'v8::Local<v8::Object>::Local<v8::Value>' requested here
    return NanEscapeScope(
           ^
../../nan/nan.h:483:30: note: expanded from macro 'NanEscapeScope'
# define NanEscapeScope(val) scope.Escape(Nan::imp::NanEnsureLocal(val))
                             ^
10 errors generated.
make: *** [Release/obj.target/lwip_decoder/src/decoder/init.o] Error 1
gyp ERR! build error 
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:270:23)
gyp ERR! stack     at emitTwo (events.js:87:13)
gyp ERR! stack     at ChildProcess.emit (events.js:172:7)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:200:12)
gyp ERR! System Darwin 15.2.0
gyp ERR! command "/usr/local/bin/node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /Users/accommodavid/Desktop/PornViewer/node_modules/lwip
gyp ERR! node -v v5.0.0
gyp ERR! node-gyp -v v3.0.3
gyp ERR! not ok 
npm WARN EPACKAGEJSON PornViewer@0.1.0 No repository field.
npm WARN EPACKAGEJSON PornViewer@0.1.0 No license field.
npm ERR! Darwin 15.2.0
npm ERR! argv "/usr/local/bin/node" "/usr/local/bin/npm" "install"
npm ERR! node v5.0.0
npm ERR! npm  v3.3.6
npm ERR! code ELIFECYCLE

npm ERR! lwip@0.0.7 install: `node-gyp rebuild`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the lwip@0.0.7 install script 'node-gyp rebuild'.
npm ERR! This is most likely a problem with the lwip package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     node-gyp rebuild
npm ERR! You can get their info via:
npm ERR!     npm owner ls lwip
shenanigans commented 8 years ago

Interesting, theoretically you could skip this step as lwip gets rebuilt by nw-gyp but it looks like your build setup isn't right for Node. Make sure you installed the command-line tools and if you're on 10.11 you may need this workaround.