for safe keeping, i needed this patch to build stock node 0.12 (from scratch, without any of the existing port stuff).
diff -ru orig/node-v0.12.0/deps/v8/src/base/macros.h node-v0.12.0/deps/v8/src/base/macros.h --- orig/node-v0.12.0/deps/v8/src/base/macros.h Fri Feb 6 15:04:23 2015 +++ node-v0.12.0/deps/v8/src/base/macros.h Tue Mar 3 15:53:49 2015 @@ -146,8 +146,8 @@ # define V8_UINT64_C(x) (x ## ULL) # define V8_INT64_C(x) (x ## LL) # else -# define V8_UINT64_C(x) (x ## UL) -# define V8_INT64_C(x) (x ## L) +# define V8_UINT64_C(x) (x ## ULL) +# define V8_INT64_C(x) (x ## LL) # endif # define V8_INTPTR_C(x) (x ## L) # define V8_PTR_PREFIX "l" diff -ru orig/node-v0.12.0/deps/v8/src/base/platform/platform-posix.cc node-v0.12.0/deps/v8/src/base/platform/platform-posix.cc --- orig/node-v0.12.0/deps/v8/src/base/platform/platform-posix.cc Fri Feb 6 15:04:23 2015 +++ node-v0.12.0/deps/v8/src/base/platform/platform-posix.cc Tue Mar 3 16:07:05 2015 @@ -328,7 +328,8 @@ #elif V8_OS_ANDROID return static_cast<int>(gettid()); #else - return static_cast<int>(pthread_self()); + return static_cast<int>(getthrid()); + //return static_cast<int>(pthread_self()); #endif } Only in node-v0.12.0/deps/v8/tools: jsmin.pyc Only in node-v0.12.0: fib.js Only in node-v0.12.0: icu_config.gypi Only in node-v0.12.0: node Only in node-v0.12.0: out diff -ru orig/node-v0.12.0/src/cares_wrap.cc node-v0.12.0/src/cares_wrap.cc --- orig/node-v0.12.0/src/cares_wrap.cc Fri Feb 6 15:04:23 2015 +++ node-v0.12.0/src/cares_wrap.cc Tue Mar 3 16:08:30 2015 @@ -1301,8 +1301,10 @@ Integer::New(env->isolate(), AF_UNSPEC)); target->Set(FIXED_ONE_BYTE_STRING(env->isolate(), "AI_ADDRCONFIG"), Integer::New(env->isolate(), AI_ADDRCONFIG)); +#ifdef AI_V4MAPPED target->Set(FIXED_ONE_BYTE_STRING(env->isolate(), "AI_V4MAPPED"), Integer::New(env->isolate(), AI_V4MAPPED)); +#endif Local<FunctionTemplate> aiw = FunctionTemplate::New(env->isolate(), NewGetAddrInfoReqWrap);