kriszyp / lmdb-js

Simple, efficient, ultra-fast, scalable data store wrapper for LMDB
Other
479 stars 39 forks source link

error: no matching function for call to ‘v8::Symbol::Description()’ #258

Closed stuartlangridge closed 9 months ago

stuartlangridge commented 9 months ago

When attempting to install deps for https://github.com/Susurrus-LLC/langua with yarn on Ubuntu 22.04:

(...stuff...)
[11/13] ⢀ lmdb-store
error /home/aquarius/Scratch/langua/node_modules/lmdb-store: Command failed.
Exit code: 1
Command: node-gyp-build
Arguments: 
Directory: /home/aquarius/Scratch/langua/node_modules/lmdb-store
Output:
gyp info it worked if it ends with ok
gyp info using node-gyp@9.3.1
gyp info using node@18.17.1 | linux | x64
gyp info find Python using Python version 3.10.12 found at "/usr/bin/python3"
gyp info spawn /usr/bin/python3
gyp info spawn args [
gyp info spawn args   '/usr/lib/node_modules/npm/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/aquarius/Scratch/langua/node_modules/lmdb-store/build/config.gypi',
gyp info spawn args   '-I',
gyp info spawn args   '/usr/lib/node_modules/npm/node_modules/node-gyp/addon.gypi',
gyp info spawn args   '-I',
gyp info spawn args   '/home/aquarius/.cache/node-gyp/18.17.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/aquarius/.cache/node-gyp/18.17.1',
gyp info spawn args   '-Dnode_gyp_dir=/usr/lib/node_modules/npm/node_modules/node-gyp',
gyp info spawn args   '-Dnode_lib_file=/home/aquarius/.cache/node-gyp/18.17.1/<(target_arch)/node.lib',
gyp info spawn args   '-Dmodule_root_dir=/home/aquarius/Scratch/langua/node_modules/lmdb-store',
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/aquarius/Scratch/langua/node_modules/lmdb-store/build'
  CXX(target) Release/obj.target/lmdb/src/node-lmdb.o
  CC(target) Release/obj.target/lmdb/dependencies/lmdb/libraries/liblmdb/midl.o
  CC(target) Release/obj.target/lmdb/dependencies/lmdb/libraries/liblmdb/chacha8.o
  CC(target) Release/obj.target/lmdb/dependencies/lz4/lib/lz4.o
  CXX(target) Release/obj.target/lmdb/src/env.o
  CXX(target) Release/obj.target/lmdb/src/compression.o
  CXX(target) Release/obj.target/lmdb/src/ordered-binary.o
../src/ordered-binary.cpp: In function ‘size_t valueToKey(const v8::Local<v8::Value>&, uint8_t*, size_t, bool, bool)’:
../src/ordered-binary.cpp:138:91: error: no matching function for call to ‘v8::Symbol::Description()’
  138 |         Local<String> string = Local<String>::Cast(Local<Symbol>::Cast(jsKey)->Description());
      |                                                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
In file included from /home/aquarius/.cache/node-gyp/18.17.1/include/node/v8-object.h:11,
                 from /home/aquarius/.cache/node-gyp/18.17.1/include/node/v8-array-buffer.h:13,
                 from /home/aquarius/.cache/node-gyp/18.17.1/include/node/v8.h:24,
                 from ../src/node-lmdb.h:29,
                 from ../src/ordered-binary.cpp:1:
/home/aquarius/.cache/node-gyp/18.17.1/include/node/v8-primitive.h:588:16: note: candidate: ‘v8::Local<v8::Value> v8::Symbol::Description(v8::Isolate*) const’
  588 |   Local<Value> Description(Isolate* isolate) const;
      |                ^~~~~~~~~~~
/home/aquarius/.cache/node-gyp/18.17.1/include/node/v8-primitive.h:588:16: note:   candidate expects 1 argument, 0 provided
make: *** [lmdb.target.mk:150: Release/obj.target/lmdb/src/ordered-binary.o] Error 1
make: Leaving directory '/home/aquarius/Scratch/langua/node_modules/lmdb-store/build'
gyp ERR! build error 
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit (/usr/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:203:23)
gyp ERR! stack     at ChildProcess.emit (node:events:514:28)
gyp ERR! stack     at ChildProcess._handle.onexit (node:internal/child_process:291:12)
gyp ERR! System Linux 5.15.0-83-generic
gyp ERR! command "/usr/bin/node" "/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /home/aquarius/Scratch/langua/node_modules/lmdb-store
gyp ERR! node -v v18.17.1
kriszyp commented 9 months ago

This was fixed a few years ago, and should be transitively available in gatsby v4.8+.

stuartlangridge commented 9 months ago

Ah, it's a dependency thing with the upstream. Thank you!