celluloid-player / celluloid

A simple GTK+ frontend for mpv
https://celluloid-player.github.io
GNU General Public License v3.0
1.14k stars 90 forks source link

linking error: undefined reference to `av_packet_side_data_get@LIBAVCODEC_60' #913

Closed eyalroz closed 8 months ago

eyalroz commented 9 months ago

Overview Description: When building celluloid 0.26 release, during the link command starting with:

cc  -o src/celluloid src/celluloid.p/meson-generated_.._celluloid-mpris-gdbus.c.o src/celluloid.p/meson-generated_.._celluloid-marshal.c.o

I get:

/usr/bin/ld: /usr/lib/x86_64-linux-gnu/libmpv.so: undefined reference to `av_packet_side_data_get@LIBAVCODEC_60'

I'm using Devuan GNU/Linux excalibur, with g++13. libmpv is from mpv v0.37.0 . The distribution itself is insufficient, because the version of libplacebo is too old, so I built and installed libplacebo-6.338.1 and am using that.

Note: Seeing the same problem with celluloid 0.24 release.

gnome-mpv commented 9 months ago

It looks like your libmpv isn't compatible with your ffmpeg, or maybe it needs to be rebuilt. In any case, this isn't a Celluloid bug.

eyalroz commented 9 months ago

@gnome-mpv : Well, I'm using my distribution's libmpv and ffmpeg, so this is possible, but somewhat unlikely. Also - is this incompatibility not something that should be detected during meson configuration?

gnome-mpv commented 9 months ago

Also - is this incompatibility not something that should be detected during meson configuration?

Not really. ffmpeg isn't one of our direct dependencies, so it's out of scope for our build script.

By the way, I noticed that Devuan has a package for v0.26. Have you tried using that? If it works, you may be able to use build-dep to pull in the right dependencies if you want to do a custom build.

eyalroz commented 9 months ago

I noticed that Devuan has a package for v0.26. Have you tried using that?

Well, I tried it a couple of days ago, and it died failing to find this exactly symbol, actually.

But now when I try to start it, I get:

(io.github.celluloid_player.Celluloid:30279): GLib-GIO-ERROR **: 20:30:59.903: Settings schema 'io.github.celluloid-player.Celluloid' does not contain a key named 'menubar-accel-enable'
Trace/breakpoint trap
gnome-mpv commented 9 months ago

But now when I try to start it, I get:

(io.github.celluloid_player.Celluloid:30279): GLib-GIO-ERROR **: 20:30:59.903: Settings schema 'io.github.celluloid-player.Celluloid' does not contain a key named 'menubar-accel-enable' Trace/breakpoint trap

Running glib-compile-schemas /usr/share/glib-2.0/schemas/ should fix it. You may need to change the /usr/share/glib-2.0/schemas/ part if you're installing to a prefix other than /usr.

eyalroz commented 9 months ago

Tried that, and it didn't help. I do have a /usr/share/glib-2.0/schemas/io.github.celluloid_player.Celluloid.gschema.xml file though.

gnome-mpv commented 9 months ago

If the distro package doesn't work then there's probably a packaging bug or some other issues with your setup. You should file a bug report with your distro in this case.

eyalroz commented 8 months ago

Issue has gone away with some local directories removal and distro upgrades.

So, closing.