BewareMyPower opened a new issue, #286: URL: https://github.com/apache/pulsar-client-node/issues/286
### Motivation The EOL of CentOS 7 is 2024-06-30, see https://wiki.centos.org/About/Product. However, the Node.js client does not support CentOS 7. ### Reproduce First, build the `napi-xxx.tar.gz` for x86_64 glibc linux and run the `centos:7` container. ```bash docker build --build-arg PLATFORM=x86_64 --build-arg ARCH=x86_64 --build-arg NODE_VERSION=18 \ -t node-build-x86_64 -f pkg/linux/Dockerfile_linux_glibc . docker run -i -v $PWD:/pulsar-client-node node-build-x86_64 \ /pulsar-client-node/pkg/linux/build-napi-inside-docker.sh docker run -v $PWD:/pulsar-client-node -it centos:7 /bin/bash ``` Then, run the following commands inside the container: ```bash yum update -y curl -O -L https://nodejs.org/download/release/v16.19.0/node-v16.19.0-linux-x64.tar.gz tar zxf node-v16.19.0-linux-x64.tar.gz export PATH=$PWD/node-v16.19.0-linux-x64/bin:$PATH tar zxf /pulsar-client-node/build/stage/pulsar-client-node-1.9.0-rc.0/napi-linux-glibc-x64.tar.gz ``` Now, we can see `Pulsar.node` can be loaded because of the high `GLIBCXX` version for CentOS 7. ```bash # node Welcome to Node.js v16.19.0. Type ".help" for more information. > const Pulsar = require('./binding/Pulsar.node') Uncaught: Error: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by /root/binding/Pulsar.node) at Object.Module._extensions..node (node:internal/modules/cjs/loader:1249:18) at Module.load (node:internal/modules/cjs/loader:1043:32) at Function.Module._load (node:internal/modules/cjs/loader:878:12) at Module.require (node:internal/modules/cjs/loader:1067:19) at require (node:internal/modules/cjs/helpers:103:18) { code: 'ERR_DLOPEN_FAILED' } ``` We can see the supported GLIBCXX versions of `libstdc++.so` on CentOS 7 are: ```bash # strings /usr/lib64/libstdc++.so.6 | grep ^GLIBCXX_[0-9] GLIBCXX_3.4 GLIBCXX_3.4.1 GLIBCXX_3.4.2 GLIBCXX_3.4.3 GLIBCXX_3.4.4 GLIBCXX_3.4.5 GLIBCXX_3.4.6 GLIBCXX_3.4.7 GLIBCXX_3.4.8 GLIBCXX_3.4.9 GLIBCXX_3.4.10 GLIBCXX_3.4.11 GLIBCXX_3.4.12 GLIBCXX_3.4.13 GLIBCXX_3.4.14 GLIBCXX_3.4.15 GLIBCXX_3.4.16 GLIBCXX_3.4.17 GLIBCXX_3.4.18 GLIBCXX_3.4.19 ``` -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: commits-unsubscr...@pulsar.apache.org.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org