node.js - Building contextify fails with error: field ‘time’ has incomplete type -


background: i'm using jquery test javascript code (which using jquery objects) nodeunit. jquery need jsdom provide window object. building jsdom fails because requires contextify, not build on 64-bit debian. tested on linux mint, both standard ubuntu , debian edition, same result.

problem: node.js in both cases 0.11.11-release, , built git repository. when building, time, it_interval, , many more incomplete. why?

the full build log here: http://pastebin.com/itq75435 starts with:

npm http https://registry.npmjs.org/contextify npm http 304 https://registry.npmjs.org/contextify npm http https://registry.npmjs.org/bindings npm http 304 https://registry.npmjs.org/bindings  > contextify@0.1.6 install /tmp/node_modules/contextify > node-gyp rebuild  make: entering directory `/tmp/node_modules/contextify/build'   cxx(target) release/obj.target/contextify/src/contextify.o in file included /home/sie/.node-gyp/0.11.11/src/node.h:61:0,                  ../src/contextify.cc:1: /home/sie/.node-gyp/0.11.11/deps/v8/include/v8.h: in member function ‘void v8::returnvalue<t>::set(uint32_t)’: /home/sie/.node-gyp/0.11.11/deps/v8/include/v8.h:5816:31: warning: typedef ‘i’ locally defined not used [-wunused-local-typedefs]    typedef internal::internals i;                                ^ in file included /usr/include/x86_64-linux-gnu/bits/time.h:86:0,                  /usr/include/time.h:41,                  /usr/include/pthread.h:24,                  /usr/include/x86_64-linux-gnu/c++/4.8/bits/gthr-default.h:35,                  /usr/include/x86_64-linux-gnu/c++/4.8/bits/gthr.h:148,                  /usr/include/c++/4.8/ext/atomicity.h:35,                  /usr/include/c++/4.8/bits/basic_string.h:39,                  /usr/include/c++/4.8/string:52,                  ../src/contextify.cc:3: /usr/include/x86_64-linux-gnu/bits/timex.h: @ global scope: /usr/include/x86_64-linux-gnu/bits/timex.h:36:18: error: field ‘time’ has incomplete type    struct timeval time;  /* (read only) */                   ^ in file included /usr/include/pthread.h:24:0,                  /usr/include/x86_64-linux-gnu/c++/4.8/bits/gthr-default.h:35,                  /usr/include/x86_64-linux-gnu/c++/4.8/bits/gthr.h:148,                  /usr/include/c++/4.8/ext/atomicity.h:35,                  /usr/include/c++/4.8/bits/basic_string.h:39,                  /usr/include/c++/4.8/string:52,                  ../src/contextify.cc:3: /usr/include/time.h:163:21: error: field ‘it_interval’ has incomplete type      struct timespec it_interval;                      ^ /usr/include/time.h:164:21: error: field ‘it_value’ has incomplete type      struct timespec it_value;                      ^ /usr/include/time.h:189:8: error: ‘clock_t’ not name type  extern clock_t clock (void) __throw;         ^ /usr/include/time.h:192:8: error: ‘time_t’ not name type  extern time_t time (time_t *__timer) __throw;         ^ /usr/include/time.h:195:25: error: ‘time_t’ not declared in scope  extern double difftime (time_t __time1, time_t __time0) 

i suggested comment, i'll post answer here well.

using unstable versions of software can dangerous. often, libraries configured work past , current versions, not future versions. future versions changing. 0.11 obsoletes or changes 0.10 features library expecting.


Comments

Popular posts from this blog

c# - How to get the current UAC mode -

postgresql - Lazarus + Postgres: incomplete startup packet -

javascript - Ajax jqXHR.status==0 fix error -