Discussion:
Javafx Audio mit opensuse 13.1 -> libavcodec und libavformat passen nicht
Karl Weber
2014-06-01 15:44:02 UTC
Permalink
Hallo,

das erste mal, das java nicht "out of the box" läuft. Die libavcodec* und
libavformat* passen wohl nicht.

Es geht um java 8, genauer jdk1.8.0_05, das frisch von Oracle heruntergeladen
wurde. Dies enthält JavaFX, welches Audio (und Video) auch unter Linux
unterstützt. Dazu müssen allerdings gewisse Systemvoraussetzungen erfüllt sein
[1] bzw. nach ein bischen Navigation genauer [2] -- unten bei JavaFX Media:

===========================================================
You must install the following in order to support AAC audio, MP3 audio, H.264
video, and HTTP Live Streaming:

libavcodec52 and libavformat52 on Ubuntu Linux 10.04, 10.10, 11.04 or
equivalent.

libavcodec53 and libavformat53 on Ubuntu Linux 11.10, 12.04 or equivalent.
===========================================================

Zu gut Deutsch: man braucht, je nach Version, ein libavcodec* und
libavformat* oder ein Äquivalent. Was wäre hier Äquivalent?

Bei mir sind libavcodec52, libavformat52, libavcodec55 und libavformat55 von
packman installiert. Packman bietet noch *54 an, aber nicht *53.... *54 habe
ich aber nicht installiert.

Nun versuche ich eine einfache mp3 Audiodatei abzuspielen und bekomme die
Fehlermeldung, dass das Format nicht unterstützt wird.

Schaue ich mir die dlls in /usr/lib64/jvm/jdk1.8.0_05/jre/lib/amd64 an, so
erhalte ich z.B.

***@venus1:/usr/lib64/jvm/jdk1.8.0_05/jre/lib/amd64> ldd libavplugin.so
linux-vdso.so.1 (0x00007fff333e7000)
libgstreamer-lite.so => not found
libgobject-2.0.so.0 => /usr/lib64/libgobject-2.0.so.0
(0x00007f873fe93000)
libgthread-2.0.so.0 => /usr/lib64/libgthread-2.0.so.0
(0x00007f873fc91000)
librt.so.1 => /lib64/librt.so.1 (0x00007f873fa89000)
libglib-2.0.so.0 => /usr/lib64/libglib-2.0.so.0 (0x00007f873f785000)
libavcodec.so.53 => not found
libavformat.so.53 => not found
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f873f566000)
libc.so.6 => /lib64/libc.so.6 (0x00007f873f1b7000)
libffi.so.4 => /usr/lib64/libffi.so.4 (0x00007f873efaf000)
libpcre.so.1 => /usr/lib64/libpcre.so.1 (0x00007f873ed48000)
/lib64/ld-linux-x86-64.so.2 (0x00007f874030e000)

Ergo, die *53 fehlen. Wie kann ich das fixen?

Der besondere Witz ist noch das nicht gefundene libgstreamer-lite.so, welches
sich in ebendiesem Verzeichnis /usr/lib64/jvm/jdk1.8.0_05/jre/lib/amd64
befindet:

***@venus1:/usr/lib64/jvm/jdk1.8.0_05/jre/lib/amd64> ls -altr libgs*
-rwxr-xr-x 1 uucp 143 1767154 17. Mär 19:41 libgstreamer-lite.so

Teilweise wird dies gefunden, z.B.

***@venus1:/usr/lib64/jvm/jdk1.8.0_05/jre/lib/amd64> ldd libjfxmedia.so
linux-vdso.so.1 (0x00007fff0fbfe000)
libgstreamer-lite.so =>
/usr/lib64/jvm/jdk1.8.0_05/jre/lib/amd64/./libgstreamer-lite.so
(0x00007f8275556000)
libgobject-2.0.so.0 => /usr/lib64/libgobject-2.0.so.0
(0x00007f82752e6000)
[...]

Teilweise nicht:

***@venus1:/usr/lib64/jvm/jdk1.8.0_05/jre/lib/amd64> ldd libfxplugins.so
linux-vdso.so.1 (0x00007ffff9dfe000)
libgstreamer-lite.so => not found
libgobject-2.0.so.0 => /usr/lib64/libgobject-2.0.so.0
(0x00007fd686c79000)
[...]

Was bedeutet das????

Vielen Dank für Eure Hilfe,

viele Grüße

Karl


[1] http://docs.oracle.com/javafx/2/media/overview.htm

[2]
http://www.oracle.com/technetwork/java/javafx/downloads/supportedconfigurations-1506746.html
--
Um die Liste abzubestellen, schicken Sie eine Mail an:
opensuse-de+***@opensuse.org
Um den Listen Administrator zu erreichen, schicken
Sie eine Mail an: opensuse-de+***@opensuse.org
Karl Weber
2014-06-07 11:49:56 UTC
Permalink
Post by Karl Weber
das erste mal, das java nicht "out of the box" läuft. Die libavcodec* und
libavformat* passen wohl nicht.
Nachtrag: das gilt nur für die jdk1.8.0_05 von oracle. Mit der jdk1.7.0_60 von
oracle geht es.
--
Um die Liste abzubestellen, schicken Sie eine Mail an:
opensuse-de+***@opensuse.org
Um den Listen Administrator zu erreichen, schicken
Sie eine Mail an: opensuse-de+***@opensuse.org
Lesen Sie weiter auf narkive:
Loading...