Wrong libopenshot version

Installing openshot-qt on 21.05 as well as unstable produces a mismatch between libopenshot and openshot-qt versions which makes the program unusable:
image
(It just quits if you hit OK). This is on unstable, on 21.05 I believe it’s the same but the missing library version is 0.2.6 instead.

How do I fix this? I have an assignment due soon that requires video editing and I don’t have time to learn another program.

1 Like

My system uses nixos-21.05 as the main channel and when I tried using openshot-qt I couldn’t see an issue. I installed it with nix-shell -p openshot-qt and inside that shell, started it with openshot-qt.

If you need to fix this quickly, try using the flaptak temporarily: Flathub—An app store and build service for Linux

Or a VM, gnome.gnome-boxes and installing Ubuntu with it is the most foolproof way to just make some software work quickly. As a word of warning, you may need to enable virtualisation.libvirtd.package and flick the virtualization support switch in your BIOS for this.

To fix the actual issue, some idea of how your software is installed, and probably a look at your nixos configuration (and possibly home manager configuration) would be helpful - considering what @ilkecan says you probably have something odd going on, perhaps a mix of stable/unstable :slight_smile:

2 Likes

thanks! i may have found a way to not need it so urgently, but i’d still like to get it working natively without flatpak or virtualization (i don’t like flatpak + this is an old macbook and i’m not sure virtualization will be fast enough to be usable anyway given the hardware’s age). here’s my configuration.nix:

{ config, pkgs, ... }:

{
  imports =
    [
      ./hardware-configuration.nix
    ];

  nixpkgs.config.allowUnfree = true;

  # This value determines the NixOS release from which the default
  # settings for stateful data, like file locations and database versions
  # on your system were taken. It‘s perfectly fine and recommended to leave
  # this value at the release version of the first install of this system.
  # Before changing this value read the documentation for this option
  # (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
  system.stateVersion = "21.11"; # Did you read the comment?

  # Localization
  time.timeZone = "America/Denver";
  i18n.defaultLocale = "en_US.UTF-8";

  # Networking
  networking.networkmanager.enable = true;
  networking.hostName = "lyndsay-macbook";
  networking.useDHCP = false;
  networking.interfaces.wlp3s0.useDHCP = true;
  networking.enableB43Firmware = true;

  # Desktop environment
  services.xserver.enable = true;
  services.xserver.layout = "us";
  services.xserver.displayManager.sddm.enable = true;
  services.xserver.desktopManager.plasma5.enable = true;

  # CUPS printing
  services.printing.enable = true;
  services.printing.drivers = [ pkgs.hplip ];

  # Sound - via PipeWire
  hardware.bluetooth.enable = true;
  security.rtkit.enable = true;
  services.pipewire = {
    enable = true;
    alsa.enable = true;
    alsa.support32Bit = true;
    pulse.enable = true;
    jack.enable = true;
    media-session.config.bluez-monitor.rules = [
        {
        # Matches all cards
        matches = [ { "device.name" = "~bluez_card.*"; } ];
        actions = {
            "update-props" = {
            "bluez5.reconnect-profiles" = [ "hfp_hf" "hsp_hs" "a2dp_sink" ];
            # mSBC is not expected to work on all headset + adapter combinations.
            "bluez5.msbc-support" = true;
            # SBC-XQ is not expected to work on all headset + adapter combinations.
            "bluez5.sbc-xq-support" = true;
            };
        };
        }
        {
        matches = [
            # Matches all sources
            { "node.name" = "~bluez_input.*"; }
            # Matches all outputs
            { "node.name" = "~bluez_output.*"; }
        ];
        actions = {
            "node.pause-on-idle" = false;
        };
        }
    ];
  };

  boot.initrd.supportedFilesystems = [ "btrfs" ];
  boot.kernelParams = [ "nohibernate" ];
  boot.loader.efi.canTouchEfiVariables = true;
  boot.loader.grub.copyKernels = true;
  boot.loader.grub.efiSupport = true;
  boot.loader.grub.theme = "/boot/grub/themes/nix";
  boot.loader.grub.useOSProber = true;
  boot.loader.grub.enable = true;
  boot.loader.grub.device = "nodev";
  boot.plymouth.enable = true;
  boot.supportedFilesystems = [ "btrfs" ];
  systemd.extraConfig = ''
        DefaultTimeoutStopSec=5s
        DefaultTimeoutStartSec=5s
  '';

  users.users.lyndsay = {
     isNormalUser = true;
     extraGroups = [ "networkmanager" "wheel" ];
     home = "/usr/lyndsay";
     uid = 1000;
  };

  # software
  programs.steam.enable = true;
  nixpkgs.config.vivaldi = { proprietaryCodecs = true; enableWideVine = true; };

  nixpkgs.config.permittedInsecurePackages = [
    "ffmpeg-3.4.8"
  ];

  environment.systemPackages = with pkgs; [
     ark
     audacity
     blender
     citra
     cmake
     discord
     desmume
     dolphinEmu
     fontforge
     gcc
     gdb
     gnome.ghex
     gimp
     git
     gparted
     gwenview
     inkscape
     k3b
     kate
     kcalc
     keepassxc
     kdeconnect
     latte-dock
     libreoffice-qt
     libsForQt5.applet-window-buttons
     libsForQt5.qtquickcontrols
     libsForQt5.qtstyleplugin-kvantum
     lmms
     musescore
#     natron
     neofetch
     okular
     openshot-qt
     pavucontrol
     pciutils
     rstudio
     spotify
     texworks
     thunderbird
     usbutils
     vivaldi-widevine
     vivaldi-ffmpeg-codecs
     vivaldi
     vscode
     wget
     wineWowPackages.full
     zoom
  ];
}
$ nix-channel --list
nixos https://nixos.org/channels/nixos-unstable
stable https://nixos.org/channels/nixos-21.05
unstable https://nixos.org/channels/nixos-unstable

i don’t have home manager and i’m not doing any nix-env crap, everything that’s installed is installed explicitly or implicitly from configuration.nix.

1 Like

What about sudo nix-channel --list? Users and root have different channels, so the ones you list there aren’t used for your system configuration (and I believe they need to be updated separately, though I’ve long since moved to flakes and am not too sure anymore).

1 Like

oh yeah duh that’s right.

$ su -c "nix-channel --list" 
nixos https://nixos.org/channels/nixos-unstable
nixos-unstable https://nixos.org/channels/nixos-unstable

i don’t know why i aliased unstable as unstable on user and nixos-unstable on root but i don’t think that really matters here

Your configuration looks perfectly correct :slight_smile:

I tried this too, using nix run github:nixos/nixpkgs/master#openshot-qt to make sure I get the very latest from upstream, it looks like the package is simply currently broken. You can probably just bump the version of libopenshot here: nixpkgs/libopenshot.nix at eb3926cf542cc35f69faddbaa102e817a08fed61 · NixOS/nixpkgs · GitHub.

If you still want a downstream fix, overriding the package is probably an option, but I think the best thing to do is just to write a patch to upstream. That, or join us over on stable land, but I’ve honestly found unstable to be more “stable” because far too many people use unstable and usually someone fixes these issues before they hit you.

1 Like

thanks, i’ll look at that and see if i can submit a patch when i get a chance!

1 Like