NixOS / nixpkgs

Nix Packages collection & NixOS
MIT License
18.16k stars 14.19k forks source link

(`citrix-workspace`) `selfservice` requests `glib-networking` #319360

Open GsakuL opened 5 months ago

GsakuL commented 5 months ago

Describe the bug

(sorry for perhaps using incorrect terminology. I'm not very familiar with Citrix, as I just moved from Windows where it "just works" [not meant angry]) citrix selfservice cannot be used "standalone" because of "network issues"

Steps To Reproduce

Steps to reproduce the behavior:

  1. (maybe relevant) enable KDE/Plasma 5, wayland
  2. install citrix-workspace
    • with nix-prefetch-url file://...
  3. start selfservice (or the "Citrix Workspace")
  4. see error TLS/SSL support not available; install glib-networking

full config for reference: https://github.com/GsakuL/mynix

Expected behavior

I can add my wanted workstore endpoint (?) and login within Citrix, and do all my working stuff

Screenshots

grafik after closing the window grafik

Additional context

(LANG=C to make error message english)

[user@system:~]$ LANG=C selfservice

** (selfservice:175914): WARNING **: 20:19:41.179: webkit_settings_set_enable_offline_web_application_cache is deprecated and does nothing.
Could not determine the accessibility bus address

** (selfservice:175914): WARNING **: 20:19:41.187: webkit_settings_set_enable_offline_web_application_cache is deprecated and does nothing.

** (selfservice:175914): WARNING **: 20:19:41.191: webkit_settings_set_enable_offline_web_application_cache is deprecated and does nothing.

** (selfservice:175914): WARNING **: 20:22:34.838: webkit_settings_set_enable_offline_web_application_cache is deprecated and does nothing.

(selfservice:175914): GLib-WARNING **: 20:33:24.311: ../glib/gmain.c:5802: waitid(pid:175952, pidfd=37) failed: No child processes (10). See documentation of g_child_watch_source_new() for possible causes.

(selfservice:175914): GLib-WARNING **: 20:33:24.322: ../glib/gmain.c:5802: waitid(pid:176944, pidfd=69) failed: No child processes (10). See documentation of g_child_watch_source_new() for possible causes.
sha256sum linuxx64-24.2.0.65.tar.gz
eaeb5d3bd079d4e5c9707da67f5f7a25cb765e19c36d01861290655dbf2aaee4

As a workaround, I can open a browser, navigate to the workstore, login, let it find citrix, and click on my apps in the browser, and it opens citrix on my machine. I can get my work done, and thankfully found some hacks in random Citrix-Docs/pages to fix some annoyances ( https://github.com/GsakuL/mynix/blob/main/modules/home/programs/work.nix ). It's kinda nice that this can be somewhat "nix-yfied", however I'm missing a bunch of "normal" options in my citrix session (which thankfully i don't need). Those would make it perhaps easier to diff config files for the right thing, or at least "get it set somehow".

I already did storebrowse -C ~/Downloads/receiverconfig.cr with my appropiate cr however, this did not change anything, since it seems to be hung up on glib-networking as a whole.

Notify maintainers

@michaeladler

Metadata

[user@system:~]$ nix-shell -p nix-info --run "nix-info -m"
 - system: `"x86_64-linux"`
 - host os: `Linux 6.6.32, NixOS, 24.11 (Vicuña), 24.11.20240607.051f920`
 - multi-user?: `yes`
 - sandbox: `yes`
 - version: `nix-env (Nix) 2.18.2`
 - nixpkgs: `/nix/store/3dr5pyja36lvvrszhzffww1jwyrx6i09-source`

Add a :+1: reaction to issues you find important.

michaeladler commented 5 months ago

Hm that's weird because glib-networking already is a runtime dependency. Could you run strace (or attach the log) to identify the *.so file which it fails to find?

GsakuL commented 5 months ago

due to reporting on another issue, I've switched over to Plasma 6 (from Plasma 5) Citrix seems to behave the same:

full log (replaced my company name with MyCompanyName: citrix.strace.log grep glib-networking:

openat(AT_FDCWD, "/nix/store/ryp6f4v7xfcjsdrwn9dy7ppz2ida360l-glib-networking-2.80.0/lib/glibc-hwcaps/x86-64-v3/libc.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
newfstatat(AT_FDCWD, "/nix/store/ryp6f4v7xfcjsdrwn9dy7ppz2ida360l-glib-networking-2.80.0/lib/glibc-hwcaps/x86-64-v3/", 0x7ffc873c02b0, 0) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/nix/store/ryp6f4v7xfcjsdrwn9dy7ppz2ida360l-glib-networking-2.80.0/lib/glibc-hwcaps/x86-64-v2/libc.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
newfstatat(AT_FDCWD, "/nix/store/ryp6f4v7xfcjsdrwn9dy7ppz2ida360l-glib-networking-2.80.0/lib/glibc-hwcaps/x86-64-v2/", 0x7ffc873c02b0, 0) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/nix/store/ryp6f4v7xfcjsdrwn9dy7ppz2ida360l-glib-networking-2.80.0/lib/libc.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
newfstatat(AT_FDCWD, "/nix/store/ryp6f4v7xfcjsdrwn9dy7ppz2ida360l-glib-networking-2.80.0/lib/", {st_mode=S_IFDIR|0555, st_size=4096, ...}, 0) = 0
openat(AT_FDCWD, "/nix/store/ryp6f4v7xfcjsdrwn9dy7ppz2ida360l-glib-networking-2.80.0/lib/glibc-hwcaps/x86-64-v3/libc.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
newfstatat(AT_FDCWD, "/nix/store/ryp6f4v7xfcjsdrwn9dy7ppz2ida360l-glib-networking-2.80.0/lib/glibc-hwcaps/x86-64-v3/", 0x7ffcb1f8f250, 0) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/nix/store/ryp6f4v7xfcjsdrwn9dy7ppz2ida360l-glib-networking-2.80.0/lib/glibc-hwcaps/x86-64-v2/libc.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
newfstatat(AT_FDCWD, "/nix/store/ryp6f4v7xfcjsdrwn9dy7ppz2ida360l-glib-networking-2.80.0/lib/glibc-hwcaps/x86-64-v2/", 0x7ffcb1f8f250, 0) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/nix/store/ryp6f4v7xfcjsdrwn9dy7ppz2ida360l-glib-networking-2.80.0/lib/libc.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
newfstatat(AT_FDCWD, "/nix/store/ryp6f4v7xfcjsdrwn9dy7ppz2ida360l-glib-networking-2.80.0/lib/", {st_mode=S_IFDIR|0555, st_size=4096, ...}, 0) = 0
openat(AT_FDCWD, "/nix/store/ryp6f4v7xfcjsdrwn9dy7ppz2ida360l-glib-networking-2.80.0/lib/glibc-hwcaps/x86-64-v3/libxml2.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
newfstatat(AT_FDCWD, "/nix/store/ryp6f4v7xfcjsdrwn9dy7ppz2ida360l-glib-networking-2.80.0/lib/glibc-hwcaps/x86-64-v3/", 0x7ffded63a210, 0) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/nix/store/ryp6f4v7xfcjsdrwn9dy7ppz2ida360l-glib-networking-2.80.0/lib/glibc-hwcaps/x86-64-v2/libxml2.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
newfstatat(AT_FDCWD, "/nix/store/ryp6f4v7xfcjsdrwn9dy7ppz2ida360l-glib-networking-2.80.0/lib/glibc-hwcaps/x86-64-v2/", 0x7ffded63a210, 0) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/nix/store/ryp6f4v7xfcjsdrwn9dy7ppz2ida360l-glib-networking-2.80.0/lib/libxml2.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
newfstatat(AT_FDCWD, "/nix/store/ryp6f4v7xfcjsdrwn9dy7ppz2ida360l-glib-networking-2.80.0/lib/", {st_mode=S_IFDIR|0555, st_size=4096, ...}, 0) = 0
openat(AT_FDCWD, "/nix/store/ryp6f4v7xfcjsdrwn9dy7ppz2ida360l-glib-networking-2.80.0/lib/libpthread.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/nix/store/ryp6f4v7xfcjsdrwn9dy7ppz2ida360l-glib-networking-2.80.0/lib/libX11.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/nix/store/ryp6f4v7xfcjsdrwn9dy7ppz2ida360l-glib-networking-2.80.0/lib/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/nix/store/ryp6f4v7xfcjsdrwn9dy7ppz2ida360l-glib-networking-2.80.0/lib/librt.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/nix/store/ryp6f4v7xfcjsdrwn9dy7ppz2ida360l-glib-networking-2.80.0/lib/libsoup-2.4.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/nix/store/ryp6f4v7xfcjsdrwn9dy7ppz2ida360l-glib-networking-2.80.0/lib/libXinerama.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/nix/store/ryp6f4v7xfcjsdrwn9dy7ppz2ida360l-glib-networking-2.80.0/lib/libuuid.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/nix/store/ryp6f4v7xfcjsdrwn9dy7ppz2ida360l-glib-networking-2.80.0/lib/libpng16.so.16", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/nix/store/ryp6f4v7xfcjsdrwn9dy7ppz2ida360l-glib-networking-2.80.0/lib/libgtk-3.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/nix/store/ryp6f4v7xfcjsdrwn9dy7ppz2ida360l-glib-networking-2.80.0/lib/libgdk-3.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/nix/store/ryp6f4v7xfcjsdrwn9dy7ppz2ida360l-glib-networking-2.80.0/lib/libcairo.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/nix/store/ryp6f4v7xfcjsdrwn9dy7ppz2ida360l-glib-networking-2.80.0/lib/libgio-2.0.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/nix/store/ryp6f4v7xfcjsdrwn9dy7ppz2ida360l-glib-networking-2.80.0/lib/libgobject-2.0.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/nix/store/ryp6f4v7xfcjsdrwn9dy7ppz2ida360l-glib-networking-2.80.0/lib/libglib-2.0.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/nix/store/ryp6f4v7xfcjsdrwn9dy7ppz2ida360l-glib-networking-2.80.0/lib/libwebkit2gtk-4.0.so.37", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/nix/store/ryp6f4v7xfcjsdrwn9dy7ppz2ida360l-glib-networking-2.80.0/lib/libstdc++.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/nix/store/ryp6f4v7xfcjsdrwn9dy7ppz2ida360l-glib-networking-2.80.0/lib/libm.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/nix/store/ryp6f4v7xfcjsdrwn9dy7ppz2ida360l-glib-networking-2.80.0/lib/libgcc_s.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/nix/store/ryp6f4v7xfcjsdrwn9dy7ppz2ida360l-glib-networking-2.80.0/lib/libc.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/nix/store/ryp6f4v7xfcjsdrwn9dy7ppz2ida360l-glib-networking-2.80.0/lib/libappindicator.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/nix/store/ryp6f4v7xfcjsdrwn9dy7ppz2ida360l-glib-networking-2.80.0/lib/libappindicator3.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/nix/store/ryp6f4v7xfcjsdrwn9dy7ppz2ida360l-glib-networking-2.80.0/lib/libappindicator3.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/nix/store/ryp6f4v7xfcjsdrwn9dy7ppz2ida360l-glib-networking-2.80.0/lib/libappindicator3.so.1.0.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/nix/store/ryp6f4v7xfcjsdrwn9dy7ppz2ida360l-glib-networking-2.80.0/lib/libappindicator.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/nix/store/ryp6f4v7xfcjsdrwn9dy7ppz2ida360l-glib-networking-2.80.0/lib/libappindicator.so.1.0.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/nix/store/ryp6f4v7xfcjsdrwn9dy7ppz2ida360l-glib-networking-2.80.0/lib/libgssapi.so.3", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/nix/store/ryp6f4v7xfcjsdrwn9dy7ppz2ida360l-glib-networking-2.80.0/lib/libgssapi.so.3.0.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/nix/store/ryp6f4v7xfcjsdrwn9dy7ppz2ida360l-glib-networking-2.80.0/lib/libgssapi_krb5.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/nix/store/ryp6f4v7xfcjsdrwn9dy7ppz2ida360l-glib-networking-2.80.0/lib/libgssapi_krb5.so.2.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
michaeladler commented 5 months ago

Did you provide the -f flag to strace? E.g. strace -f --output=strace.txt selfservice

GsakuL commented 5 months ago

no i did not, i used strace -o citrix.strace.log selfservice

So now i tried stuff, and it's even more confusing. somehow, something causes the session(?) to bork, once Citrix shows please install glib-networking.

due to GitHub upload limit of 25mb i chose to use an archive:

 65M 10.log
 18M 11.log
 85M 12.log
1,3M 13.log
 27M 14.log

logs10-14.tar.gz

cat /nix/store/aqd80k5z8znfaqmgcamarfxzf7shks0p-citrix-workspace-24.2.0.65/share/applications/selfservice.desktop

[Desktop Entry]
Encoding=UTF-8
Version=1.0
Type=Application
Name=Citrix Workspace
Categories=Application;Network;X-Red-Hat-Base;X-SuSE-Core-Internet;
Icon=/nix/store/aqd80k5z8znfaqmgcamarfxzf7shks0p-citrix-workspace-24.2.0.65/opt/citrix-icaclient/icons/receiver.png
TryExec=/nix/store/aqd80k5z8znfaqmgcamarfxzf7shks0p-citrix-workspace-24.2.0.65/opt/citrix-icaclient/selfservice
Exec=/nix/store/aqd80k5z8znfaqmgcamarfxzf7shks0p-citrix-workspace-24.2.0.65/opt/citrix-icaclient/selfservice --icaroot /nix/store/aqd80k5z8znfaqmgcamarfxzf7shks0p-citrix-workspace-24.2.0.65/opt/citrix-icaclient