Skip to content
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

Requires GLIBC 2.33 for RocksDB #73

Open
3 tasks
CMCDragonkai opened this issue Mar 2, 2024 · 3 comments
Open
3 tasks

Requires GLIBC 2.33 for RocksDB #73

CMCDragonkai opened this issue Mar 2, 2024 · 3 comments
Labels
procedure Action that must be executed r&d:polykey:core activity 1 Secret Vault Sharing and Secret History Management

Comments

@CMCDragonkai
Copy link
Member

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.
@CMCDragonkai CMCDragonkai added the procedure Action that must be executed label Mar 2, 2024
@CMCDragonkai
Copy link
Member Author

Is it even rocksdb, maybe it's due to our own node-gyp that is doing this.

@CMCDragonkai
Copy link
Member Author

@CMCDragonkai
Copy link
Member Author

It'd be nice if I could get rid of the C++ wrapper, and use a Rust wrapper instead, so we can align all native dependencies.

@CMCDragonkai CMCDragonkai added the r&d:polykey:core activity 1 Secret Vault Sharing and Secret History Management label Aug 13, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
procedure Action that must be executed r&d:polykey:core activity 1 Secret Vault Sharing and Secret History Management
Development

No branches or pull requests

1 participant