DataDog / datadog-ci

Use Datadog from your CI.
https://datadoghq.com
Apache License 2.0
127 stars 55 forks source link

datadog-ci: 2.43.0: node_modules/cpu-features: Command failed. with Node 22.9.0 #1476

Open mikhailbartashevich opened 2 weeks ago

mikhailbartashevich commented 2 weeks ago

Bug description

Hello After upgrading to Node 22.9.0 we face with this issue during yarn install Tried datadog-ci: 2.43.0 Tried datadog-ci: 2.42.0 Thanks!

[1/2] ⠄ cpu-features
warning Error running install script for optional dependency: "/Users/mikhailbartashevich/Project/public-frontend/node_modules/cpu-features: Command failed.
Exit code: 1
Command: node buildcheck.js > buildcheck.gypi && node-gyp rebuild
Arguments: 
Directory: /Users/mikhailbartashevich/Project/public-frontend/node_modules/cpu-features
Output:
gyp info it worked if it ends with ok
gyp info using node-gyp@10.2.0
gyp info using node@22.9.0 | darwin | arm64
gyp info find Python using Python version 3.12.6 found at \"/opt/homebrew/opt/python@3.12/bin/python3.12\"

gyp info spawn /opt/homebrew/opt/python@3.12/bin/python3.12
gyp info spawn args [
gyp info spawn args '/Users/mikhailbartashevich/.config/yarn/global/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 '/Users/mikhailbartashevich/Project/public-frontend/node_modules/cpu-features/build/config.gypi',
gyp info spawn args '-I',
gyp info spawn args '/Users/mikhailbartashevich/.config/yarn/global/node_modules/node-gyp/addon.gypi',
gyp info spawn args '-I',
gyp info spawn args '/Users/mikhailbartashevich/Library/Caches/node-gyp/22.9.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=/Users/mikhailbartashevich/Library/Caches/node-gyp/22.9.0',
gyp info spawn args '-Dnode_gyp_dir=/Users/mikhailbartashevich/.config/yarn/global/node_modules/node-gyp',
gyp info spawn args '-Dnode_lib_file=/Users/mikhailbartashevich/Library/Caches/node-gyp/22.9.0/<(target_arch)/node.lib',
gyp info spawn args '-Dmodule_root_dir=/Users/mikhailbartashevich/Project/public-frontend/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' ]
  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
  CC(target) Release/obj.target/cpu_features/deps/cpu_features/src/hwcaps.o
  LIBTOOL-STATIC Release/cpu_features.a
  CXX(target) Release/obj.target/cpufeatures/src/binding.o
In file included from ../src/binding.cc:3:
../node_modules/nan/nan.h:2546:8: error: no matching member function for call to 'SetAccessor'
 2546 |   tpl->SetAccessor(
      |   ~~~~~^~~~~~~~~~~
/Users/mikhailbartashevich/Library/Caches/node-gyp/22.9.0/include/node/v8-template.h:1055:8: note: candidate function not viable: no known conversion from 'v8::AccessControl' to 'PropertyAttribute' for 5th argument
 1055 |   void SetAccessor(
      |        ^
 1056 |       Local<Name> name, AccessorNameGetterCallback getter,
 1057 |       AccessorNameSetterCallback setter = nullptr,
 1058 |       Local<Value> data = Local<Value>(), PropertyAttribute attribute = None,
      |                                           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/mikhailbartashevich/Library/Caches/node-gyp/22.9.0/include/node/v8-template.h:1049:8: note: candidate function not viable: no known conversion from 'imp::NativeGetter' (aka 'void (*)(v8::Local<v8::Name>, const v8::PropertyCallbackInfo<v8::Value> &)') to 'AccessorGetterCallback' (aka 'void (*)(Local<String>, const PropertyCallbackInfo<Value> &)') for 2nd argument
 1049 |   void SetAccessor(
      |        ^
 1050 |       Local<String> name, AccessorGetterCallback getter,
      |                           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ../src/binding.cc:3:
../node_modules/nan/nan.h:2592:8: error: no matching member function for call to 'SetAccessor'
 2592 |   tpl->SetAccessor(
      |   ~~~~~^~~~~~~~~~~
/Users/mikhailbartashevich/Library/Caches/node-gyp/22.9.0/include/node/v8-template.h:1055:8: note: candidate function not viable: no known conversion from 'v8::AccessControl' to 'PropertyAttribute' for 5th argument
 1055 |   void SetAccessor(
      |        ^
 1056 |       Local<Name> name, AccessorNameGetterCallback getter,
 1057 |       AccessorNameSetterCallback setter = nullptr,
 1058 |       Local<Value> data = Local<Value>(), PropertyAttribute attribute = None,
      |                                           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/mikhailbartashevich/Library/Caches/node-gyp/22.9.0/include/node/v8-template.h:1049:8: note: candidate function not viable: no known conversion from 'imp::NativeGetter' (aka 'void (*)(v8::Local<v8::Name>, const v8::PropertyCallbackInfo<v8::Value> &)') to 'AccessorGetterCallback' (aka 'void (*)(Local<String>, const PropertyCallbackInfo<Value> &)') for 2nd argument
 1049 |   void SetAccessor(
      |        ^
 1050 |       Local<String> name, AccessorGetterCallback getter,
      |                           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ../src/binding.cc:1:
In file included from /Users/mikhailbartashevich/Library/Caches/node-gyp/22.9.0/include/node/node.h:73:
In file included from /Users/mikhailbartashevich/Library/Caches/node-gyp/22.9.0/include/node/v8.h:24:
In file included from /Users/mikhailbartashevich/Library/Caches/node-gyp/22.9.0/include/node/v8-array-buffer.h:12:
/Users/mikhailbartashevich/Library/Caches/node-gyp/22.9.0/include/node/v8-local-handle.h:269:19: error: static assertion failed due to requirement 'std::is_base_of<v8::Value, v8::Data>::value': type check
  269 |     static_assert(std::is_base_of<T, S>::value, \"type check\");
      |                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../node_modules/nan/nan_callbacks_12_inl.h:175:20: note: in instantiation of function template specialization 'v8::Local<v8::Value>::Local<v8::Data>' requested here
  175 |       cbinfo(info, obj->GetInternalField(kDataIndex));
      |                    ^
3 errors generated.
make: *** [Release/obj.target/cpufeatures/src/binding.o] Error 1
gyp ERR! build error 
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack at ChildProcess.<anonymous> (/Users/mikhailbartashevich/.config/yarn/global/node_modules/node-gyp/lib/build.js:216:23)
gyp ERR! System Darwin 23.6.0
gyp ERR! command \"/Users/mikhailbartashevich/.nvm/versions/node/v22.9.0/bin/node\" \"/Users/mikhailbartashevich/.yarn/bin/node-gyp\" \"rebuild\"
gyp ERR! cwd /Users/mikhailbartashevich/Project/public-frontend/node_modules/cpu-features
gyp ERR! node -v v22.9.0
gyp ERR! node-gyp -v v10.2.0
gyp ERR! not ok"

Describe what you expected

No response

Steps to reproduce the issue

Upgrade to Node 22.9.0 yarn install

Additional context

Command

None

Drarig29 commented 1 week ago

Hey @mikhailbartashevich!

What version of yarn are you using?

And maybe you can follow https://github.com/Automattic/node-canvas/issues/2365#issuecomment-2025883553, which says you might have to install setuptools 🤔