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

kdenlive: can't find frei0r-plugins (and other missing dependencies) #29614

Closed
lambdafu opened this issue Sep 20, 2017 · 18 comments
Closed

kdenlive: can't find frei0r-plugins (and other missing dependencies) #29614

lambdafu opened this issue Sep 20, 2017 · 18 comments

Comments

@lambdafu
Copy link
Contributor

Issue description

kdenlive can't find the frei0r-plugins for effects. The effects menu is empty. I am using kdenlive without KDE using the following package list:

    kdenlive kinit frei0r breeze-icons dvdauthor vlc cdrkit 

You can also check under Settings->Run Config Wizard.

The kinit package is needed to be able to add video clips (otherwise you get an error about klauncher). The config wizard complains about the missing breeze icons, dvdauthor, vlc and cdrkit, but at least installing them seems to work. For frei0r, I could not find a workaround (even munging LD_LIBRARY_PATH didn't do anything for me).

Technical details

  • System: 18.03.git.799435b (Impala)
  • Nix version: nix-env (Nix) 1.11.14
  • Nixpkgs version: 18.03.git.799435b7ca
  • Sandboxing enabled: build-use-sandbox = false
@lambdafu
Copy link
Contributor Author

With strace I could find the list of searched directories:

$ strace kdenlive 2>&1 | grep frei0r
open("/nix/store/vp0ndwc33bj1742pdly2d58kpxr2gvzy-mlt-6.4.1/lib/mlt/libmltfrei0r.so", O_RDONLY|O_CLOEXEC) = 11
open("/nix/store/vp0ndwc33bj1742pdly2d58kpxr2gvzy-mlt-6.4.1/share/mlt/frei0r/blacklist.txt", O_RDONLY) = 11
open("/nix/store/vp0ndwc33bj1742pdly2d58kpxr2gvzy-mlt-6.4.1/share/mlt/frei0r/param_name_map.yaml", O_RDONLY) = 11
read(11, "# MLT frei0r param name mapping "..., 4096) = 248
open("/home/marcus/.frei0r-1/lib", O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/usr/local/lib/frei0r-1", O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/opt/local/lib/frei0r-1", O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/usr/lib64/frei0r-1", O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/usr/lib/frei0r-1", O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) = -1 ENOENT (No such file or directory)

Which allowed me this work around:

$ ls -l /home/marcus/.frei0r-1
lrwxrwxrwx 1 marcus users 77 Sep 21 16:48 /home/marcus/.frei0r-1 -> /nix/store/m6jn92f5vx9vjai0xc13gl2dinl69bbm-frei0r-plugins-1.6.1/lib/frei0r-1

Not great, but at least I can use kdenlive a bit...

@davidak
Copy link
Member

davidak commented Dec 20, 2017

screenshot_2017-12-20_12-25-19

[davidak@dc7800:~]$ strace kdenlive 2>&1 | grep "No such file"
access("/etc/ld-nix.so.preload", R_OK)  = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/run/opengl-driver/lib/tls/x86_64/x86_64/libKF5KIOFileWidgets.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat("/run/opengl-driver/lib/tls/x86_64/x86_64", 0x7ffd47751c70) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/run/opengl-driver/lib/tls/x86_64/libKF5KIOFileWidgets.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat("/run/opengl-driver/lib/tls/x86_64", 0x7ffd47751c70) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/run/opengl-driver/lib/tls/x86_64/libKF5KIOFileWidgets.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat("/run/opengl-driver/lib/tls/x86_64", 0x7ffd47751c70) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/run/opengl-driver/lib/tls/libKF5KIOFileWidgets.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat("/run/opengl-driver/lib/tls", 0x7ffd47751c70) = -1 ENOENT (No such file or directory)

More: https://gist.github.com/davidak/8718f84e245c7f6cd5ab6922abc1d3f8


  • system: "x86_64-linux"
  • host os: Linux 4.9.70, NixOS, 18.03pre123130.1bc288591ea (Impala)
  • multi-user?: yes
  • sandbox: yes
  • version: nix-env (Nix) 1.11.16
  • channels(root): "nixos-18.03pre123130.1bc288591ea"
  • nixpkgs: /nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs

@cx405
Copy link

cx405 commented Mar 19, 2018

Confirming this for "frei0r".

@davidak
Can't confirm for "breeze" icons, I am on kde5 release, amd64, install 17.09 with upgrade to 18.03 channel.

FFmpeg can be installed via "ffmpeg-full".
genisoimage/mksiof can be installed via "cdrkit".

I don't plan making dvds, so I am omitting the dvd dependency (using smplayer/smtube for video players).

@cx405
Copy link

cx405 commented Mar 20, 2018

@davidak Thanks for strace!

open("/home/davidak/.frei0r-1/lib", O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/usr/local/lib/frei0r-1", O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/opt/local/lib/frei0r-1", O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/usr/lib64/frei0r-1", O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/usr/lib/frei0r-1", O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) = -1 ENOENT (No such file or directory)

this is result of "# updatedb && locate frei0r | less -X"

/nix/store/rdq9kykkpf0c0pimjf2rqcqvm7jzvv3j-system-path/lib/frei0r-1
/nix/store/rdq9kykkpf0c0pimjf2rqcqvm7jzvv3j-system-path/lib/gstreamer-1.0/libgstfrei0r.la
/nix/store/rdq9kykkpf0c0pimjf2rqcqvm7jzvv3j-system-path/lib/gstreamer-1.0/libgstfrei0r.so
/nix/store/rdq9kykkpf0c0pimjf2rqcqvm7jzvv3j-system-path/lib/pkgconfig/frei0r.pc
/nix/store/rdq9kykkpf0c0pimjf2rqcqvm7jzvv3j-system-path/share/doc/frei0r-plugins
/nix/store/z15112vx42jxgzl4c8k0kasdpri01a3d-system-path/lib/frei0r-1
/nix/store/z15112vx42jxgzl4c8k0kasdpri01a3d-system-path/lib/gstreamer-1.0/libgstfrei0r.la
/nix/store/z15112vx42jxgzl4c8k0kasdpri01a3d-system-path/lib/gstreamer-1.0/libgstfrei0r.so
/nix/store/z15112vx42jxgzl4c8k0kasdpri01a3d-system-path/lib/pkgconfig/frei0r.pc
/nix/store/z15112vx42jxgzl4c8k0kasdpri01a3d-system-path/share/doc/frei0r-plugins

apparently kdenlive searches for "frei0r" inside "/usr/lib", however the library is installed into "/lib".
needs file patching.

Possible workaround could be (untested!):
(pkgs.runCommand "ln-frei0r" { } ''
ln -s {/run/current-system/sw/lib/frei0r-1,$out/lib/frei0r-1} $out/usr/lib/frei0r-1
'')
right inside environment.systemPackages

in the spirit of: #27050 (comment)
I am still learning my way with nix, sorry.

@davidak
Copy link
Member

davidak commented Feb 13, 2019

I don't have dependency errors anymore. I'm now using GNOME 3.

screenshot from 2019-02-13 07-15-47


  • system: "x86_64-linux"
  • host os: Linux 4.14.98, NixOS, 18.09.2137.168cbb39691 (Jellyfish)
  • multi-user?: yes
  • sandbox: yes
  • version: nix-env (Nix) 2.1.3
  • channels(davidak): ""
  • channels(root): "nixos-18.09.2137.168cbb39691, nixos-hardware, nixos-unstable-19.03pre169108.36f31600749"
  • nixpkgs: /nix/var/nix/profiles/per-user/root/channels/nixos

@jtojnar
Copy link
Contributor

jtojnar commented Apr 8, 2019

Won't this work?

wrapProgram $out/bin/shotcut --prefix FREI0R_PATH : ${frei0r}/lib/frei0r-1 --prefix LD_LIBRARY_PATH : ${stdenv.lib.makeLibraryPath [ jack1 SDL2 ]} --prefix PATH : ${mlt}/bin

@cx405
Copy link

cx405 commented May 2, 2019

@jtojnar I still have issue with missing frei0r under plasma in 19.03. How do I test this snippet? Thanks!

@jtojnar
Copy link
Contributor

jtojnar commented May 2, 2019

You would need to add something similar to the kdenlive expression. Something like this:

  postInstall = ''
    wrapProgram $out/bin/kdenlive --prefix FREI0R_PATH : ${frei0r}/lib/frei0r-1
  '';

@chrissound
Copy link

Here is what I used to override the kdenlive package (thanks @jtojnar!).

   nixpkgs.config.packageOverrides = pkgs: {
     kdenlive = pkgs.kdenlive.overrideAttrs (oldAttrs: rec {
         postInstall = ''
          wrapProgram $out/bin/kdenlive --prefix FREI0R_PATH : ${pkgs.frei0r}/lib/frei0r-1
        '';
        nativeBuildInputs = oldAttrs.nativeBuildInputs or [] ++ [ pkgs.makeWrapper ];
     });
   };

I still have an issue though where I seem to be missing a bunch of rendering profiles - I have no 'lossy' profiles to render to.

2019-07-13-12:20:23

@jtojnar
Copy link
Contributor

jtojnar commented Jul 13, 2019

@chrissound Are there any more warnings about missing packages like above?

@chrissound
Copy link

Only relating to ffplay which I assume is not related.
2019-07-13-12:44:55

@raboof
Copy link
Member

raboof commented Dec 12, 2019

Only relating to ffplay which I assume is not related

That warning goes away for me when I install ffmpeg-full

@stale
Copy link

stale bot commented Jun 9, 2020

Thank you for your contributions.

This has been automatically marked as stale because it has had no activity for 180 days.

If this is still important to you, we ask that you leave a comment below. Your comment can be as simple as "still important to me". This lets people see that at least one person still cares about this. Someone will have to do this at most twice a year if there is no other activity.

Here are suggestions that might help resolve this more quickly:

  1. Search for maintainers and people that previously touched the related code and @ mention them in a comment.
  2. Ask on the NixOS Discourse.
  3. Ask on the #nixos channel on irc.freenode.net.

@stale stale bot added the 2.status: stale https://github.com/NixOS/nixpkgs/blob/master/.github/STALE-BOT.md label Jun 9, 2020
@chris-martin
Copy link
Contributor

When I try to render anything in kdenlive, I get this error:

qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found. This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem. Available platform plugins are: wayland-egl, wayland, wayland-xcomposite-egl, wayland-xcomposite-glx, eglfs, linuxfb, minimal, minimalegl, offscreen, vnc, xcb.

@stale stale bot removed the 2.status: stale https://github.com/NixOS/nixpkgs/blob/master/.github/STALE-BOT.md label Jun 10, 2020
@jtojnar
Copy link
Contributor

jtojnar commented Jun 10, 2020

Weird. Are there some unwrapped programs (e.g. in non-standard directories)?

@chris-martin
Copy link
Contributor

chris-martin commented Jun 10, 2020

Additionally, now (not sure what changed) I get the following popup:

Cannot find the melt program required for rendering (part of Mlt)

@chris-martin
Copy link
Contributor

Sorry, I suppose I spoke too soon. After updating to the latest version of channel 20.03, things seem to be working fine for me now.

@jtojnar
Copy link
Contributor

jtojnar commented Jun 10, 2020

Closing then, as it should have been fixed by #83932 anyway. And the melt issue even earlier in #68470.

@jtojnar jtojnar closed this as completed Jun 10, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

7 participants