node-fibers: Sudden Build Failure RHEL Fibers@2.0.2

Two days ago our builds starting failing without any changes (to code, node, etc). Checking fibers on that machine gives us nasty looking errors, below.

Operating System RHEL 6.9 Node 8.4 Node-gyp 3.6.2 NPM 5.3

10:29:12 # "/home/nightly/.nvm/versions/node/v8.4.0/bin/node" "/home/nightly/.nvm/versions/node/v8.4.0/bin/node-gyp" "rebuild" "--release"
gyp info it worked if it ends with ok
gyp info using node-gyp@3.6.2
gyp info using node@8.4.0 | linux | x64
gyp WARN download NVM_NODEJS_ORG_MIRROR is deprecated and will be removed in node-gyp v4, please use NODEJS_ORG_MIRROR
gyp WARN download NVM_NODEJS_ORG_MIRROR is deprecated and will be removed in node-gyp v4, please use NODEJS_ORG_MIRROR
gyp info spawn /usr/bin/python2
gyp info spawn args [ '/home/nightly/.nvm/versions/node/v8.4.0/lib/node_modules/node-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   '/home/nightly/node-fibers/build/config.gypi',
gyp info spawn args   '-I',
gyp info spawn args   '/home/nightly/.nvm/versions/node/v8.4.0/lib/node_modules/node-gyp/addon.gypi',
gyp info spawn args   '-I',
gyp info spawn args   '/root/.node-gyp/8.4.0/include/node/common.gypi',
gyp info spawn args   '-Dlibrary=shared_library',
gyp info spawn args   '-Dvisibility=default',
gyp info spawn args   '-Dnode_root_dir=/root/.node-gyp/8.4.0',
gyp info spawn args   '-Dnode_gyp_dir=/home/nightly/.nvm/versions/node/v8.4.0/lib/node_modules/node-gyp',
gyp info spawn args   '-Dnode_lib_file=/root/.node-gyp/8.4.0/<(target_arch)/node.lib',
gyp info spawn args   '-Dmodule_root_dir=/home/nightly/node-fibers',
gyp info spawn args   '-Dnode_engine=v8',
gyp info spawn args   '--depth=.',
gyp info spawn args   '--no-parallel',
gyp info spawn args   '--generator-output',
gyp info spawn args   'build',
gyp info spawn args   '-Goutput_dir=.' ]
gyp WARN download NVM_NODEJS_ORG_MIRROR is deprecated and will be removed in node-gyp v4, please use NODEJS_ORG_MIRROR
make: Entering directory `/home/nightly/node-fibers/build'
gyp info  CXX(target) Release/obj.target/fibers/src/fibers.o
 spawn make
gyp info spawn args [ 'BUILDTYPE=Release', '-C', 'build' ]
In file included from /usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../include/c++/4.4.7/memory:83,
                 from /root/.node-gyp/8.4.0/include/node/v8.h:21,
                 from /root/.node-gyp/8.4.0/include/node/node.h:63,
                 from ../src/coroutine.h:1,
                 from ../src/fibers.cc:1:
/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../include/c++/4.4.7/bits/shared_ptr.h: In member function ‘virtual void* std::_Sp_counted_deleter<_Ptr, _Deleter, _Alloc, _Lp>::_M_get_deleter(const std::type_info&)’:
/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../include/c++/4.4.7/bits/shared_ptr.h:146: error: cannot use typeid with -fno-rtti
/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../include/c++/4.4.7/bits/shared_ptr.h: In member function ‘virtual void* std::_Sp_counted_ptr_inplace<_Tp, _Alloc, _Lp>::_M_get_deleter(const std::type_info&)’:
/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../include/c++/4.4.7/bits/shared_ptr.h:204: error: cannot use typeid with -fno-rtti
/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../include/c++/4.4.7/bits/shared_ptr.h: In constructor ‘std::__shared_ptr<_Tp, _Lp>::__shared_ptr(std::_Sp_make_shared_tag, _Alloc, _Args&& ...)’:
/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../include/c++/4.4.7/bits/shared_ptr.h:861: error: cannot use typeid with -fno-rtti
/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../include/c++/4.4.7/bits/shared_ptr.h: In function ‘_Del* std::get_deleter(const std::__shared_ptr<_Tp2, _Lp>&)’:
/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../include/c++/4.4.7/bits/shared_ptr.h:1005: error: cannot use typeid with -fno-rtti
In file included from /root/.node-gyp/8.4.0/include/node/node.h:63,
                 from ../src/coroutine.h:1,
                 from ../src/fibers.cc:1:
/root/.node-gyp/8.4.0/include/node/v8.h: At global scope:
/root/.node-gyp/8.4.0/include/node/v8.h:333: error: expected unqualified-id before ‘using’
/root/.node-gyp/8.4.0/include/node/v8.h: In constructor ‘v8::MaybeLocal<T>::MaybeLocal()’:
/root/.node-gyp/8.4.0/include/node/v8.h:350: error: ‘nullptr’ was not declared in this scope
/root/.node-gyp/8.4.0/include/node/v8.h: In member function ‘bool v8::MaybeLocal<T>::IsEmpty() const’:
/root/.node-gyp/8.4.0/include/node/v8.h:357: error: ‘nullptr’ was not declared in this scope
/root/.node-gyp/8.4.0/include/node/v8.h: In member function ‘bool v8::MaybeLocal<T>::ToLocal(v8::Local<S>*) const’:
/root/.node-gyp/8.4.0/include/node/v8.h:365: error: ‘nullptr’ was not declared in this scope
/root/.node-gyp/8.4.0/include/node/v8.h: In constructor ‘v8::Eternal<T>::Eternal()’:
/root/.node-gyp/8.4.0/include/node/v8.h:394: error: ‘nullptr’ was not declared in this scope
/root/.node-gyp/8.4.0/include/node/v8.h: In constructor ‘v8::Eternal<T>::Eternal(v8::Isolate*, v8::Local<S>)’:
/root/.node-gyp/8.4.0/include/node/v8.h:396: error: ‘nullptr’ was not declared in this scope
/root/.node-gyp/8.4.0/include/node/v8.h: In member function ‘bool v8::Eternal<T>::IsEmpty() const’:
/root/.node-gyp/8.4.0/include/node/v8.h:401: error: ‘nullptr’ was not declared in this scope
/root/.node-gyp/8.4.0/include/node/v8.h: In member function ‘bool v8::WeakCallbackInfo<T>::IsFirstPass() const’:
/root/.node-gyp/8.4.0/include/node/v8.h:441: error: ‘nullptr’ was not declared in this scope
/root/.node-gyp/8.4.0/include/node/v8.h: In constructor ‘v8::Global<T>::Global()’:
/root/.node-gyp/8.4.0/include/node/v8.h:775: error: ‘nullptr’ was not declared in this scope
/root/.node-gyp/8.4.0/include/node/v8.h: In constructor ‘v8::Global<T>::Global(v8::Global<T>&&)’:
/root/.node-gyp/8.4.0/include/node/v8.h:800: error: ‘nullptr’ was not declared in this scope
/root/.node-gyp/8.4.0/include/node/v8.h: In member function ‘v8::Global<T>& v8::Global<T>::operator=(v8::Global<S>&&)’:
/root/.node-gyp/8.4.0/include/node/v8.h:812: error: ‘nullptr’ was not declared in this scope
/root/.node-gyp/8.4.0/include/node/v8.h: At global scope:
/root/.node-gyp/8.4.0/include/node/v8.h:838: error: expected unqualified-id before ‘using’
/root/.node-gyp/8.4.0/include/node/v8.h:1143: error: ‘nullptr’ was not declared in this scope
/root/.node-gyp/8.4.0/include/node/v8.h:1149: error: ‘nullptr’ was not declared in this scope
/root/.node-gyp/8.4.0/include/node/v8.h: In constructor ‘v8::RegisterState::RegisterState()’:
/root/.node-gyp/8.4.0/include/node/v8.h:1689: error: ‘nullptr’ was not declared in this scope
/root/.node-gyp/8.4.0/include/node/v8.h: At global scope:
/root/.node-gyp/8.4.0/include/node/v8.h:3154: error: ‘nullptr’ was not declared in this scope
/root/.node-gyp/8.4.0/include/node/v8.h: In member function ‘v8::MaybeLocal<v8::Object> v8::Function::NewInstance(v8::Local<v8::Context>) const’:
/root/.node-gyp/8.4.0/include/node/v8.h:3795: error: ‘nullptr’ was not declared in this scope
/root/.node-gyp/8.4.0/include/node/v8.h: At global scope:
/root/.node-gyp/8.4.0/include/node/v8.h:4064: error: function definition does not declare parameters
/root/.node-gyp/8.4.0/include/node/v8.h:4120: error: expected unqualified-id before ‘&’ token
/root/.node-gyp/8.4.0/include/node/v8.h:4120: error: expected ‘)’ before ‘&’ token
/root/.node-gyp/8.4.0/include/node/v8.h:4120: error: expected ‘;’ before ‘&’ token
In file included from /usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../include/c++/4.4.7/bits/ostream_insert.h:36,
                 from /usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../include/c++/4.4.7/string:46,
                 from /usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../include/c++/4.4.7/bits/locale_classes.h:42,
                 from /usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../include/c++/4.4.7/bits/ios_base.h:43,
                 from /usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../include/c++/4.4.7/ios:43,
                 from /usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../include/c++/4.4.7/ostream:40,
                 from /usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../include/c++/4.4.7/iostream:40,
                 from ../src/fibers.cc:8:
/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../include/c++/4.4.7/cxxabi-forced.h:29: error: expected ‘;’ before end of line
/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../include/c++/4.4.7/cxxabi-forced.h:29: error: expected ‘}’ before end of line
/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../include/c++/4.4.7/cxxabi-forced.h:29: error: expected unqualified-id before end of line
/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../include/c++/4.4.7/cxxabi-forced.h:29: error: expected ‘}’ before end of line
/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../include/c++/4.4.7/cxxabi-forced.h:29: error: expected declaration before end of line
make: *** [Release/obj.target/fibers/src/fibers.o] Error 1
make: Leaving directory `/home/nightly/node-fibers/build'
gyp ERR! build error 
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit (/home/nightly/.nvm/versions/node/v8.4.0/lib/node_modules/node-gyp/lib/build.js:258:23)
gyp ERR! stack     at emitTwo (events.js:125:13)
gyp ERR! stack     at ChildProcess.emit (events.js:213:7)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:200:12)
gyp ERR! System Linux 2.6.32-696.1.1.el6.x86_64
gyp ERR! command "/home/nightly/.nvm/versions/node/v8.4.0/bin/node" "/home/nightly/.nvm/versions/node/v8.4.0/bin/node-gyp" "rebuild" "--release"
gyp ERR! cwd /home/nightly/node-fibers
gyp ERR! node -v v8.4.0
gyp ERR! node-gyp -v v3.6.2
gyp ERR! not ok 

Before I rebuild my node environment I thought I’d share for advice. Thx in advance for your attention.

About this issue

  • Original URL
  • State: closed
  • Created 6 years ago
  • Comments: 16 (7 by maintainers)

Most upvoted comments

Version 2.0.2 is pretty old – have you tried 3.1.1 the latest?

@devent – Why do you think your build failures are in any way related to this particular issue? What are your build issues? Where’s the failure output?? What’s the environment? It’s been 4 months since the last update here…

Including static libgcc was a non-starter as it increased the binary size from 58kb to 9.8mb. Binaries for nodejs v10.x are on npm now and I suspect some of the activity on this ticket is due to those missing. If you are still having issues with nodejs v8.x or v10.x you’ll have to troubleshoot the compiler/headers on your system.

have generated fibers.node on RHEL & finally worked.

commands helped to install g++ & build-essentials are yum install gcc-c++ and yum groupinstall 'Development Tools'

Your gcc version and likely your libc++ version are pretty out of date. I believe at least gcc version 4.8 is required. You’ll run into similar issues with other binary packages-- I’d wager that npm install ffi will return similar results. I can’t explain why it was working before as the binaries haven’t changed since 6/3/2017 when node v8.x support was first added.