node-gyp icon indicating copy to clipboard operation
node-gyp copied to clipboard

node-gyp fails for rebuilding cpu-features

Open abhakta-47 opened this issue 1 year ago • 1 comments

  • Node Version: v18.19.1
  • NPM Version: 10.2.4
  • Platform: Linux (6.6.10-1-MANJARO)
  • Compiler: gcc version 13.2.1 20230801 (GCC)
cc -v output:
Using built-in specs.
COLLECT_GCC=cc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-pc-linux-gnu/13.2.1/lto-wrapper
Target: x86_64-pc-linux-gnu
Configured with: /build/gcc/src/gcc/configure --enable-languages=ada,c,c++,d,fortran,go,lto,objc,obj-c++ --enable-bootstrap --prefix=/usr --libdir=/usr/lib --libexecdir=/usr/lib --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=https://bugs.archlinux.org/ --with-build-config=bootstrap-lto --with-linker-hash-style=gnu --with-system-zlib --enable-__cxa_atexit --enable-cet=auto --enable-checking=release --enable-clocale=gnu --enable-default-pie --enable-default-ssp --enable-gnu-indirect-function --enable-gnu-unique-object --enable-libstdcxx-backtrace --enable-link-serialization=1 --enable-linker-build-id --enable-lto --enable-multilib --enable-plugin --enable-shared --enable-threads=posix --disable-libssp --disable-libstdcxx-pch --disable-werror
Thread model: posix
Supported LTO compression algorithms: zlib zstd
gcc version 13.2.1 20230801 (GCC) 
  • Module: cpu-features

Description: I am trying to upgrade dependencies of an electron application. It requires dockerode which depends on cpu-features. While trying to build packages using electron-build it fails at rebuilding cp-features step.

package.json:
"main": "main.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "build": "webpack --config webpack.config.js",
    "prestart": "npm run build",
    "start": "electron ./app/main.js --devtools",
    "dist:linux": "electron-builder -l",
    "dist:mac": "electron-builder -m",
    "dist:win": "electron-builder -w",
    "dist:all": "electron-builder -wml",
    "dist": "electron-builder -wml",
    "lint": "eslint src/ --ext .ts,.js"
  },
  "build": {
    "appId": "vlab",
    "files": [
      {
        "from": "app",
        "to": "./"
      },
      "build",
      "package.json"
    ],
    "mac": {
      "category": "public.app-category.education",
      "target": [
        {
          "target": "dmg",
          "arch": [
            "arm64",
            "x64"
          ]
        }
      ]
    },
    "linux": {
      "target": [
        "deb",
        "snap",
        "zip"
      ]
    },
    "deb": {
      "depends": [
        "git",
        "python3"
      ]
    },
    "rpm": {
      "fpm": [
        "--iteration=1.0.0"
      ],
      "depends": [
        "git",
        "python3"
      ]
    },
    "win": {
      "target": [
        "nsis",
        "portable"
      ]
    },
    "asarUnpack": "./src/python_scripts/**",
    "extraResources": "./src/python_scripts/**"
  },
  "devDependencies": {
    "@types/dockerode": "^3.3.24",
    "@typescript-eslint/eslint-plugin": "^6.4.0",
    "babel-loader": "^9.1.3",
    "clean-webpack-plugin": "^4.0.0",
    "css-loader": "^6.10.0",
    "electron": "^29.0.1",
    "electron-builder": "^24.12.0",
    "eslint": "^8.57.0",
    "eslint-config-standard-with-typescript": "^43.0.1",
    "eslint-plugin-import": "^2.29.1",
    "eslint-plugin-n": "^16.6.2",
    "eslint-plugin-promise": "^6.1.1",
    "eslint-webpack-plugin": "^4.0.1",
    "file-loader": "^6.2.0",
    "html-webpack-plugin": "^5.6.0",
    "node-loader": "^2.0.0",
    "style-loader": "^3.3.4",
    "ts-loader": "^9.5.1",
    "typescript": "^5.3.3",
    "webpack": "^5.90.3",
    "webpack-cli": "^5.1.4"
  },
  "dependencies": {
    "bent": "^7.3.12",
    "codemirror": "^6.0.1",
    "dockerode": "^4.0.2",
    "jquery": "^3.7.1",
    "js-yaml": "^4.1.0",
    "markdown-it": "^14.0.0",
    "mkdirp": "^3.0.1",
    "open": "^10.0.3",
    "python-shell": "^5.0.0",
    "simple-git": "^3.22.0",
    "split.js": "^1.6.5",
    "targz": "^1.0.1",
    "uikit": "^3.18.3",
    "xterm": "^5.3.0",
    "xterm-addon-attach": "^0.9.0",
    "xterm-addon-fit": "^0.8.0"
  }
Verbose output (from npm or node-gyp):

> [email protected] dist:linux
> electron-builder -l

  • electron-builder  version=24.12.0 os=6.6.10-1-MANJARO
  • loaded configuration  file=package.json ("build" field)
  • rebuilding native dependencies  [email protected] platform=linux arch=x64
  ⨯ cannot execute  cause=exit status 1
                    errorOut=npm ERR! code 1
    npm ERR! path /home/abdev/projects/iitbra/vlab/node_modules/cpu-features
    npm ERR! command failed
    npm ERR! command sh -c node buildcheck.js > buildcheck.gypi && node-gyp rebuild
    npm ERR! make: Entering directory '/home/abdev/projects/iitbra/vlab/node_modules/cpu-features/build'
    npm ERR!   CC(target) Release/obj.target/cpu_features/deps/cpu_features/src/impl_aarch64_linux_or_android.o
    npm ERR!   CC(target) Release/obj.target/cpu_features/deps/cpu_features/src/impl_aarch64_macos_or_iphone.o
    npm ERR!   CC(target) Release/obj.target/cpu_features/deps/cpu_features/src/impl_arm_linux_or_android.o
    npm ERR!   CC(target) Release/obj.target/cpu_features/deps/cpu_features/src/impl_mips_linux_or_android.o
    npm ERR!   CC(target) Release/obj.target/cpu_features/deps/cpu_features/src/impl_ppc_linux.o
    npm ERR!   CC(target) Release/obj.target/cpu_features/deps/cpu_features/src/impl_x86_freebsd.o
    npm ERR!   CC(target) Release/obj.target/cpu_features/deps/cpu_features/src/impl_x86_linux_or_android.o
    npm ERR!   CC(target) Release/obj.target/cpu_features/deps/cpu_features/src/impl_x86_macos.o
    npm ERR!   CC(target) Release/obj.target/cpu_features/deps/cpu_features/src/impl_x86_windows.o
    npm ERR!   CC(target) Release/obj.target/cpu_features/deps/cpu_features/src/filesystem.o
    npm ERR!   CC(target) Release/obj.target/cpu_features/deps/cpu_features/src/stack_line_reader.o
    npm ERR!   CC(target) Release/obj.target/cpu_features/deps/cpu_features/src/string_view.o
    npm ERR! rm -f Release/obj.target/deps/cpu_features/cpu_features.a Release/obj.target/deps/cpu_features/cpu_features.a.ar-file-list; mkdir -p `dirname Release/obj.target/deps/cpu_features/cpu_features.a`
    npm ERR! ar crs Release/obj.target/deps/cpu_features/cpu_features.a @Release/obj.target/deps/cpu_features/cpu_features.a.ar-file-list
    npm ERR!   COPY Release/cpu_features.a
    npm ERR!   CXX(target) Release/obj.target/cpufeatures/src/binding.o
    npm ERR! make: Leaving directory '/home/abdev/projects/iitbra/vlab/node_modules/cpu-features/build'
    npm ERR! gyp info it worked if it ends with ok
    npm ERR! gyp info using [email protected]
    npm ERR! gyp info using [email protected] | linux | x64
    npm ERR! gyp info find Python using Python version 3.11.6 found at "/usr/bin/python3"
    npm ERR! gyp info spawn /usr/bin/python3
    npm ERR! gyp info spawn args [
    npm ERR! gyp info spawn args '/home/abdev/.nvm/versions/node/v18.19.1/lib/node_modules/npm/node_modules/node-gyp/gyp/gyp_main.py',
    npm ERR! gyp info spawn args 'binding.gyp',
    npm ERR! gyp info spawn args '-f',
    npm ERR! gyp info spawn args 'make',
    npm ERR! gyp info spawn args '-I',
    npm ERR! gyp info spawn args '/home/abdev/projects/iitbra/vlab/node_modules/cpu-features/build/config.gypi',
    npm ERR! gyp info spawn args '-I',
    npm ERR! gyp info spawn args '/home/abdev/.nvm/versions/node/v18.19.1/lib/node_modules/npm/node_modules/node-gyp/addon.gypi',
    npm ERR! gyp info spawn args '-I',
    npm ERR! gyp info spawn args '/home/abdev/.electron-gyp/29.0.1/include/node/common.gypi',
    npm ERR! gyp info spawn args '-Dlibrary=shared_library',
    npm ERR! gyp info spawn args '-Dvisibility=default',
    npm ERR! gyp info spawn args '-Dnode_root_dir=/home/abdev/.electron-gyp/29.0.1',
    npm ERR! gyp info spawn args '-Dnode_gyp_dir=/home/abdev/.nvm/versions/node/v18.19.1/lib/node_modules/npm/node_modules/node-gyp',
    npm ERR! gyp info spawn args '-Dnode_lib_file=/home/abdev/.electron-gyp/29.0.1/<(target_arch)/node.lib',
    npm ERR! gyp info spawn args '-Dmodule_root_dir=/home/abdev/projects/iitbra/vlab/node_modules/cpu-features',
    npm ERR! gyp info spawn args '-Dnode_engine=v8',
    npm ERR! gyp info spawn args '--depth=.',
    npm ERR! gyp info spawn args '--no-parallel',
    npm ERR! gyp info spawn args '--generator-output',
    npm ERR! gyp info spawn args 'build',
    npm ERR! gyp info spawn args '-Goutput_dir=.'
    npm ERR! gyp info spawn args ]
    npm ERR! gyp info spawn make
    npm ERR! gyp info spawn args [ 'BUILDTYPE=Release', '-C', 'build' ]
    npm ERR! In file included from /home/abdev/.electron-gyp/29.0.1/include/node/v8-object.h:10,
    npm ERR!                  from /home/abdev/.electron-gyp/29.0.1/include/node/v8-array-buffer.h:13,
    npm ERR!                  from /home/abdev/.electron-gyp/29.0.1/include/node/v8.h:24,
    npm ERR!                  from /home/abdev/.electron-gyp/29.0.1/include/node/node.h:79,
    npm ERR!                  from ../src/binding.cc:1:
    npm ERR! /home/abdev/.electron-gyp/29.0.1/include/node/v8-persistent-handle.h:245:44: warning: ‘template<class T> struct v8::CopyablePersistentTraits’ is deprecated: Use v8::Global instead [-Wdeprecated-declarations]
    npm ERR!   245 |   using CopyablePersistent = Persistent<T, CopyablePersistentTraits<T>>;
    npm ERR!       |                                            ^~~~~~~~~~~~~~~~~~~~~~~~
    npm ERR! /home/abdev/.electron-gyp/29.0.1/include/node/v8-persistent-handle.h:244:48: note: declared here
    npm ERR!   244 | struct V8_DEPRECATED("Use v8::Global instead") CopyablePersistentTraits {
    npm ERR!       |                                                ^~~~~~~~~~~~~~~~~~~~~~~~
    npm ERR! In file included from ../src/binding.cc:3:
    npm ERR! ../../nan/nan.h:208:16: warning: ‘template<class T> struct v8::CopyablePersistentTraits’ is deprecated: Use v8::Global instead [-Wdeprecated-declarations]
    npm ERR!   208 |     public v8::CopyablePersistentTraits<T> {};
    npm ERR!       |                ^~~~~~~~~~~~~~~~~~~~~~~~
    npm ERR! /home/abdev/.electron-gyp/29.0.1/include/node/v8-persistent-handle.h:244:48: note: declared here
    npm ERR!   244 | struct V8_DEPRECATED("Use v8::Global instead") CopyablePersistentTraits {
    npm ERR!       |                                                ^~~~~~~~~~~~~~~~~~~~~~~~
    npm ERR! ../../nan/nan.h: In function ‘bool Nan::IdleNotification(int)’:
    npm ERR! ../../nan/nan.h:688:63: warning: ‘bool v8::Isolate::IdleNotificationDeadline(double)’ is deprecated: Use MemoryPressureNotification() to influence the GC schedule. [-Wdeprecated-declarations]
    npm ERR!   688 |     return v8::Isolate::GetCurrent()->IdleNotificationDeadline(
    npm ERR!       |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    npm ERR!   689 |         idle_time_in_ms * 0.001);
    npm ERR!       |         ~~~~~~~~~~~~~~~~~~~~~~~~                               
    npm ERR! In file included from /home/abdev/.electron-gyp/29.0.1/include/node/v8-snapshot.h:9,
    npm ERR!                  from /home/abdev/.electron-gyp/29.0.1/include/node/v8-context.h:15,
    npm ERR!                  from /home/abdev/.electron-gyp/29.0.1/include/node/v8.h:26:
    npm ERR! /home/abdev/.electron-gyp/29.0.1/include/node/v8-isolate.h:1380:8: note: declared here
    npm ERR!  1380 |   bool IdleNotificationDeadline(double deadline_in_seconds);
    npm ERR!       |        ^~~~~~~~~~~~~~~~~~~~~~~~
    npm ERR! ../../nan/nan.h: In function ‘void Nan::SetAccessor(v8::Local<v8::ObjectTemplate>, v8::Local<v8::String>, GetterCallback, SetterCallback, v8::Local<v8::Value>, v8::AccessControl, v8::PropertyAttribute, imp::Sig)’:
    npm ERR! ../../nan/nan.h:2548:19: error: no matching function for call to ‘v8::ObjectTemplate::SetAccessor(v8::Local<v8::String>&, void (*&)(v8::Local<v8::Name>, const v8::PropertyCallbackInfo<v8::Value>&), void (*&)(v8::Local<v8::Name>, v8::Local<v8::Value>, const v8::PropertyCallbackInfo<void>&), v8::Local<v8::Object>&, v8::AccessControl&, v8::PropertyAttribute&)’
    npm ERR!  2548 |   tpl->SetAccessor(
    npm ERR!       |   ~~~~~~~~~~~~~~~~^
    npm ERR!  2549 |       name
    npm ERR!       |       ~~~~         
    npm ERR!  2550 |     , getter_
    npm ERR!       |     ~~~~~~~~~      
    npm ERR!  2551 |     , setter_
    npm ERR!       |     ~~~~~~~~~      
    npm ERR!  2552 |     , obj
    npm ERR!       |     ~~~~~          
    npm ERR!  2553 |     , settings
    npm ERR!       |     ~~~~~~~~~~     
    npm ERR!  2554 |     , attribute
    npm ERR!       |     ~~~~~~~~~~~    
    npm ERR!  2555 | #if (NODE_MODULE_VERSION < NODE_16_0_MODULE_VERSION)
    npm ERR!       | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    npm ERR!  2556 |     , signature
    npm ERR!       |     ~~~~~~~~~~~    
    npm ERR!  2557 | #endif
    npm ERR!       | ~~~~~~             
    npm ERR!  2558 |   );
    npm ERR!       |   ~                
    npm ERR! In file included from /home/abdev/.electron-gyp/29.0.1/include/node/v8-function.h:15,
    npm ERR!                  from /home/abdev/.electron-gyp/29.0.1/include/node/v8.h:33:
    npm ERR! /home/abdev/.electron-gyp/29.0.1/include/node/v8-template.h:800:8: note: candidate: ‘void v8::ObjectTemplate::SetAccessor(v8::Local<v8::String>, v8::AccessorGetterCallback, v8::AccessorSetterCallback, v8::Local<v8::Value>, v8::PropertyAttribute, v8::SideEffectType, v8::SideEffectType)’
    npm ERR!   800 |   void SetAccessor(
    npm ERR!       |        ^~~~~~~~~~~
    npm ERR! /home/abdev/.electron-gyp/29.0.1/include/node/v8-template.h:803:61: note:   no known conversion for argument 5 from ‘v8::AccessControl’ to ‘v8::PropertyAttribute’
    npm ERR!   803 |       Local<Value> data = Local<Value>(), PropertyAttribute attribute = None,
    npm ERR!       |                                           ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~
    npm ERR! /home/abdev/.electron-gyp/29.0.1/include/node/v8-template.h:806:8: note: candidate: ‘void v8::ObjectTemplate::SetAccessor(v8::Local<v8::Name>, v8::AccessorNameGetterCallback, v8::AccessorNameSetterCallback, v8::Local<v8::Value>, v8::PropertyAttribute, v8::SideEffectType, v8::SideEffectType)’
    npm ERR!   806 |   void SetAccessor(
    npm ERR!       |        ^~~~~~~~~~~
    npm ERR! /home/abdev/.electron-gyp/29.0.1/include/node/v8-template.h:809:61: note:   no known conversion for argument 5 from ‘v8::AccessControl’ to ‘v8::PropertyAttribute’
    npm ERR!   809 |       Local<Value> data = Local<Value>(), PropertyAttribute attribute = None,
    npm ERR!       |                                           ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~
    npm ERR! ../../nan/nan.h: In function ‘void Nan::SetAccessor(v8::Local<v8::ObjectTemplate>, v8::Local<v8::String>, GetterCallback, SetterCallback, v8::Local<v8::Value>, v8::AccessControl, v8::PropertyAttribute)’:
    npm ERR! ../../nan/nan.h:2594:19: error: no matching function for call to ‘v8::ObjectTemplate::SetAccessor(v8::Local<v8::String>&, void (*&)(v8::Local<v8::Name>, const v8::PropertyCallbackInfo<v8::Value>&), void (*&)(v8::Local<v8::Name>, v8::Local<v8::Value>, const v8::PropertyCallbackInfo<void>&), v8::Local<v8::Object>&, v8::AccessControl&, v8::PropertyAttribute&)’
    npm ERR!  2594 |   tpl->SetAccessor(
    npm ERR!       |   ~~~~~~~~~~~~~~~~^
    npm ERR!  2595 |       name
    npm ERR!       |       ~~~~         
    npm ERR!  2596 |     , getter_
    npm ERR!       |     ~~~~~~~~~      
    npm ERR!  2597 |     , setter_
    npm ERR!       |     ~~~~~~~~~      
    npm ERR!  2598 |     , obj
    npm ERR!       |     ~~~~~          
    npm ERR!  2599 |     , settings
    npm ERR!       |     ~~~~~~~~~~     
    npm ERR!  2600 |     , attribute
    npm ERR!       |     ~~~~~~~~~~~    
    npm ERR!  2601 |   );
    npm ERR!       |   ~                
    npm ERR! /home/abdev/.electron-gyp/29.0.1/include/node/v8-template.h:800:8: note: candidate: ‘void v8::ObjectTemplate::SetAccessor(v8::Local<v8::String>, v8::AccessorGetterCallback, v8::AccessorSetterCallback, v8::Local<v8::Value>, v8::PropertyAttribute, v8::SideEffectType, v8::SideEffectType)’
    npm ERR!   800 |   void SetAccessor(
    npm ERR!       |        ^~~~~~~~~~~
    npm ERR! /home/abdev/.electron-gyp/29.0.1/include/node/v8-template.h:803:61: note:   no known conversion for argument 5 from ‘v8::AccessControl’ to ‘v8::PropertyAttribute’
    npm ERR!   803 |       Local<Value> data = Local<Value>(), PropertyAttribute attribute = None,
    npm ERR!       |                                           ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~
    npm ERR! /home/abdev/.electron-gyp/29.0.1/include/node/v8-template.h:806:8: note: candidate: ‘void v8::ObjectTemplate::SetAccessor(v8::Local<v8::Name>, v8::AccessorNameGetterCallback, v8::AccessorNameSetterCallback, v8::Local<v8::Value>, v8::PropertyAttribute, v8::SideEffectType, v8::SideEffectType)’
    npm ERR!   806 |   void SetAccessor(
    npm ERR!       |        ^~~~~~~~~~~
    npm ERR! /home/abdev/.electron-gyp/29.0.1/include/node/v8-template.h:809:61: note:   no known conversion for argument 5 from ‘v8::AccessControl’ to ‘v8::PropertyAttribute’
    npm ERR!   809 |       Local<Value> data = Local<Value>(), PropertyAttribute attribute = None,
    npm ERR!       |                                           ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~
    npm ERR! ../../nan/nan.h: In function ‘bool Nan::SetAccessor(v8::Local<v8::Object>, v8::Local<v8::String>, GetterCallback, SetterCallback, v8::Local<v8::Value>, v8::AccessControl, v8::PropertyAttribute)’:
    npm ERR! ../../nan/nan.h:2638:26: warning: ‘v8::Maybe<bool> v8::Object::SetAccessor(v8::Local<v8::Context>, v8::Local<v8::Name>, v8::AccessorNameGetterCallback, v8::AccessorNameSetterCallback, v8::MaybeLocal<v8::Value>, v8::AccessControl, v8::PropertyAttribute, v8::SideEffectType, v8::SideEffectType)’ is deprecated: Use SetNativeDataProperty instead [-Wdeprecated-declarations]
    npm ERR!  2638 |   return obj->SetAccessor(
    npm ERR!       |          ~~~~~~~~~~~~~~~~^
    npm ERR!  2639 |       GetCurrentContext()
    npm ERR!       |       ~~~~~~~~~~~~~~~~~~~ 
    npm ERR!  2640 |     , name
    npm ERR!       |     ~~~~~~                
    npm ERR!  2641 |     , getter_
    npm ERR!       |     ~~~~~~~~~             
    npm ERR!  2642 |     , setter_
    npm ERR!       |     ~~~~~~~~~             
    npm ERR!  2643 |     , dataobj
    npm ERR!       |     ~~~~~~~~~             
    npm ERR!  2644 |     , settings
    npm ERR!       |     ~~~~~~~~~~            
    npm ERR!  2645 |     , attribute).FromMaybe(false);
    npm ERR!       |     ~~~~~~~~~~~~          
    npm ERR! /home/abdev/.electron-gyp/29.0.1/include/node/v8-object.h:345:37: note: declared here
    npm ERR!   345 |   V8_WARN_UNUSED_RESULT Maybe<bool> SetAccessor(
    npm ERR!       |                                     ^~~~~~~~~~~
    npm ERR! In file included from ../../nan/nan.h:2950:
    npm ERR! ../../nan/nan_scriptorigin.h: In constructor ‘Nan::ScriptOrigin::ScriptOrigin(v8::Local<v8::Value>)’:
    npm ERR! ../../nan/nan_scriptorigin.h:19:55: warning: ‘v8::ScriptOrigin::ScriptOrigin(v8::Isolate*, v8::Local<v8::Value>, int, int, bool, int, v8::Local<v8::Value>, bool, bool, bool, v8::Local<v8::Data>)’ is deprecated: Use constructor without the isolate. [-Wdeprecated-declarations]
    npm ERR!    19 |       v8::ScriptOrigin(v8::Isolate::GetCurrent(), name) {}
    npm ERR!       |                                                       ^
    npm ERR! In file included from /home/abdev/.electron-gyp/29.0.1/include/node/v8-script.h:20,
    npm ERR!                  from /home/abdev/.electron-gyp/29.0.1/include/node/v8-debug.h:10,
    npm ERR!                  from /home/abdev/.electron-gyp/29.0.1/include/node/v8-isolate.h:18:
    npm ERR! /home/abdev/.electron-gyp/29.0.1/include/node/v8-message.h:65:13: note: declared here
    npm ERR!    65 |   V8_INLINE ScriptOrigin(Isolate* isolate, Local<Value> resource_name,
    npm ERR!       |             ^~~~~~~~~~~~
    npm ERR! ../../nan/nan_scriptorigin.h: In constructor ‘Nan::ScriptOrigin::ScriptOrigin(v8::Local<v8::Value>, v8::Local<v8::Integer>)’:
    npm ERR! ../../nan/nan_scriptorigin.h:25:52: warning: ‘v8::ScriptOrigin::ScriptOrigin(v8::Isolate*, v8::Local<v8::Value>, int, int, bool, int, v8::Local<v8::Value>, bool, bool, bool, v8::Local<v8::Data>)’ is deprecated: Use constructor without the isolate. [-Wdeprecated-declarations]
    npm ERR!    25 |                    , To<int32_t>(line).FromMaybe(0)) {}
    npm ERR!       |                                                    ^
    npm ERR! /home/abdev/.electron-gyp/29.0.1/include/node/v8-message.h:65:13: note: declared here
    npm ERR!    65 |   V8_INLINE ScriptOrigin(Isolate* isolate, Local<Value> resource_name,
    npm ERR!       |             ^~~~~~~~~~~~
    npm ERR! ../../nan/nan_scriptorigin.h: In constructor ‘Nan::ScriptOrigin::ScriptOrigin(v8::Local<v8::Value>, v8::Local<v8::Integer>, v8::Local<v8::Integer>)’:
    npm ERR! ../../nan/nan_scriptorigin.h:33:54: warning: ‘v8::ScriptOrigin::ScriptOrigin(v8::Isolate*, v8::Local<v8::Value>, int, int, bool, int, v8::Local<v8::Value>, bool, bool, bool, v8::Local<v8::Data>)’ is deprecated: Use constructor without the isolate. [-Wdeprecated-declarations]
    npm ERR!    33 |                    , To<int32_t>(column).FromMaybe(0)) {}
    npm ERR!       |                                                      ^
    npm ERR! /home/abdev/.electron-gyp/29.0.1/include/node/v8-message.h:65:13: note: declared here
    npm ERR!    65 |   V8_INLINE ScriptOrigin(Isolate* isolate, Local<Value> resource_name,
    npm ERR!       |             ^~~~~~~~~~~~
    npm ERR! ../src/binding.cc: At global scope:
    npm ERR! /home/abdev/.electron-gyp/29.0.1/include/node/node.h:1200:7: warning: cast between incompatible function types from ‘void (*)(Nan::ADDON_REGISTER_FUNCTION_ARGS_TYPE)’ {aka ‘void (*)(v8::Local<v8::Object>)’} to ‘node::addon_register_func’ {aka ‘void (*)(v8::Local<v8::Object>, v8::Local<v8::Value>, void*)’} [-Wcast-function-type]
    npm ERR!  1200 |       (node::addon_register_func) (regfunc),                          \
    npm ERR!       |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    npm ERR! /home/abdev/.electron-gyp/29.0.1/include/node/node.h:1234:3: note: in expansion of macro ‘NODE_MODULE_X’
    npm ERR!  1234 |   NODE_MODULE_X(modname, regfunc, NULL, 0)  // NOLINT (readability/null_usage)
    npm ERR!       |   ^~~~~~~~~~~~~
    npm ERR! ../src/binding.cc:151:1: note: in expansion of macro ‘NODE_MODULE’
    npm ERR!   151 | NODE_MODULE(cpufeatures, init)
    npm ERR!       | ^~~~~~~~~~~
    npm ERR! make: *** [cpufeatures.target.mk:138: Release/obj.target/cpufeatures/src/binding.o] Error 1
    npm ERR! gyp ERR! build error 
    npm ERR! gyp ERR! stack Error: `make` failed with exit code: 2
    npm ERR! gyp ERR! stack at ChildProcess.<anonymous> (/home/abdev/.nvm/versions/node/v18.19.1/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:209:23)
    npm ERR! gyp ERR! System Linux 6.6.10-1-MANJARO
    npm ERR! gyp ERR! command "/home/abdev/.nvm/versions/node/v18.19.1/bin/node" "/home/abdev/.nvm/versions/node/v18.19.1/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
    npm ERR! gyp ERR! cwd /home/abdev/projects/iitbra/vlab/node_modules/cpu-features
    npm ERR! gyp ERR! node -v v18.19.1
    npm ERR! gyp ERR! node-gyp -v v10.0.1
    npm ERR! gyp ERR! not ok
    
    npm ERR! A complete log of this run can be found in: /home/abdev/.npm/_logs/2024-02-25T08_53_24_524Z-debug-0.log
    
                    command=/home/abdev/.nvm/versions/node/v18.19.1/bin/node /home/abdev/.nvm/versions/node/v18.19.1/lib/node_modules/npm/bin/npm-cli.js rebuild [email protected]
                    workingDir=

Note: If I do node-gyp rebuild inside node_modules/cpu-features folder, it succeeds !

node-gyp rebuild output:
❯ node-gyp rebuild
gyp info it worked if it ends with ok
gyp info using [email protected]
gyp info using [email protected] | linux | x64
gyp info find Python using Python version 3.11.6 found at "/usr/bin/python3"

gyp info spawn /usr/bin/python3
gyp info spawn args [
gyp info spawn args '/usr/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/abdev/projects/iitbra/vlab/node_modules/cpu-features/build/config.gypi',
gyp info spawn args '-I',
gyp info spawn args '/usr/lib/node_modules/node-gyp/addon.gypi',
gyp info spawn args '-I',
gyp info spawn args '/home/abdev/.cache/node-gyp/18.19.1/include/node/common.gypi',
gyp info spawn args '-Dlibrary=shared_library',
gyp info spawn args '-Dvisibility=default',
gyp info spawn args '-Dnode_root_dir=/home/abdev/.cache/node-gyp/18.19.1',
gyp info spawn args '-Dnode_gyp_dir=/usr/lib/node_modules/node-gyp',
gyp info spawn args '-Dnode_lib_file=/home/abdev/.cache/node-gyp/18.19.1/<(target_arch)/node.lib',
gyp info spawn args '-Dmodule_root_dir=/home/abdev/projects/iitbra/vlab/node_modules/cpu-features',
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 info spawn args ]
gyp info spawn make
gyp info spawn args [ 'BUILDTYPE=Release', '-C', 'build' ]
make: Entering directory '/home/abdev/projects/iitbra/vlab/node_modules/cpu-features/build'
  CC(target) Release/obj.target/cpu_features/deps/cpu_features/src/impl_aarch64_linux_or_android.o
  CC(target) Release/obj.target/cpu_features/deps/cpu_features/src/impl_aarch64_macos_or_iphone.o
  CC(target) Release/obj.target/cpu_features/deps/cpu_features/src/impl_arm_linux_or_android.o
  CC(target) Release/obj.target/cpu_features/deps/cpu_features/src/impl_mips_linux_or_android.o
  CC(target) Release/obj.target/cpu_features/deps/cpu_features/src/impl_ppc_linux.o
  CC(target) Release/obj.target/cpu_features/deps/cpu_features/src/impl_x86_freebsd.o
  CC(target) Release/obj.target/cpu_features/deps/cpu_features/src/impl_x86_linux_or_android.o
  CC(target) Release/obj.target/cpu_features/deps/cpu_features/src/impl_x86_macos.o
  CC(target) Release/obj.target/cpu_features/deps/cpu_features/src/impl_x86_windows.o
  CC(target) Release/obj.target/cpu_features/deps/cpu_features/src/filesystem.o
  CC(target) Release/obj.target/cpu_features/deps/cpu_features/src/stack_line_reader.o
  CC(target) Release/obj.target/cpu_features/deps/cpu_features/src/string_view.o
rm -f Release/obj.target/deps/cpu_features/cpu_features.a Release/obj.target/deps/cpu_features/cpu_features.a.ar-file-list; mkdir -p `dirname Release/obj.target/deps/cpu_features/cpu_features.a`
ar crs Release/obj.target/deps/cpu_features/cpu_features.a @Release/obj.target/deps/cpu_features/cpu_features.a.ar-file-list
  COPY Release/cpu_features.a
  CXX(target) Release/obj.target/cpufeatures/src/binding.o
In file included from ../src/binding.cc:1:
/home/abdev/.cache/node-gyp/18.19.1/include/node/node.h:1014:7: warning: cast between incompatible function types from ‘void (*)(Nan::ADDON_REGISTER_FUNCTION_ARGS_TYPE)’ {aka ‘void (*)(v8::Local<v8::Object>)’} to ‘node::addon_register_func’ {aka ‘void (*)(v8::Local<v8::Object>, v8::Local<v8::Value>, void*)’} [-Wcast-function-type]
 1014 |       (node::addon_register_func) (regfunc),                          \
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/abdev/.cache/node-gyp/18.19.1/include/node/node.h:1048:3: note: in expansion of macro ‘NODE_MODULE_X’
 1048 |   NODE_MODULE_X(modname, regfunc, NULL, 0)  // NOLINT (readability/null_usage)
      |   ^~~~~~~~~~~~~
../src/binding.cc:151:1: note: in expansion of macro ‘NODE_MODULE’
  151 | NODE_MODULE(cpufeatures, init)
      | ^~~~~~~~~~~
  SOLINK_MODULE(target) Release/obj.target/cpufeatures.node
  COPY Release/cpufeatures.node
make: Leaving directory '/home/abdev/projects/iitbra/vlab/node_modules/cpu-features/build'
gyp info ok 

abhakta-47 avatar Feb 25 '24 08:02 abhakta-47

I solved the issue after updating Microsoft visual studio from 2017 to 2019. theia discussions 13760

hyy215 avatar Jun 18 '24 00:06 hyy215