grpc_node.node: undefined symbol: OPENSSL_init_ssl
See original GitHub issueProblem description
PANIC on scl NODE EL7.
Reproduction steps
> new grpc.Client('localhost', grpc.credentials.createSsl(Buffer.alloc(1))).waitForReady(Date.now(), ()=>{});
undefined
> node: symbol lookup error: /xx/node_modules/grpc/src/node/extension_binary/node-v72-linux-x64-glibc/grpc_node.node: undefined symbol: OPENSSL_init_ssl
Environment
grpc@1.24.3
$ node -v
v12.18.2
$ which node
/opt/rh/rh-nodejs12/root/usr/bin/node
$ rpm -qf /opt/rh/rh-nodejs12/root/usr/bin/node
rh-nodejs12-nodejs-12.18.2-1.el7.x86_64
$ rpm -qi rh-nodejs12-nodejs-12.18.2-1.el7.x86_64
Name : rh-nodejs12-nodejs
Version : 12.18.2
Release : 1.el7
Architecture: x86_64
Install Date: Tue 25 Aug 2020 03:49:13 AM CDT
Group : Development/Languages
Size : 35528528
License : MIT and ASL 2.0 and ISC and BSD
Signature : RSA/SHA1, Mon 24 Aug 2020 10:16:17 AM CDT, Key ID 4eb84e71f2ee9d55
Source RPM : rh-nodejs12-nodejs-12.18.2-1.el7.src.rpm
Build Date : Mon 20 Jul 2020 08:42:40 AM CDT
Build Host : c1bk.rdu2.centos.org
Relocations : (not relocatable)
Packager : CBS <cbs@centos.org>
Vendor : CentOS
URL : http://nodejs.org/
Summary : JavaScript runtime
Description :
Node.js is a platform built on Chrome's JavaScript runtime
for easily building fast, scalable network applications.
Node.js uses an event-driven, non-blocking I/O model that
makes it lightweight and efficient, perfect for data-intensive
real-time applications that run across distributed devices.
$ ldd /opt/rh/rh-nodejs12/root/usr/bin/node
linux-vdso.so.1 => (0x00007ffd236ff000)
libcrypto.so.10 => /lib64/libcrypto.so.10 (0x00007f73dfc4b000)
libssl.so.10 => /lib64/libssl.so.10 (0x00007f73df9d9000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007f73df7d5000)
libstdc++.so.6 => /lib64/libstdc++.so.6 (0x00007f73df4ce000)
libm.so.6 => /lib64/libm.so.6 (0x00007f73df1cc000)
libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007f73defb6000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f73ded9a000)
libc.so.6 => /lib64/libc.so.6 (0x00007f73de9cc000)
libz.so.1 => /lib64/libz.so.1 (0x00007f73de7b6000)
libgssapi_krb5.so.2 => /lib64/libgssapi_krb5.so.2 (0x00007f73de569000)
libkrb5.so.3 => /lib64/libkrb5.so.3 (0x00007f73de280000)
libcom_err.so.2 => /lib64/libcom_err.so.2 (0x00007f73de07c000)
libk5crypto.so.3 => /lib64/libk5crypto.so.3 (0x00007f73dde49000)
/lib64/ld-linux-x86-64.so.2 (0x00007f73e00ae000)
libkrb5support.so.0 => /lib64/libkrb5support.so.0 (0x00007f73ddc39000)
libkeyutils.so.1 => /lib64/libkeyutils.so.1 (0x00007f73dda35000)
libresolv.so.2 => /lib64/libresolv.so.2 (0x00007f73dd81b000)
libselinux.so.1 => /lib64/libselinux.so.1 (0x00007f73dd5f4000)
libpcre.so.1 => /lib64/libpcre.so.1 (0x00007f73dd392000)
To get SCL ver installed:
yum --enablerepo=extras install centos-release-scl-rh
yum install rh-nodejs12
Additional context
This is happening both with bundled binary from June 4th and with extension that’s been compiled from source on this machine. WTF guys this is extremely unexpected and is impeding deployment.
Issue Analytics
- State:
- Created 3 years ago
- Reactions:1
- Comments:11 (4 by maintainers)
Top Results From Across the Web
gRPC service in Node.js: Tutorial, Examples and Best practices
In this article, we will demonstrate how to build a gRPC-powered API in Nodejs. First, let's learn what gRPC is.
Read more >What is gRPC ? How to implement gRPC in Node.js
Everyone talks about gRPC. Have you ever wonder how it works or how to implement it in Nodejs. Read the full article to...
Read more >nodejs is throwing symbol lookup error - Stack Overflow
Can you try uninstalling latest zmq module by npm uninstall zmq and try with specific version of zmq npm install zmq@2.4.0.
Read more >gRPC Node.js Client - DataStax Documentation
Install stargate-grpc-node-client using either npm or yarn : npm command ... You'll get undefined or another falsy value based on the expected data...
Read more >grpc/grpc - Gitter
... ssl_transport_security.cc:(.text+0x5ff): undefined reference to ... Does anyone know why I am getting these with node 14 + grpc with typescript ?
Read more >Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start FreeTop Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
Top GitHub Comments
According to this documentation, “The
OPENSSL_init_ssl()
function was added in OpenSSL 1.1.0.” The most likely cause of this error is that you have an earlier version of OpenSSL. I suggest upgrading your OpenSSL installation.Alternatively, you may want to use
@grpc/grpc-js
instead ofgrpc
. We created that package to avoid these kinds of problems.We’ve got lost in translation. You should be more on fresh air. Have I not been so pushy, it would’ve stopped at comment #3 and nothing would’ve been done regarding this bug. Closing as this has been taken care of by grpc upstream and will hopefully land back into this repo soon. Thanks.