-
Notifications
You must be signed in to change notification settings - Fork 2.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support V8 C++ APIs for "nan" addons and other packages to work #4290
Comments
This also happens for |
node_module_register
node_module_register
node_module_register
node_module_register
node_module_register
node_module_register
is not implemented
node_module_register
is not implementednode_module_register
is not implemented (better_sqlite3)
I also encounter this error |
this also happens for bson-ext |
also for heapdump |
same for @datadog/native-metrics |
Likewise for tiny-secp256k1 |
Also for cdktf-cli #5306 |
Also happens with |
Same error for |
same for node-canvas |
bun: symbol lookup error: /root/rut/node_modules/canvas/build/Release/canvas.node: undefined symbol: node_module_register |
Same for libxmljs |
How can we get a little more attention to this. This is holding me back from using bun in production. 😢 bun: symbol lookup error: /home/.../node_modules/node-libcurl/lib/binding/node_libcurl.node: undefined symbol: node_module_register |
me too |
similar error: bun: symbol lookup error: /usr/src/app/node_modules/@sentry/profiling-node/lib/sentry_cpu_profiler-linux-x64-glibc-115.node: undefined symbol: _ZN2v87Isolate10GetCurrentEv |
Also happening for Sentry & bcrypt const Sentry = require('@sentry/bun');
const { ProfilingIntegration } = require("@sentry/profiling-node") Error: bun: symbol lookup error: /root/projects/userBackend/node_modules/@sentry/profiling-node/lib/sentry_cpu_profiler-linux-x64-glibc-115.node: undefined symbol: _ZN2v87Isolate10GetCurrentEv |
same for cap |
Now that #12821 is merged, the next version of Bun will include some of the first working V8 functions. See the top of this issue for more detailed status. Packages more complex than |
@190n thank you for the hard work! based on #5835 (comment) this gets us closer to supporting |
@chriskrogh you can use |
@Jarred-Sumner it works! 🥳 no more canvas issues on bun install!!!
but after removing those two, I was able to get a clean install which was lightning fast! thanks again for all the progress here! hopefully grpc doesn't take that much more? 🤞 |
Is grpc related to v8 incompatibilities? I thought it was blocked by https2 server support |
@Jarred-Sumner et al, please note I've deleted a comment re ssh2 server issues as it is not related to the V8 APIs, will raise a separate ticket shortly (have identified a potential issue) |
Is there a list or is anyone able to make a list of packages that are not yet resolved or implemented? This issue thread is becoming too large to keep track of which packages are still outstanding. |
That exists in the top comment on this issue, but it probably deserves to be the most prominent part instead of the list of functions. I'll move it to the top. |
@190n if you could add msgpackr to the list as well please, although will be ok once Array::New is done I expect. Really appreciate all your efforts on this. |
Right, thanks for the reminder. |
@190n also |
how much time could it take to support the "gl" module? |
For anyone else who's confused by this - technically |
so there's been investigation by @190n back in July when we first found this, and you can find more in #12754 with their findings. One of the great things with msgpackr is the native acceleration, and that needs v8::Array::New |
As an update on that, I'm not sure if we'll be able to support their specific use of |
Same issue for @newrelic/native-metrics and symbol lookup |
Affected packages
better-sqlite3
node-canvas@v2
(node-canvas v3 is supported)midi
libxmljs
bignum
zeromq
node-libcurl
bson-ext
heapdump
@datadog/native-metrics
tiny-secp256k1
tree-sitter-c-sharp
chacha-native
@sentry/profiling-node
pdfjs-dist
gl
leveldown
/pouchdb
sleep
cpu-features
odbc
msgpackr
re2
node-pty
i2c
Functions implemented
v8::Isolate::GetCurrent()
v8::Isolate::TryGetCurrent()
v8::Isolate::GetCurrentContext()
v8::Number::New(v8::Isolate*, double)
v8::Number::Value() const
v8::String::NewFromUtf8(v8::Isolate*, char const*, v8::NewStringType, int)
v8::String::WriteUtf8(v8::Isolate*, char*, int, int*, int) const
v8::api_internal::ToLocalEmpty()
v8::String::Length() const
v8::External::New(v8::Isolate*, void*)
v8::External::Value() const
v8::Object::New(v8::Isolate*)
v8::Object::Set(v8::Local<v8::Context>, v8::Local<v8::Value>, v8::Local<v8::Value>)
v8::Object::SetInternalField(int, v8::Local<v8::Data>)
v8::Object::SlowGetInternalField(int)
v8::HandleScope::HandleScope(v8::Isolate*)
v8::HandleScope::~HandleScope()
v8::FunctionTemplate::GetFunction(v8::Local<v8::Context>)
v8::FunctionTemplate::New(v8::Isolate*, void (*)(v8::FunctionCallbackInfo<v8::Value> const&), v8::Local<v8::Value>, v8::Local<v8::Signature>, int, v8::ConstructorBehavior, v8::SideEffectType, v8::CFunction const*, unsigned short, unsigned short, unsigned short)
(only when all parameters pastdata
are their default values)v8::ObjectTemplate::NewInstance(v8::Local<v8::Context>)
v8::ObjectTemplate::SetInternalFieldCount(int)
v8::ObjectTemplate::InternalFieldCount() const
v8::ObjectTemplate::New(v8::Isolate*, v8::Local<v8::FunctionTemplate>)
(only when no FunctionTemplate is provided)v8::EscapableHandleScopeBase::EscapeSlot(unsigned long*)
v8::EscapableHandleScopeBase::EscapableHandleScopeBase(v8::Isolate*)
node_module_register
v8::Function::SetName(v8::Local<v8::String>)
v8::Value::IsBoolean() const
v8::Boolean::Value() const
v8::Value::FullIsTrue() const
v8::Value::FullIsFalse() const
v8::EscapableHandleScope::EscapableHandleScope(v8::Isolate*)
v8::EscapableHandleScope::~EscapableHandleScope()
v8::Value::IsObject() const
v8::Value::IsNumber() const
v8::Value::IsUint32() const
v8::Value::Uint32Value(v8::Local<v8::Context>) const
v8::Value::IsUndefined() const
v8::Value::IsNull() const
v8::Value::IsNullOrUndefined() const
v8::Value::IsTrue() const
v8::Value::IsFalse() const
v8::Value::IsString() const
v8::Boolean::New(v8::Isolate*, bool)
v8::Object::GetInternalField(int)
node::AddEnvironmentCleanupHook(v8::Isolate*, void (*)(void*), void*)
node::RemoveEnvironmentCleanupHook(v8::Isolate*, void (*)(void*), void*)
v8::HandleScope::CreateHandle(v8::internal::Isolate*, unsigned long)
v8::internal::IsolateFromNeverReadOnlySpaceObject(unsigned long)
v8::Array::New(v8::Isolate*, v8::Local<v8::Value>*, unsigned long)
v8::Object::Get(v8::Local<v8::Context>, v8::Local<v8::Value>)
Major areas of unimplemented functionality
bun install
fixes (need to pass node-gyp the right version)What version of Bun is running?
0.8.0+ad326b77342dd3d8585a30b7da803d32f9c11fe2
What platform is your computer?
Linux 6.4.10-artix1-1 x86_64 unknown
What steps can reproduce the bug?
What is the expected behavior?
Run as normally
What do you see instead?
Additional information
Related thread: 1144181146809270332
Message: https://discord.com/channels/876711213126520882/1144181146809270332/1144184224006557747
All versions are affected
The text was updated successfully, but these errors were encountered: