JavaFX 11 Web Module Linux Requires libavcodec-ffmpeg

Sverre Moe sverre.moe at gmail.com
Thu Sep 19 14:02:52 UTC 2019


tor. 19. sep. 2019 kl. 15:36 skrev Kevin Rushforth <
kevin.rushforth at oracle.com>:

> The dependency on libavcodec56 / libavcodec-ffmpeg56 is almost certainly
> coming from javafx.media. The javafx.web module depends on
> javafx.media, which explains why javafx.web pulls in that dependency.
>

It must have been some error on my side. Removing both the javafx.media and
javafx.web will omit the libav* Requires from my RPM package built by
jpackage.


> The javafx.media module includes dynamic libraries that are stubs for
> different versions of libav. If you download the JavaFX SDK, you will
> see them in the sdk/lib directory with the names libavplugin-NN.so and
> libavplugin-ffmpeg-NN.so.
>
> Alexander can provide more information.
>
> The runtime image produced with jlink and the JavaFX jmods do have these
so-files present in the lib directory of the runtime image. If they are
present there should not be any need to specify them as Requires on the RPM
package built by jpackage.
Does the problem then lie on the jpackage "scanning" for Linux Package
Dependencies?

What linux distribution and package where these bundled so-files built from?
The libav56 should come from ffmpeg2 package, while libav57 is from ffmpeg3
package, but none of these ffmpeg packages produce a libavcodec-ffmpeg.so.

My Linux distribution OpenSUSE, and I have checked with Fedora, do not have
the libavcodec-ffmpeg.so.
They do however have the libavcodec.so.57 which is among the requires
(version 56 and 57).

>
> On 9/19/2019 1:52 AM, Sverre Moe wrote:
> > Building an JavaFX application with the jpackage tools adds many
> additional
> > Linux RPM Requires.
> >
> > Among these are libavcodec56 and libavcodec-ffmpeg56. It is ffmpeg2 that
> > has libavcodec56, but the libavcodec-ffmpeg is nowhere to be found. It
> does
> > not seem to exist.
> >
> > If building an Java runtime image with the JavaFX 11 Web module, these
> are
> > among the RPM Requires added to the RPM package built by jpackage. One
> > could actually think it would be the media module that had these
> requires,
> > but no it doesn't.
> >
> > The jpackage tool does not have any of these Require packages itself. It
> is
> > getting them from the javafx.web module. If I omit the javafx.web from
> the
> > java runtime image, these Requires are omitted from the built RPM
> package:
> >
> > libavcodec-ffmpeg.so.56()(64bit)
> > libavcodec-ffmpeg.so.56(LIBAVCODEC_FFMPEG_56)(64bit)
> > libavcodec.so.54()(64bit)
> > libavcodec.so.54(LIBAVCODEC_54)(64bit)
> > libavcodec.so.56()(64bit)
> > libavcodec.so.56(LIBAVCODEC_56)(64bit)
> > libavcodec.so.57()(64bit)
> > libavcodec.so.57(LIBAVCODEC_57)(64bit)
> > libavformat-ffmpeg.so.56()(64bit)
> > libavformat-ffmpeg.so.56(LIBAVFORMAT_FFMPEG_56)(64bit)
> > libavformat.so.54()(64bit)
> > libavformat.so.54(LIBAVFORMAT_54)(64bit)
> > libavformat.so.56()(64bit)
> > libavformat.so.56(LIBAVFORMAT_56)(64bit)
> > libavformat.so.57()(64bit)
> > libavformat.so.57(LIBAVFORMAT_57)(64bit)
> >
> > The problem is since libavcodec-ffmpeg does not exist installing this
> built
> > package is impossible (or cumbersome at best).
> >
> > It Requires either ffmpeg2 (libavcodec56) or ffmpeg3 (libavcoded57), so
> > most Linux distributions are covered. Even if a Linux distribution has
> > ffmpeg3 it will not install the package because of libavcodec-ffmpeg.
> >
> >
> > What part of the JavaFX Web module requires ffmpeg and libavcodec? I
> would
> > like to try using this to see if the application works on Linux. Perhaps
> > the libavcodec-ffmpeg is provided by some other package or other named
> > library.
> >
> > /Sverre
>
>


More information about the openjfx-dev mailing list