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
Post a Comment