Uploaded image for project: 'Couchbase node.js Client Library'
  1. Couchbase node.js Client Library
  2. JSCBC-1174

Node.js v18 prebuilds should be built on agent with glibc 2.28

    XMLWordPrintable

Details

    • Bug
    • Resolution: Resolved
    • Critical
    • 4.2.6
    • None
    • None
    • None
    • 2
    • SDK30

    Description

      Currently our linux x64 prebuilds are built on an Ubuntu20 agent. This is problematic for RHEL8 systems as they have glibc 2.28 (min required for Node.js v18). RHEL8 users will see the error below. Fix is to use our Centos8 agents to build the linux x64 prebuilds.

      Ubuntu20 agents:

      /lib/x86_64-linux-gnu/libc.so.6
      GNU C Library (Ubuntu GLIBC 2.31-0ubuntu9.9) stable release version 2.31.
      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.
      Compiled by GNU CC version 9.4.0.
      libc ABIs: UNIQUE IFUNC ABSOLUTE
      For bug reporting instructions, please see:
      <https://bugs.launchpad.net/ubuntu/+source/glibc/+bugs>.
      

      RHEL 8 glibc:

      /lib64/libc.so.6
      GNU C Library (GNU libc) stable release version 2.28.
      Copyright (C) 2018 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.
      Compiled by GNU CC version 8.5.0 20210514 (Red Hat 8.5.0-18).
      libc ABIs: UNIQUE IFUNC ABSOLUTE
      For bug reporting instructions, please see:
      <http://www.gnu.org/software/libc/bugs.html>.
      

      RHEL 8 error:

      node -p "JSON.parse(require('couchbase').cbppMetadata)"
      node:internal/modules/cjs/loader:1338
        return process.dlopen(module, path.toNamespacedPath(filename));
                       ^
       
      Error: /lib64/libm.so.6: version `GLIBC_2.29' not found (required by /home/ec2-user/node_modules/@couchbase/couchbase-linux-x64-openssl3/couchbase-v4.2.5-napi-v6-linux-x64-openssl3.node)
          at Module._extensions..node (node:internal/modules/cjs/loader:1338:18)
          at Module.load (node:internal/modules/cjs/loader:1117:32)
          at Module._load (node:internal/modules/cjs/loader:958:12)
          at Module.require (node:internal/modules/cjs/loader:1141:19)
          at require (node:internal/modules/cjs/helpers:110:18)
          at Object.loadPrebuild (/home/ec2-user/node_modules/couchbase/scripts/prebuilds.js:119:10)
          at Object.<anonymous> (/home/ec2-user/node_modules/couchbase/dist/binding.js:161:49)
          at Module._compile (node:internal/modules/cjs/loader:1254:14)
          at Module._extensions..js (node:internal/modules/cjs/loader:1308:10)
          at Module.load (node:internal/modules/cjs/loader:1117:32) {
        code: 'ERR_DLOPEN_FAILED'
      }
       
      Node.js v18.14.2
      

      Attachments

        Activity

          People

            jared.casey Jared Casey
            jared.casey Jared Casey
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              PagerDuty