Skip to content

Requires GLIBC 2.33 for RocksDB #73

Open
@CMCDragonkai

Description

@CMCDragonkai

When running code using the prebuilt binaries, we sometimes encounter this:

node:internal/modules/cjs/loader:1473
  return process.dlopen(module, path.toNamespacedPath(filename));
                 ^

Error: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.33' not found (required by /workspaces/Polykey-CLI/node_modules/@matrixai/db/prebuilds/linux-x64/node.napi.node)

This means that the OS that is running on does not have the up to date version of GLIBC. In fact our current NixOS as of posting now, is on 2.37 as per ldd --version.

But for example on GitHub Codespaces, and some of the Ubuntu OSes, they are still on 2.31 or even older.

In order to make Polykey a bit more easier to hack on, it would ideal that we didn't require that specific version of glibc. I'm actually not sure what specifically requires that version of GLIBC. Is it possible to loosen this requirement if it is not necessary? I'm afraid of if we move our nix pin forward alot, we might be inadvertently requiring a much too recent GLIBC, when it's not required.

Tasks

  • 1. Investigate the build pipeline and the rocksdb compilation and node-gyp procedures for requirements on GLIBC version.
  • 2. See if we can reduce our constraints here
  • 3. Rebuild and test on GitHub codespaces, and older Ubuntus.

Metadata

Metadata

Assignees

No one assigned

    Labels

    procedureAction that must be executedr&d:polykey:core activity 1Secret Vault Sharing and Secret History Management

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions