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

Some Nix packages installed on Guix System fail to launch with an error referencing GLIBC_PRIVATE #171050

Open
emacsomancer opened this issue Apr 30, 2022 · 8 comments
Labels
0.kind: bug 2.status: stale https://github.com/NixOS/nixpkgs/blob/master/.github/STALE-BOT.md

Comments

@emacsomancer
Copy link
Contributor

emacsomancer commented Apr 30, 2022

Describe the bug

Some Nix packages installed on Guix System fail to launch with an error referencing GLIBC_PRIVATE. Two examples: gargoyle and deadd-notification-center.

Here's the message for gargoyle:

gargoyle: /nix/store/6w8g7njm4mck5dmjxws0z1xnrxvl81xa-glibc-2.34-115/lib/libpthread.so.0: version `GLIBC_PRIVATE' not found (required by /gnu/store/5h2w4qi9hk1qzzgi1w83220ydslinr4s-glibc-2.33/lib/librt.so.1)

Steps To Reproduce

Steps to reproduce the behavior:

  1. install gargoyle or deadd-notification-center from Nix on Guix System
  2. try to run either
  3. get the error

Expected behavior

Run normally as other Nix packages on top of Guix System.

Screenshots

If applicable, add screenshots to help explain your problem.

Additional context

Add any other context about the problem here.

Notify maintainers

Metadata

Please run nix-shell -p nix-info --run "nix-info -m" and paste the result.

[user@system:~]$ nix-shell -p nix-info --run "nix-info -m"
these 5 paths will be fetched (0.55 MiB download, 2.68 MiB unpacked):
  /nix/store/7b2vmi7cq7lzw8g6kaihzg2kyilj4slm-bash-interactive-5.1-p16-dev
  /nix/store/9pxskbhf92x9cxvg87nbzw2q1kmkrym6-bash-interactive-5.1-p16-info
  /nix/store/f2fnhhjanmxganm3xa5inwgvi6wj2ran-bash-interactive-5.1-p16-doc
  /nix/store/j2r2nlxhwhaiv1ncxz5ip9jhyhmcxc5c-nix-info
  /nix/store/zghsxxqb2gyz460q4r7jfdc2lpg3rgjw-bash-interactive-5.1-p16-man
copying path '/nix/store/f2fnhhjanmxganm3xa5inwgvi6wj2ran-bash-interactive-5.1-p16-doc' from 'https://cache.nixos.org'...
copying path '/nix/store/7b2vmi7cq7lzw8g6kaihzg2kyilj4slm-bash-interactive-5.1-p16-dev' from 'https://cache.nixos.org'...
copying path '/nix/store/9pxskbhf92x9cxvg87nbzw2q1kmkrym6-bash-interactive-5.1-p16-info' from 'https://cache.nixos.org'...
copying path '/nix/store/zghsxxqb2gyz460q4r7jfdc2lpg3rgjw-bash-interactive-5.1-p16-man' from 'https://cache.nixos.org'...
copying path '/nix/store/j2r2nlxhwhaiv1ncxz5ip9jhyhmcxc5c-nix-info' from 'https://cache.nixos.org'...
 - system: `"x86_64-linux"`
 - host os: `Linux 5.17.4, Guix System, noversion, nobuild`
 - multi-user?: `yes`
 - sandbox: `yes`
 - version: `nix-env (Nix) 2.5.1`
 - channels(slade): `"nixpkgs-22.05pre373314.6766fb6503a"`
 - nixpkgs: `/home/slade/.nix-defexpr/channels/nixpkgs`
@hqurve
Copy link
Contributor

hqurve commented Apr 30, 2022

Perhaps related to #170897

@emacsomancer
Copy link
Contributor Author

Is there a fix? Or a decent workaround?

@hqurve
Copy link
Contributor

hqurve commented May 1, 2022

I think a work around is to either

(I have not tested either)

@emacsomancer
Copy link
Contributor Author

emacsomancer commented May 4, 2022

Running env LD_PRELOAD=/nix/store/ayrsyv7npr0lcbann4k9lxr19x813f0z-glibc-2.34-115/lib/librt.so.1 gargoyle gets gargoyle to start up correctly.

The same trick doesn't seem to work for deadd-notification-center, e.g. env LD_PRELOAD=/nix/store/ayrsyv7npr0lcbann4k9lxr19x813f0z-glibc-2.34-115/lib/librt.so.1 deadd-notification-center results in a different error:

/bin/sh: symbol lookup error: /nix/store/ayrsyv7npr0lcbann4k9lxr19x813f0z-glibc-2.34-115/lib/librt.so.1: undefined symbol: __libc_unwind_link_get, version GLIBC_PRIVATE
locale: symbol lookup error: /nix/store/ayrsyv7npr0lcbann4k9lxr19x813f0z-glibc-2.34-115/lib/librt.so.1: undefined symbol: __libc_unwind_link_get, version GLIBC_PRIVATE

@hqurve
Copy link
Contributor

hqurve commented May 4, 2022

Did using the libc file (instead of librt) fail as well?

@emacsomancer
Copy link
Contributor Author

If I try env LD_PRELOAD=/nix/store/ayrsyv7npr0lcbann4k9lxr19x813f0z-glibc-2.34-115/lib/lib.so.6 gargoyle, I get:

ERROR: ld.so: object '/nix/store/ayrsyv7npr0lcbann4k9lxr19x813f0z-glibc-2.34-115/lib/lib.so.6' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
gargoyle: /nix/store/6w8g7njm4mck5dmjxws0z1xnrxvl81xa-glibc-2.34-115/lib/libpthread.so.0: version `GLIBC_PRIVATE' not found (required by /gnu/store/5h2w4qi9hk1qzzgi1w83220ydslinr4s-glibc-2.33/lib/librt.so.1)

At least gargoyle works with preloading librt.

@hqurve
Copy link
Contributor

hqurve commented May 4, 2022

You made a small typo, you have lib instead of libc. The error is saying that the file is not found

@emacsomancer
Copy link
Contributor Author

You're right. But the non-typo'd one also doesn't work:

$ env LD_PRELOAD=/nix/store/ayrsyv7npr0lcbann4k9lxr19x813f0z-glibc-2.34-115/lib/libc.so.6 gargoyle
gargoyle: /nix/store/6w8g7njm4mck5dmjxws0z1xnrxvl81xa-glibc-2.34-115/lib/libpthread.so.0: version `GLIBC_PRIVATE' not found (required by /gnu/store/5h2w4qi9hk1qzzgi1w83220ydslinr4s-glibc-2.33/lib/librt.so.1)

@stale stale bot added the 2.status: stale https://github.com/NixOS/nixpkgs/blob/master/.github/STALE-BOT.md label Nov 2, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
0.kind: bug 2.status: stale https://github.com/NixOS/nixpkgs/blob/master/.github/STALE-BOT.md
Projects
None yet
Development

No branches or pull requests

2 participants