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

Open
lambdafu opened this Issue Sep 20, 2017 · 5 comments

Comments

Projects
None yet
3 participants
@lambdafu
Copy link
Contributor

lambdafu commented Sep 20, 2017

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

This comment has been minimized.

Copy link
Contributor Author

lambdafu commented Sep 21, 2017

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

This comment has been minimized.

Copy link
Contributor

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

This comment has been minimized.

Copy link
Contributor

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

This comment has been minimized.

Copy link
Contributor

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

This comment has been minimized.

Copy link
Contributor

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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment