hostnamectl; # tested on
Virtualization: kvm <- all the madness please only virtualized and sandboxed
Operating System: Debian GNU/Linux 12 (bookworm)
Kernel: Linux 6.1.0-37-amd64
Architecture: x86-64
Hardware Vendor: QEMU
Hardware Model: Standard PC _Q35 + ICH9, 2009_
Firmware Version: 1.16.3-debian-1.16.3-2
su - root
apt-get install -y build-essential libx11-dev libxkbfile-dev pkg-config libkrb5-dev git
# install latest node.js + npm manually
# https://nodejs.org/en/download/current
# in order to avoid
#npm WARN EBADENGINE Unsupported engine {
#npm WARN EBADENGINE package: 'typescript@5.9.0-dev.20250707',
#npm WARN EBADENGINE required: { node: '>=14.17' },
#npm WARN EBADENGINE current: { node: 'v12.22.12', npm: '7.5.2' }
# download and install (2025-07 latest) nvm:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.3/install.sh | bash
# in lieu of restarting the shell
\. "$HOME/.nvm/nvm.sh"
# Download and install Node.js:
nvm install 24
# Verify the Node.js version:
node -v; # "v24.4.1".
nvm current; # "v24.4.1".
# verify npm version:
npm -v; # should print "11.4.2".
nvm use 24
# Ctrl+D as non-root user
git clone https://github.com/microsoft/vscode.git
cd vscode
npm install
# well that works like a "charm" X-D (not)
npm ERR! gyp ERR! not ok <- it did not work
# howto after error, restart compilation process
npm cache clean --force;
rm -rf node_modules;
npm install;
# major problem ~/temp/vscode$ error:
#error "C++20 or later required."
# Debian12
/usr/bin/g++ --version
g++ (Debian 12.2.0-14+deb12u1) 12.2.0
# Debian13
g++ --version
g++ (Debian 14.2.0-19) 14.2.0
vim /home/user/.cache/node-gyp/24.4.1/include/node/v8config.h
// gcc 10 defines __cplusplus to "an unspecified value strictly larger than
// 201703L" for its experimental -std=gnu++2a config.
// TODO(leszeks): Change to `__cplusplus <= 202002L` once we only support
// compilers with full C++20 support.
#if __cplusplus <= 201703L
#error "C++20 or later required."
#endif
## it uses this
/usr/lib/gcc/x86_64-linux-gnu/12/cc1 --help|less
# gcc is often referred to as the compiler, but technically, it's a driver program that orchestrates the compilation process
# actual compilation steps
# involve several tools:
## Preprocessor (cpp): Expands macros, includes header files, and performs preliminary text substitutions
## Compiler (cc1 for C, cc1plus for C++): Translates the preprocessed source code into assembly code
## Assembler (as): Converts assembly code into machine code (object files)
## Linker (ld): Combines object files and libraries to produce an executable
## run gcc, it calls these tools in sequence to perform the compilation process
## while gcc is commonly referred to as the compiler, it's more accurate to say
## it's a compiler driver that manages the compilation pipeline
## gcc (driver) --> cpp (preprocessor) --> cc1 (compiler) --> as (assembler) --> ld (linker) --> executable
# cc (C compiler, likely gcc)
# cc1 (C compiler driver, internal to gcc)
# cc1plus (C++ compiler driver, internal to g++)
# while trying to build latest vscode, after getting latest node.js + npm, have to build latest g++ X-D
apt install libgmp-dev libmpfr-dev libmpc-dev flex bison texinfo; # install requirements
git clone git://gcc.gnu.org/git/gcc.git
mkdir build
cd build
# configure: error: I suspect your system does not have 32-bit development libraries (libc and headers). If you have them, rerun configure with --enable-multilib. If you do not have them, and want to build a 64-bit-only compiler, rerun configure with --disable-multilib.
../configure --disable-multilib --enable-languages=c++,c --prefix=/usr/local/gcc-latest
make -j$(nproc); # start compilation process with all CPU cores, this might take up to 1h
sudo make install; # install binaries
/usr/local/gcc-latest/bin/g++ --version
g++ (GCC) 16.0.0 20250725 (experimental)
# make sure it's used per default
sudo update-alternatives --remove-all g++;
sudo update-alternatives --install /usr/bin/g++ g++ /usr/local/gcc-latest/bin/g++ 100;
sudo update-alternatives --config g++;
sudo ln -sf /usr/local/gcc-latest/bin/g++ /usr/bin/g++;
ln -sv /usr/lib/gcc/x86_64-linux-gnu/12/cc1 /usr/bin/cc
ln -sv /usr/lib/gcc/x86_64-linux-gnu/12/cc1 /usr/bin/cc1
ln -sv /usr/local/gcc-latest/bin/gcc /usr/bin/gcc
# tested even downgrading gcc but no avail
# https://packages.debian.org/bullseye/amd64/libstdc++-10-dev/download
wget http://ftp.us.debian.org/debian/pool/main/g/gcc-10/libstdc++-10-dev_10.2.1-6_amd64.deb
# https://packages.debian.org/bullseye/amd64/g++-10/download
wget http://ftp.us.debian.org/debian/pool/main/g/gcc-10/g++-10_10.2.1-6_amd64.deb
dpkg -i libstdc++-10-dev_10.2.1-6_amd64.deb
dpkg -i g++-10_10.2.1-6_amd64.deb
g++-10 --version
g++-10 (Debian 10.2.1-6) 10.2.1 20210110
Copyright (C) 2020 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
which cc
/usr/bin/cc
which gcc
/usr/bin/gcc
export CC='gcc';
export CXX='g++-10 -std=c++20';
npx npm-check -u -g; # trying to upgrade all packages to lastest
rm -rf /home/user/temp/vscode/node_modules/native-watchdog/*; rm -rf /home/user/temp/vscode/node_modules/native-is-elevated/*; rm -rf /home/user/temp/vscode/node_modules/node-pty/*; rm -rf /home/user/temp/vscode/node_modules/native-keymap/*; rm -rf /home/user/temp/vscode/node_modules/node-pty/*; npm cache clean --force; rm -rf node_modules; npm install; # after error, restart compilation process
g++ --version; # this is (currently) very latest version, but some form of v20 compatibility would be required
g++ (GCC) 16.0.0 20250725 (experimental)
Copyright (C) 2025 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
npm install
npm warn Unknown env config "npm-config-node-gyp". This will stop working in the next major version of npm.
npm warn Unknown env config "ms-build-id". This will stop working in the next major version of npm.
npm warn Unknown env config "build-from-source". This will stop working in the next major version of npm.
npm warn Unknown env config "target". This will stop working in the next major version of npm.
npm warn Unknown env config "arch". This will stop working in the next major version of npm.
npm warn Unknown env config "runtime". This will stop working in the next major version of npm.
npm warn Unknown env config "disturl". This will stop working in the next major version of npm.
npm warn Unknown env config "timeout". This will stop working in the next major version of npm.
npm warn Unknown project config "disturl". This will stop working in the next major version of npm.
npm warn Unknown project config "runtime". This will stop working in the next major version of npm.
npm warn Unknown project config "build_from_source". This will stop working in the next major version of npm.
npm warn Unknown project config "force_process_config". This will stop working in the next major version of npm.
npm warn Unknown project config "timeout". This will stop working in the next major version of npm.
npm warn deprecated inflight@1.0.6: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.
npm warn deprecated glob@7.2.3: Glob versions prior to v9 are no longer supported
npm warn deprecated electron-osx-sign@0.4.16: Please use @electron/osx-sign moving forward. Be aware the API is slightly different
npm error code 1
npm error path /home/user/temp/vscode/build/node_modules/tree-sitter
npm error command failed
npm error command sh -c node-gyp-build
npm error make: Entering directory '/home/user/temp/vscode/build/node_modules/tree-sitter/build'
npm error TOUCH Release/obj.target/node_modules/node-addon-api/node_addon_api_except.stamp
npm error CC(target) Release/obj.target/tree_sitter/vendor/tree-sitter/lib/src/lib.o
npm error rm -f Release/obj.target/tree_sitter.a Release/obj.target/tree_sitter.a.ar-file-list; mkdir -p `dirname Release/obj.target/tree_sitter.a`
npm error ar crs Release/obj.target/tree_sitter.a @Release/obj.target/tree_sitter.a.ar-file-list
npm error COPY Release/tree_sitter.a
npm error CXX(target) Release/obj.target/tree_sitter_runtime_binding/src/binding.o
npm error make: Leaving directory '/home/user/temp/vscode/build/node_modules/tree-sitter/build'
npm error gyp info it worked if it ends with ok
npm error gyp info using node-gyp@11.2.0
npm error gyp info using node@24.4.1 | linux | x64
npm error gyp info find Python using Python version 3.11.2 found at "/usr/bin/python3"
npm error gyp info spawn /usr/bin/python3
npm error gyp info spawn args [
npm error gyp info spawn args '/home/user/.nvm/versions/node/v24.4.1/lib/node_modules/npm/node_modules/node-gyp/gyp/gyp_main.py',
npm error gyp info spawn args 'binding.gyp',
npm error gyp info spawn args '-f',
npm error gyp info spawn args 'make',
npm error gyp info spawn args '-I',
npm error gyp info spawn args '/home/user/temp/vscode/build/node_modules/tree-sitter/build/config.gypi',
npm error gyp info spawn args '-I',
npm error gyp info spawn args '/home/user/.nvm/versions/node/v24.4.1/lib/node_modules/npm/node_modules/node-gyp/addon.gypi',
npm error gyp info spawn args '-I',
npm error gyp info spawn args '/home/user/.cache/node-gyp/24.4.1/include/node/common.gypi',
npm error gyp info spawn args '-Dlibrary=shared_library',
npm error gyp info spawn args '-Dvisibility=default',
npm error gyp info spawn args '-Dnode_root_dir=/home/user/.cache/node-gyp/24.4.1',
npm error gyp info spawn args '-Dnode_gyp_dir=/home/user/.nvm/versions/node/v24.4.1/lib/node_modules/npm/node_modules/node-gyp',
npm error gyp info spawn args '-Dnode_lib_file=/home/user/.cache/node-gyp/24.4.1/<(target_arch)/node.lib',
npm error gyp info spawn args '-Dmodule_root_dir=/home/user/temp/vscode/build/node_modules/tree-sitter',
npm error gyp info spawn args '-Dnode_engine=v8',
npm error gyp info spawn args '--depth=.',
npm error gyp info spawn args '--no-parallel',
npm error gyp info spawn args '--generator-output',
npm error gyp info spawn args 'build',
npm error gyp info spawn args '-Goutput_dir=.'
npm error gyp info spawn args ]
npm error gyp info spawn make
npm error gyp info spawn args [ 'BUILDTYPE=Release', '-C', 'build' ]
npm error In file included from /home/user/.cache/node-gyp/24.4.1/include/node/cppgc/common.h:8,
npm error from /home/user/.cache/node-gyp/24.4.1/include/node/v8.h:23,
npm error from /home/user/.cache/node-gyp/24.4.1/include/node/node_object_wrap.h:25,
npm error from ../src/./language.h:7,
npm error from ../src/binding.cc:3:
npm error /home/user/.cache/node-gyp/24.4.1/include/node/v8config.h:13:2: error: #error "C++20 or later required."
npm error 13 | #error "C++20 or later required."
npm error | ^~~~~
npm error In file included from /home/user/.cache/node-gyp/24.4.1/include/node/v8-array-buffer.h:12,
npm error from /home/user/.cache/node-gyp/24.4.1/include/node/v8.h:24:
npm error /home/user/.cache/node-gyp/24.4.1/include/node/v8-local-handle.h:280:5: warning: identifier ‘requires’ is a keyword in C++20 [-Wc++20-compat]
npm error 280 | requires std::is_base_of_v<T, S>
npm error | ^~~~~~~~
npm error In file included from /home/user/.cache/node-gyp/24.4.1/include/node/cppgc/internal/conditional-stack-allocated.h:10,
npm error from /home/user/.cache/node-gyp/24.4.1/include/node/v8-maybe.h:11,
npm error from /home/user/.cache/node-gyp/24.4.1/include/node/v8-object.h:10,
npm error from /home/user/.cache/node-gyp/24.4.1/include/node/v8-array-buffer.h:14:
npm error /home/user/.cache/node-gyp/24.4.1/include/node/cppgc/macros.h:51:1: warning: identifier ‘concept’ is a keyword in C++20 [-Wc++20-compat]
npm error 51 | concept IsStackAllocatedType =
npm error | ^~~~~~~
npm error In file included from /home/user/.cache/node-gyp/24.4.1/include/node/v8-handle-base.h:8,
npm error from /home/user/.cache/node-gyp/24.4.1/include/node/v8-local-handle.h:13:
npm error /home/user/.cache/node-gyp/24.4.1/include/node/v8-internal.h:1256:37: error: non-type template parameters of class type only available with ‘-std=c++20’ or ‘-std=gnu++20’
npm error 1256 | template <ExternalPointerTagRange tag_range>
npm error | ^~~~~~~~~
npm error /home/user/.cache/node-gyp/24.4.1/include/node/v8-local-handle.h:280:5: error: ‘requires’ does not name a type [-Wtemplate-body]
npm error 280 | requires std::is_base_of_v<T, S>
npm error | ^~~~~~~~
npm error /home/user/.cache/node-gyp/24.4.1/include/node/v8-local-handle.h:280:5: note: ‘requires’ only available with ‘-std=c++20’ or ‘-fconcepts’
npm error /home/user/.cache/node-gyp/24.4.1/include/node/v8-local-handle.h:645:5: error: ‘requires’ does not name a type [-Wtemplate-body]
npm error 645 | requires std::is_base_of_v<T, S>
npm error | ^~~~~~~~
npm error /home/user/.cache/node-gyp/24.4.1/include/node/v8-local-handle.h:645:5: note: ‘requires’ only available with ‘-std=c++20’ or ‘-fconcepts’
npm error /home/user/.cache/node-gyp/24.4.1/include/node/v8-local-handle.h:651:5: error: ‘requires’ does not name a type [-Wtemplate-body]
npm error 651 | requires std::is_base_of_v<T, S>
npm error | ^~~~~~~~
npm error /home/user/.cache/node-gyp/24.4.1/include/node/v8-local-handle.h:651:5: note: ‘requires’ only available with ‘-std=c++20’ or ‘-fconcepts’
npm error In file included from /home/user/.cache/node-gyp/24.4.1/include/node/v8-array-buffer.h:13:
npm error /home/user/.cache/node-gyp/24.4.1/include/node/v8-memory-span.h:45:28: error: ‘std::ranges’ has not been declared
npm error 45 | inline constexpr bool std::ranges::enable_view<v8::MemorySpan<T>> = true;
npm error | ^~~~~~
npm error /home/user/.cache/node-gyp/24.4.1/include/node/v8-memory-span.h:45:47: error: expected initializer before ‘<’ token
npm error 45 | inline constexpr bool std::ranges::enable_view<v8::MemorySpan<T>> = true;
npm error | ^
npm error /home/user/.cache/node-gyp/24.4.1/include/node/v8-memory-span.h:47:28: error: ‘std::ranges’ has not been declared
npm error 47 | inline constexpr bool std::ranges::enable_borrowed_range<v8::MemorySpan<T>> =
npm error | ^~~~~~
npm error /home/user/.cache/node-gyp/24.4.1/include/node/v8-memory-span.h:47:57: error: expected initializer before ‘<’ token
npm error 47 | inline constexpr bool std::ranges::enable_borrowed_range<v8::MemorySpan<T>> =
npm error | ^
npm error /home/user/.cache/node-gyp/24.4.1/include/node/v8-memory-span.h:168:35: error: ‘contiguous_iterator_tag’ in namespace ‘std’ does not name a type; did you mean ‘output_iterator_tag’? [-Wtemplate-body]
npm error 168 | using iterator_concept = std::contiguous_iterator_tag;
npm error | ^~~~~~~~~~~~~~~~~~~~~~~
npm error | output_iterator_tag
npm error /home/user/.cache/node-gyp/24.4.1/include/node/cppgc/macros.h:51:1: error: ‘concept’ does not name a type; did you mean ‘const’?
npm error 51 | concept IsStackAllocatedType =
npm error | ^~~~~~~
npm error | const
npm error /home/user/.cache/node-gyp/24.4.1/include/node/cppgc/macros.h:51:1: note: ‘concept’ only available with ‘-std=c++20’ or ‘-fconcepts’
npm error /home/user/.cache/node-gyp/24.4.1/include/node/cppgc/internal/conditional-stack-allocated.h:22:1: error: ‘concept’ does not name a type; did you mean ‘const’?
npm error 22 | concept RequiresStackAllocated =
npm error | ^~~~~~~
npm error | const
npm error /home/user/.cache/node-gyp/24.4.1/include/node/cppgc/internal/conditional-stack-allocated.h:22:1: note: ‘concept’ only available with ‘-std=c++20’ or ‘-fconcepts’
npm error /home/user/.cache/node-gyp/24.4.1/include/node/cppgc/internal/conditional-stack-allocated.h:28:11: error: expected constructor, destructor, or type conversion before ‘(’ token
npm error 28 | requires(RequiresStackAllocated<T>)
npm error | ^
npm error /home/user/.cache/node-gyp/24.4.1/include/node/cppgc/internal/conditional-stack-allocated.h:35:11: error: expected constructor, destructor, or type conversion before ‘(’ token
npm error 35 | requires(!RequiresStackAllocated<T>)
npm error | ^
npm error In file included from /home/user/.cache/node-gyp/24.4.1/include/node/v8-object.h:11:
npm error /home/user/.cache/node-gyp/24.4.1/include/node/v8-persistent-handle.h:53:19: error: expected identifier [-Wtemplate-body]
npm error 53 | requires(std::is_base_of_v<T, S>)
npm error | ^~~~~~~~~~~~~~~~~~
npm error /home/user/.cache/node-gyp/24.4.1/include/node/v8-persistent-handle.h:53:37: error: expected unqualified-id before ‘)’ token [-Wtemplate-body]
npm error 53 | requires(std::is_base_of_v<T, S>)
npm error | ^
npm error /home/user/.cache/node-gyp/24.4.1/include/node/v8config.h:496:20: error: expected constructor, destructor, or type conversion before ‘inline’ [-Wtemplate-body]
npm error 496 | # define V8_INLINE inline __attribute__((always_inline))
npm error | ^~~~~~
npm error /home/user/.cache/node-gyp/24.4.1/include/node/v8-persistent-handle.h:54:3: note: in expansion of macro ‘V8_INLINE’
npm error 54 | V8_INLINE Eternal(Isolate* isolate, Local<S> handle) {
npm error | ^~~~~~~~~
npm error /home/user/.cache/node-gyp/24.4.1/include/node/v8-persistent-handle.h:66:19: error: expected identifier [-Wtemplate-body]
npm error 66 | requires(std::is_base_of_v<T, S>)
npm error | ^~~~~~~~~~~~~~~~~~
npm error /home/user/.cache/node-gyp/24.4.1/include/node/v8-persistent-handle.h:66:37: error: expected unqualified-id before ‘)’ token [-Wtemplate-body]
npm error 66 | requires(std::is_base_of_v<T, S>)
npm error | ^
npm error /home/user/.cache/node-gyp/24.4.1/include/node/v8-persistent-handle.h:67:3: error: expected constructor, destructor, or type conversion before ‘void’ [-Wtemplate-body]
npm error 67 | void Set(Isolate* isolate, Local<S> handle) {
npm error | ^~~~
npm error In file included from /home/user/.cache/node-gyp/24.4.1/include/node/v8-persistent-handle.h:10:
npm error /home/user/.cache/node-gyp/24.4.1/include/node/v8-weak-callback-info.h: In instantiation of ‘class v8::WeakCallbackInfo<void>’:
npm error /home/user/.cache/node-gyp/24.4.1/include/node/v8-persistent-handle.h:75:47: required from here
npm error 75 | WeakCallbackInfo<void>::Callback weak_callback,
npm error | ^~
npm error /home/user/.cache/node-gyp/24.4.1/include/node/v8-weak-callback-info.h:25:7: error: invalid use of incomplete type ‘class cppgc::internal::ConditionalStackAllocatedBase<void>’
npm error 25 | class WeakCallbackInfo
npm error | ^~~~~~~~~~~~~~~~
npm error /home/user/.cache/node-gyp/24.4.1/include/node/cppgc/internal/conditional-stack-allocated.h:19:7: note: declaration of ‘class cppgc::internal::ConditionalStackAllocatedBase<void>’
npm error 19 | class ConditionalStackAllocatedBase;
npm error | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
npm error /home/user/.cache/node-gyp/24.4.1/include/node/v8-persistent-handle.h:263:19: error: expected identifier [-Wtemplate-body]
npm error 263 | requires(std::is_base_of_v<T, S>)
npm error | ^~~~~~~~~~~~~~~~~~
npm error /home/user/.cache/node-gyp/24.4.1/include/node/v8-persistent-handle.h:263:37: error: expected unqualified-id before ‘)’ token [-Wtemplate-body]
npm error 263 | requires(std::is_base_of_v<T, S>)
npm error | ^
npm error /home/user/.cache/node-gyp/24.4.1/include/node/v8config.h:496:20: error: expected constructor, destructor, or type conversion before ‘inline’ [-Wtemplate-body]
npm error 496 | # define V8_INLINE inline __attribute__((always_inline))
npm error | ^~~~~~
npm error /home/user/.cache/node-gyp/24.4.1/include/node/v8-persistent-handle.h:264:3: note: in expansion of macro ‘V8_INLINE’
npm error 264 | V8_INLINE Persistent(Isolate* isolate, Local<S> that)
npm error | ^~~~~~~~~
npm error /home/user/.cache/node-gyp/24.4.1/include/node/v8-persistent-handle.h:274:19: error: expected identifier [-Wtemplate-body]
npm error 274 | requires(std::is_base_of_v<T, S>)
npm error | ^~~~~~~~~~~~~~~~~~
npm error /home/user/.cache/node-gyp/24.4.1/include/node/v8-persistent-handle.h:274:37: error: expected unqualified-id before ‘)’ token [-Wtemplate-body]
npm error 274 | requires(std::is_base_of_v<T, S>)
npm error | ^
npm error /home/user/.cache/node-gyp/24.4.1/include/node/v8config.h:496:20: error: expected constructor, destructor, or type conversion before ‘inline’ [-Wtemplate-body]
npm error 496 | # define V8_INLINE inline __attribute__((always_inline))
npm error | ^~~~~~
npm error /home/user/.cache/node-gyp/24.4.1/include/node/v8-persistent-handle.h:275:3: note: in expansion of macro ‘V8_INLINE’
npm error 275 | V8_INLINE Persistent(Isolate* isolate, const Persistent<S, M2>& that)
npm error | ^~~~~~~~~
npm error /home/user/.cache/node-gyp/24.4.1/include/node/v8-persistent-handle.h:362:19: error: expected identifier [-Wtemplate-body]
npm error 362 | requires(std::is_base_of_v<T, S>)
npm error | ^~~~~~~~~~~~~~~~~~
npm error /home/user/.cache/node-gyp/24.4.1/include/node/v8-persistent-handle.h:362:37: error: expected unqualified-id before ‘)’ token [-Wtemplate-body]
npm error 362 | requires(std::is_base_of_v<T, S>)
npm error | ^
npm error /home/user/.cache/node-gyp/24.4.1/include/node/v8config.h:496:20: error: expected constructor, destructor, or type conversion before ‘inline’ [-Wtemplate-body]
npm error 496 | # define V8_INLINE inline __attribute__((always_inline))
npm error | ^~~~~~
npm error /home/user/.cache/node-gyp/24.4.1/include/node/v8-persistent-handle.h:363:3: note: in expansion of macro ‘V8_INLINE’
npm error 363 | V8_INLINE Global(Isolate* isolate, Local<S> that)
npm error | ^~~~~~~~~
npm error /home/user/.cache/node-gyp/24.4.1/include/node/v8-persistent-handle.h:373:19: error: expected identifier [-Wtemplate-body]
npm error 373 | requires(std::is_base_of_v<T, S>)
npm error | ^~~~~~~~~~~~~~~~~~
npm error /home/user/.cache/node-gyp/24.4.1/include/node/v8-persistent-handle.h:373:37: error: expected unqualified-id before ‘)’ token [-Wtemplate-body]
npm error 373 | requires(std::is_base_of_v<T, S>)
npm error | ^
npm error /home/user/.cache/node-gyp/24.4.1/include/node/v8config.h:496:20: error: expected constructor, destructor, or type conversion before ‘inline’ [-Wtemplate-body]
npm error 496 | # define V8_INLINE inline __attribute__((always_inline))
npm error | ^~~~~~
npm error /home/user/.cache/node-gyp/24.4.1/include/node/v8-persistent-handle.h:374:3: note: in expansion of macro ‘V8_INLINE’
npm error 374 | V8_INLINE Global(Isolate* isolate, const PersistentBase<S>& that)
npm error | ^~~~~~~~~
npm error In file included from /home/user/.cache/node-gyp/24.4.1/include/node/v8-object.h:12:
npm error /home/user/.cache/node-gyp/24.4.1/include/node/v8-primitive.h: In member function ‘v8::String::ExternalStringResource* v8::String::GetExternalStringResource() const’:
npm error /home/user/.cache/node-gyp/24.4.1/include/node/v8-primitive.h:996:80: error: no matching function for call to ‘v8::internal::Internals::ReadExternalPointerField<v8::internal::kExternalStringResourceTag>(v8::Isolate*&, A&, const int&) const’
npm error 996 | A value = I::ReadExternalPointerField<internal::kExternalStringResourceTag>(
npm error | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
npm error 997 | isolate, obj, I::kStringResourceOffset);
npm error | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
npm error /home/user/.cache/node-gyp/24.4.1/include/node/v8-primitive.h:996:80: note: there is 1 candidate
npm error /home/user/.cache/node-gyp/24.4.1/include/node/v8-internal.h:1257:28: note: candidate 1: ‘template<<typeprefixerror>tag_range> static v8::internal::Address v8::internal::Internals::ReadExternalPointerField(v8::Isolate*, v8::internal::Address, int)’
npm error 1257 | V8_INLINE static Address ReadExternalPointerField(v8::Isolate* isolate,
npm error | ^~~~~~~~~~~~~~~~~~~~~~~~
npm error /home/user/.cache/node-gyp/24.4.1/include/node/v8-internal.h:1257:28: note: template argument deduction/substitution failed:
npm error /home/user/.cache/node-gyp/24.4.1/include/node/v8-primitive.h:996:80: note: invalid template non-type parameter
npm error 996 | A value = I::ReadExternalPointerField<internal::kExternalStringResourceTag>(
npm error | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
npm error 997 | isolate, obj, I::kStringResourceOffset);
npm error | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
npm error /home/user/.cache/node-gyp/24.4.1/include/node/v8-primitive.h: In member function ‘v8::String::ExternalStringResourceBase* v8::String::GetExternalStringResourceBase(v8::Isolate*, Encoding*) const’:
npm error /home/user/.cache/node-gyp/24.4.1/include/node/v8-primitive.h:1018:80: error: no matching function for call to ‘v8::internal::Internals::ReadExternalPointerField<v8::internal::kExternalStringResourceTag>(v8::Isolate*&, A&, const int&) const’
npm error 1018 | A value = I::ReadExternalPointerField<internal::kExternalStringResourceTag>(
npm error | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
npm error 1019 | isolate, obj, I::kStringResourceOffset);
npm error | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
npm error /home/user/.cache/node-gyp/24.4.1/include/node/v8-primitive.h:1018:80: note: there is 1 candidate
npm error /home/user/.cache/node-gyp/24.4.1/include/node/v8-internal.h:1257:28: note: candidate 1: ‘template<<typeprefixerror>tag_range> static v8::internal::Address v8::internal::Internals::ReadExternalPointerField(v8::Isolate*, v8::internal::Address, int)’
npm error 1257 | V8_INLINE static Address ReadExternalPointerField(v8::Isolate* isolate,
npm error | ^~~~~~~~~~~~~~~~~~~~~~~~
npm error /home/user/.cache/node-gyp/24.4.1/include/node/v8-internal.h:1257:28: note: template argument deduction/substitution failed:
npm error /home/user/.cache/node-gyp/24.4.1/include/node/v8-primitive.h:1018:80: note: invalid template non-type parameter
npm error 1018 | A value = I::ReadExternalPointerField<internal::kExternalStringResourceTag>(
npm error | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
npm error 1019 | isolate, obj, I::kStringResourceOffset);
npm error | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
npm error /home/user/.cache/node-gyp/24.4.1/include/node/v8-primitive.h: In member function ‘v8::String::ExternalStringResourceBase* v8::String::GetExternalStringResourceBase(Encoding*) const’:
npm error /home/user/.cache/node-gyp/24.4.1/include/node/v8-primitive.h:1041:80: error: no matching function for call to ‘v8::internal::Internals::ReadExternalPointerField<v8::internal::kExternalStringResourceTag>(v8::Isolate*&, A&, const int&) const’
npm error 1041 | A value = I::ReadExternalPointerField<internal::kExternalStringResourceTag>(
npm error | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
npm error 1042 | isolate, obj, I::kStringResourceOffset);
npm error | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
npm error /home/user/.cache/node-gyp/24.4.1/include/node/v8-primitive.h:1041:80: note: there is 1 candidate
npm error /home/user/.cache/node-gyp/24.4.1/include/node/v8-internal.h:1257:28: note: candidate 1: ‘template<<typeprefixerror>tag_range> static v8::internal::Address v8::internal::Internals::ReadExternalPointerField(v8::Isolate*, v8::internal::Address, int)’
npm error 1257 | V8_INLINE static Address ReadExternalPointerField(v8::Isolate* isolate,
npm error | ^~~~~~~~~~~~~~~~~~~~~~~~
npm error /home/user/.cache/node-gyp/24.4.1/include/node/v8-internal.h:1257:28: note: template argument deduction/substitution failed:
npm error /home/user/.cache/node-gyp/24.4.1/include/node/v8-primitive.h:1041:80: note: invalid template non-type parameter
npm error 1041 | A value = I::ReadExternalPointerField<internal::kExternalStringResourceTag>(
npm error | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
npm error 1042 | isolate, obj, I::kStringResourceOffset);
npm error | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
npm error /home/user/.cache/node-gyp/24.4.1/include/node/v8-object.h: In member function ‘void* v8::Object::GetAlignedPointerFromInternalField(v8::Isolate*, int)’:
npm error /home/user/.cache/node-gyp/24.4.1/include/node/v8-object.h:896:75: error: no matching function for call to ‘v8::internal::Internals::ReadExternalPointerField<v8::internal::kEmbedderDataSlotPayloadTag>(v8::Isolate*&, A&, int&)’
npm error 896 | I::ReadExternalPointerField<internal::kEmbedderDataSlotPayloadTag>(
npm error | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
npm error 897 | isolate, obj, offset);
npm error | ~~~~~~~~~~~~~~~~~~~~~
npm error /home/user/.cache/node-gyp/24.4.1/include/node/v8-object.h:896:75: note: there is 1 candidate
npm error /home/user/.cache/node-gyp/24.4.1/include/node/v8-internal.h:1257:28: note: candidate 1: ‘template<<typeprefixerror>tag_range> static v8::internal::Address v8::internal::Internals::ReadExternalPointerField(v8::Isolate*, v8::internal::Address, int)’
npm error 1257 | V8_INLINE static Address ReadExternalPointerField(v8::Isolate* isolate,
npm error | ^~~~~~~~~~~~~~~~~~~~~~~~
npm error /home/user/.cache/node-gyp/24.4.1/include/node/v8-internal.h:1257:28: note: template argument deduction/substitution failed:
npm error /home/user/.cache/node-gyp/24.4.1/include/node/v8-object.h:896:75: note: invalid template non-type parameter
npm error 896 | I::ReadExternalPointerField<internal::kEmbedderDataSlotPayloadTag>(
npm error | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
npm error 897 | isolate, obj, offset);
npm error | ~~~~~~~~~~~~~~~~~~~~~
npm error /home/user/.cache/node-gyp/24.4.1/include/node/v8-object.h: In member function ‘void* v8::Object::GetAlignedPointerFromInternalField(int)’:
npm error /home/user/.cache/node-gyp/24.4.1/include/node/v8-object.h:918:75: error: no matching function for call to ‘v8::internal::Internals::ReadExternalPointerField<v8::internal::kEmbedderDataSlotPayloadTag>(v8::Isolate*&, A&, int&)’
npm error 918 | I::ReadExternalPointerField<internal::kEmbedderDataSlotPayloadTag>(
npm error | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
npm error 919 | isolate, obj, offset);
npm error | ~~~~~~~~~~~~~~~~~~~~~
npm error /home/user/.cache/node-gyp/24.4.1/include/node/v8-object.h:918:75: note: there is 1 candidate
npm error /home/user/.cache/node-gyp/24.4.1/include/node/v8-internal.h:1257:28: note: candidate 1: ‘template<<typeprefixerror>tag_range> static v8::internal::Address v8::internal::Internals::ReadExternalPointerField(v8::Isolate*, v8::internal::Address, int)’
npm error 1257 | V8_INLINE static Address ReadExternalPointerField(v8::Isolate* isolate,
npm error | ^~~~~~~~~~~~~~~~~~~~~~~~
npm error /home/user/.cache/node-gyp/24.4.1/include/node/v8-internal.h:1257:28: note: template argument deduction/substitution failed:
npm error /home/user/.cache/node-gyp/24.4.1/include/node/v8-object.h:918:75: note: invalid template non-type parameter
npm error 918 | I::ReadExternalPointerField<internal::kEmbedderDataSlotPayloadTag>(
npm error | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
npm error 919 | isolate, obj, offset);
npm error | ~~~~~~~~~~~~~~~~~~~~~
npm error In file included from /home/user/.cache/node-gyp/24.4.1/include/node/v8.h:26:
npm error /home/user/.cache/node-gyp/24.4.1/include/node/v8-context.h: In member function ‘void* v8::Context::GetAlignedPointerFromEmbedderData(v8::Isolate*, int)’:
npm error /home/user/.cache/node-gyp/24.4.1/include/node/v8-context.h:473:73: error: no matching function for call to ‘v8::internal::Internals::ReadExternalPointerField<v8::internal::kEmbedderDataSlotPayloadTag>(v8::Isolate*&, A&, int&)’
npm error 473 | I::ReadExternalPointerField<internal::kEmbedderDataSlotPayloadTag>(
npm error | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
npm error 474 | isolate, embedder_data, value_offset));
npm error | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
npm error /home/user/.cache/node-gyp/24.4.1/include/node/v8-context.h:473:73: note: there is 1 candidate
npm error /home/user/.cache/node-gyp/24.4.1/include/node/v8-internal.h:1257:28: note: candidate 1: ‘template<<typeprefixerror>tag_range> static v8::internal::Address v8::internal::Internals::ReadExternalPointerField(v8::Isolate*, v8::internal::Address, int)’
npm error 1257 | V8_INLINE static Address ReadExternalPointerField(v8::Isolate* isolate,
npm error | ^~~~~~~~~~~~~~~~~~~~~~~~
npm error /home/user/.cache/node-gyp/24.4.1/include/node/v8-internal.h:1257:28: note: template argument deduction/substitution failed:
npm error /home/user/.cache/node-gyp/24.4.1/include/node/v8-context.h:473:73: note: invalid template non-type parameter
npm error 473 | I::ReadExternalPointerField<internal::kEmbedderDataSlotPayloadTag>(
npm error | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
npm error 474 | isolate, embedder_data, value_offset));
npm error | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
npm error /home/user/.cache/node-gyp/24.4.1/include/node/v8-context.h: In member function ‘void* v8::Context::GetAlignedPointerFromEmbedderData(int)’:
npm error /home/user/.cache/node-gyp/24.4.1/include/node/v8-context.h:492:73: error: no matching function for call to ‘v8::internal::Internals::ReadExternalPointerField<v8::internal::kEmbedderDataSlotPayloadTag>(v8::Isolate*&, A&, int&)’
npm error 492 | I::ReadExternalPointerField<internal::kEmbedderDataSlotPayloadTag>(
npm error | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
npm error 493 | isolate, embedder_data, value_offset));
npm error | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
npm error /home/user/.cache/node-gyp/24.4.1/include/node/v8-context.h:492:73: note: there is 1 candidate
npm error /home/user/.cache/node-gyp/24.4.1/include/node/v8-internal.h:1257:28: note: candidate 1: ‘template<<typeprefixerror>tag_range> static v8::internal::Address v8::internal::Internals::ReadExternalPointerField(v8::Isolate*, v8::internal::Address, int)’
npm error 1257 | V8_INLINE static Address ReadExternalPointerField(v8::Isolate* isolate,
npm error | ^~~~~~~~~~~~~~~~~~~~~~~~
npm error /home/user/.cache/node-gyp/24.4.1/include/node/v8-internal.h:1257:28: note: template argument deduction/substitution failed:
npm error /home/user/.cache/node-gyp/24.4.1/include/node/v8-context.h:492:73: note: invalid template non-type parameter
npm error 492 | I::ReadExternalPointerField<internal::kEmbedderDataSlotPayloadTag>(
npm error | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
npm error 493 | isolate, embedder_data, value_offset));
npm error | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
npm error In file included from /home/user/.cache/node-gyp/24.4.1/include/node/v8-function.h:15,
npm error from /home/user/.cache/node-gyp/24.4.1/include/node/v8.h:33:
npm error /home/user/.cache/node-gyp/24.4.1/include/node/v8-template.h: In member function ‘void v8::Template::Set(v8::Isolate*, const char*, v8::Local<v8::Data>, v8::PropertyAttribute)’:
npm error /home/user/.cache/node-gyp/24.4.1/include/node/v8-template.h:1110:6: error: no matching function for call to ‘v8::Template::Set(v8::Local<v8::String>, v8::Local<v8::Data>&, v8::PropertyAttribute&)’
npm error 1110 | Set(String::NewFromUtf8(isolate, name, NewStringType::kInternalized)
npm error | ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
npm error 1111 | .ToLocalChecked(),
npm error | ~~~~~~~~~~~~~~~~~~
npm error 1112 | value, attributes);
npm error | ~~~~~~~~~~~~~~~~~~
npm error /home/user/.cache/node-gyp/24.4.1/include/node/v8-template.h:1110:6: note: there are 2 candidates
npm error /home/user/.cache/node-gyp/24.4.1/include/node/v8-template.h:57:8: note: candidate 1: ‘void v8::Template::Set(v8::Local<v8::Name>, v8::Local<v8::Data>, v8::PropertyAttribute)’
npm error 57 | void Set(Local<Name> name, Local<Data> value,
npm error | ^~~
npm error /home/user/.cache/node-gyp/24.4.1/include/node/v8-template.h:57:24: note: no known conversion for argument 1 from ‘Local<v8::String>’ to ‘Local<v8::Name>’
npm error 57 | void Set(Local<Name> name, Local<Data> value,
npm error | ~~~~~~~~~~~~^~~~
npm error /home/user/.cache/node-gyp/24.4.1/include/node/v8-template.h:1108:6: note: candidate 2: ‘void v8::Template::Set(v8::Isolate*, const char*, v8::Local<v8::Data>, v8::PropertyAttribute)’
npm error 1108 | void Template::Set(Isolate* isolate, const char* name, Local<Data> value,
npm error | ^~~~~~~~
npm error /home/user/.cache/node-gyp/24.4.1/include/node/v8-template.h:1108:29: note: no known conversion for argument 1 from ‘v8::Local<v8::String>’ to ‘v8::Isolate*’
npm error 1108 | void Template::Set(Isolate* isolate, const char* name, Local<Data> value,
npm error | ~~~~~~~~~^~~~~~~
npm error /home/user/.cache/node-gyp/24.4.1/include/node/v8-weak-callback-info.h: In instantiation of ‘class v8::WeakCallbackInfo<node::ObjectWrap>’:
npm error /home/user/.cache/node-gyp/24.4.1/include/node/v8-persistent-handle.h:484:16: required by substitution of ‘template<class P> void v8::PersistentBase<v8::Object>::SetWeak(P*, typename v8::WeakCallbackInfo<T>::Callback, v8::WeakCallbackType) [with P = node::ObjectWrap]’
npm error 484 | V8_INLINE void PersistentBase<T>::SetWeak(
npm error | ^~~~~~~~~~~~~~~~~
npm error /home/user/.cache/node-gyp/24.4.1/include/node/node_object_wrap.h:85:25: required from here
npm error 85 | persistent().SetWeak(this, WeakCallback, v8::WeakCallbackType::kParameter);
npm error | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
npm error /home/user/.cache/node-gyp/24.4.1/include/node/v8-weak-callback-info.h:25:7: error: invalid use of incomplete type ‘class cppgc::internal::ConditionalStackAllocatedBase<node::ObjectWrap>’
npm error 25 | class WeakCallbackInfo
npm error | ^~~~~~~~~~~~~~~~
npm error /home/user/.cache/node-gyp/24.4.1/include/node/cppgc/internal/conditional-stack-allocated.h:19:7: note: declaration of ‘class cppgc::internal::ConditionalStackAllocatedBase<node::ObjectWrap>’
npm error 19 | class ConditionalStackAllocatedBase;
npm error | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
npm error make: *** [tree_sitter_runtime_binding.target.mk:130: Release/obj.target/tree_sitter_runtime_binding/src/binding.o] Error 1
npm error gyp ERR! build error
npm error gyp ERR! stack Error: `make` failed with exit code: 2
npm error gyp ERR! stack at ChildProcess.<anonymous> (/home/user/.nvm/versions/node/v24.4.1/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:219:23)
npm error gyp ERR! System Linux 6.1.0-37-amd64
npm error gyp ERR! command "/home/user/.nvm/versions/node/v24.4.1/bin/node" "/home/user/.nvm/versions/node/v24.4.1/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
npm error gyp ERR! cwd /home/user/temp/vscode/build/node_modules/tree-sitter
npm error gyp ERR! node -v v24.4.1
npm error gyp ERR! node-gyp -v v11.2.0
npm error gyp ERR! not ok
npm error A complete log of this run can be found in: /home/user/.npm/_logs/2025-07-25T14_24_16_414Z-debug-0.log
ERR Process exited with code: 1
npm error code 1
npm error path /home/user/temp/vscode
npm error command failed
npm error command sh -c node build/npm/postinstall.js
npm error A complete log of this run can be found in: /home/user/.npm/_logs/2025-07-25T14_22_06_549Z-debug-0.log
- only together we can create a truly free world
- plz support dwaves to keep it up & running!
- (yes the info on the internet is (mostly) free but beer is still not free (still have to work on that))
- really really hate advertisement
- contribute: whenever a solution was found, blog about it for others to find!
- talk about, recommend & link to this blog and articles
- thanks to all who contribute!