flathub / org.libretro.RetroArch

https://flathub.org/apps/details/org.libretro.RetroArch
Creative Commons Zero v1.0 Universal
18 stars 16 forks source link

FFMpeg core failing to launch, missing libavcodec.so.56 #159

Open yajaru opened 4 years ago

yajaru commented 4 years ago

FFMpeg core is failing to load on libavcodec.so.56. I am not sure if this is a bug in flathub packaging or if the core itself should provide the library. In any case, we can probably add it via a dependency while/if ffmpeg core is missing it.

[ERROR] Failed to open libretro core: "/home/foo/.var/app/org.libretro.RetroArch/config/retroarch/cores/ffmpeg_libretro.so" [ERROR] Error(s): libavcodec-ffmpeg.so.56: cannot open shared object file: No such file or directory

yajaru commented 4 years ago

I tried adding libavcodec built from the ffmpeg source to the image but, the ffmpeg core did not see it despite my best efforts. libretro has a special version of the ffmpeg library that they use for the core and I suspect that the changes they have made to it have rendered it incompatible with the standard ffmpeg libraries. I'm not an expert on how library linking works though, so don't quote me on that.

In any case, fixing that should probably be handled on the libretro side as they are likely more familiar with the core and it's dependencies. They also seem to be aware of the issue from what I've seen in their issue tracker.

There is an alternative for the core though; Retroarch's default build has an alternative version of ffmpeg "baked-in", so if a user tries to play videos, it should use that version by default. It'll be confusing for people who see the ffmpeg core but, it does mean that video will work.