NixOS / nixpkgs

Nix Packages collection & NixOS
MIT License
17.58k stars 13.73k forks source link

immersed-vr from unstable fails to run #267408

Open djmaze opened 10 months ago

djmaze commented 10 months ago

Describe the bug

When running immersed-vr from unstable I get the following error output:

ps: error while loading shared libraries: libgpg-error.so.0: cannot open shared object file: No such file or directory

Steps To Reproduce

Steps to reproduce the behavior:

  1. nix-shell -I nixpkgs=channel:nixpkgs-unstable -p immersed-vr --run immersed-vr

Expected behavior

Expecting the app to start and open its GUI.

Notify maintainers

@haruki7049

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"
 - system: `"x86_64-linux"`
 - host os: `Linux 6.1.44, NixOS, 23.05 (Stoat), 23.05.4720.78f3a4ae19f0`
 - multi-user?: `yes`
 - sandbox: `yes`
 - version: `nix-env (Nix) 2.13.6`
 - channels(martin): `"home-manager-23.05.tar.gz, nixos-23.05, nixpkgs-unstable"`
 - channels(root): `"nixos-23.05, nixos-unstable"`
 - nixpkgs: `/nix/var/nix/profiles/per-user/root/channels/nixos`
haruki7049 commented 10 months ago

I just ran nix-shell -I nixpkgs=channel:nixpkgs-unstable -p immersed-vr --run immersed-vr and there was no error. Try running the command again. Maybe the reason is that libgpg-error was not written to the pkgs/build-support/appimage/default.nix. I don't know the date and time it was written...

My environment is here by running nix-shell -p nix-info --run "nix-info -m"

 - system: `"x86_64-linux"`
 - host os: `Linux 6.1.64, NixOS, 23.11 (Tapir), 23.11.928.50aa30a13c4a`
 - multi-user?: `yes`
 - sandbox: `yes`
 - version: `nix-env (Nix) 2.18.1`
 - nixpkgs: `/nix/var/nix/profiles/per-user/root/channels/nixos`
djmaze commented 10 months ago

Still the same error for me. I will upgrade to NixOS 32.11 soon, but I guess that should not make a difference either.

Xyz00777 commented 9 months ago

i have an other problem but would also like to acompany you. i used nix-shell -p immersed-vr libva-utils linuxPackages.v4l2loopback to run it temporar. But i still get the following two errors: Screenshot_20231208_000826 if i click OK i get the following error: Screenshot_20231208_000915

My environment is: `nix-shell -p nix-info --run "nix-info -m"

haruki7049 commented 9 months ago

I have confirmed that error on my machine. However, I don't think that error is directly related to NixOS. One of those errors can be resolved by writing the following to configuration.nix and running nixos-rebuild switch

  boot = {
    extraModulePackages = with config.boot.kernelPackages; [
      v4l2loopback.out
    ];
    kernelModules = [
      "v4l2loopback"
    ];
    extraModprobeConfig = ''
      options v4l2loopback exclisive_caps=1 card_label="Virtual Camera"
    '';

So I assume that one of the errors, Virtual camera device is not found at /dev/video0, is something that cannot be resolved by the nix-shell command.

But I don't know how to resolve the other error... It seems to be solved by editing the configuration.nix as well...

My environment is here by running nix-shell -p nix-info --run "nix-info -m"

 - system: `"x86_64-linux"`
 - host os: `Linux 6.1.64, NixOS, 23.11 (Tapir), 23.11.1209.933d7dc15509`
 - multi-user?: `yes`
 - sandbox: `yes`
 - version: `nix-env (Nix) 2.18.1`
 - nixpkgs: `/nix/var/nix/profiles/per-user/root/channels/nixos`
Xyz00777 commented 9 months ago

these and a few additional configurations where neede on my system to make it work :) hardware.opengl = { enable = true; driSupport = true; driSupport32Bit = true; extraPackages = with pkgs; [ libva vaapiVdpau libvdpau-va-gl ]; }; networking.firewall.allowedTCPPorts = [ 21000 21013 ]; after that it worked :)

haruki7049 commented 9 months ago

I'm glad to help you :)

iggyZiggy commented 6 months ago

i've fixed it by adding: libgpg-error to hardware.opengl.extraPackages along with other stuff from this thread :)

Pandapip1 commented 6 months ago

https://github.com/NixOS/nixpkgs/issues/299591 was a duplicate of this issue. Moving discussion here.

haruki7049 commented 5 months ago
# An errror version

with import (fetchTarball https://github.com/NixOS/nixpkgs/archive/1b27ca3fa7cfa0c50b0103eda76454efd343322e.tar.gz) { };
mkShell {
  packages = [
    immersed-vr
  ];
}
# A successful version

with import (fetchTarball https://github.com/haruki7049/nixpkgs/archive/c81c2414155adffb06d68b894f791dc243ecf2ae.tar.gz) { };
mkShell {
  packages = [
    immersed-vr
  ];
}

When nix-shell is run on these two versions, one fails and the other does not. But I can't find any code in the commits used by the two that could be the cause...

PS: I just tried these two patterns and both failed with the same error. I wonder why they succeeded then....

Now Nix's environment is: nix-shell -p nix-info --run "nix-info -m"

 - system: `"x86_64-linux"`
 - host os: `Linux 6.6.47, NixOS, 24.11 (Vicuna), 24.11.20240827.a6292e3`
 - multi-user?: `yes`
 - sandbox: `yes`
 - version: `nix-env (Nix) 2.18.5`
 - nixpkgs: `/nix/store/h1v7aq3k9wy0i5l53cirm7kka7fsipji-source`
haruki7049 commented 5 months ago

The error is: ps: error while loading shared libraries: libgpg-error.so.0: cannot open shared object file: No such file or directory