PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Allgemeines Verständnisproblem am Bsp. von libmad



talpa
24.10.06, 20:59
Hallo allerseits,

ich nutze Linux jetzt schon seit einer Weile. Leider gibt es immer wieder Verständnisprobleme:
Nach einer wahren Änderungs-Orgie mit einer Mischung aus rpm's und Selbstkompilier(-Versuchen), weil der mplayer einige wmv nicht spielte, spielt er nun überhaupt nichts mehr. :ugly:

Auch mein k3b fehlt seitdem seltsamerweise, also möchte ich es neu installieren: Mit Yast (Suse 9.3/64bit) -> Software installieren -> k3b gesucht und angehakt. Es folgt eine Meldung mit nicht erfüllten Abhängigkeiten, u.a.:

libmad.so.0()(64bit)
libmp3lame.so.0()(64bit)

Ich suche also in meinen Installationsquellen (DVD, packman.iu-bremen.de) und finde dort kein libmad. Durch googeln und suchen hier im Forum finde ich diverse Links zu Download-Quellen. Bei manchen gibt es rpm- bei anderen tar.gz-Pakete. Was ich nicht verstehe:


Soweit ich weiß, muss ich mir rpm-Pakete für Suse suchen. Die habe ich aber bisher nicht gefunden. In diesem Thread (http://www.linuxforen.de/forums/showthread.php?p=1305662#post1305662) hier im Forum sucht jemand mit Suse ebenfalls nach libmad und es wirde ihm u.a. dieser Link (http://ftp.informatik.uni-frankfurt.de/linux/freshrpms/yellowdog/3.0/libmad/) genannt, wo man verschiedene rpms downloaden kann, allerdings für Fedora. Könnte ich ein rpm-Pakete einer anderen Distribution verwenden (Stichwort LSB)?
Wenn das mit dem rpm-Paket einer anderen Distri geht, welches rpm aus dem oben erwähnten Link nehme ich dann? Es gibt zwei, die sich nur durch die Kürzel ppc und src (=source?) unterscheiden?
Wenn ich den tarball nehme, dann bekommt das Yast nicht mit, richtig? Oder gibt es doch eine Möglichkeit, damit Yast auf dem Laufenden bleibt?


Schönen Gruß,
talpa

talpa
24.10.06, 21:04
Mmmh, ich habe gerade in der Konsole nach "libmad" gesucht und das hier gefunden:

/usr/lib/libmad.so.0.2.1
/usr/lib/libmad.so.0
/usr/lib64/xmms/Visualization/libmadspin.so
/usr/lib64/libmad.la
/usr/lib64/libmad.so
/usr/lib64/libmad.a

Was ist hier falsch gelaufen? Kann ich das mit ein paar Links evtl. wieder richten?

Gruß, talpa

hp_tux
25.10.06, 10:58
Hallo,

also, gesucht werden zwei Bibliotheken, und zwar jeweils in der 64-Bit-Version. Wenn Du libmad in der 64-Bit-Version als rpm (für SuSE) installiert hast, solltest Du mal nachschauen, ob noch alle Dateien aus diesem Paket vorhanden sind. Das geht z.B. sehr bequem mit "kpackage", oder halt direkt mit "rpm" (s. Manpage). Falls nicht, mußt Du das Paket neu installieren.

Auch noch ganz interessant wäre sicher die Ausgabe von

file /usr/lib64/libmad.so

Kleiner Tip: Man kann sich das Leben wohl um einiges einfacher machen, wenn man auch auf einem 64-Bit-System ein 32-Bit-Linux installiert. Soviel ich weiß, läuft das dann auch keineswegs langsamer, zumindest nicht merklich.

Gruß

hp_tux

talpa
25.10.06, 11:34
Hallo hp_tux und danke für Deine Antwort!

Als ich mir damals für meinen Rechner einen AMD64 gekauft habe, dachte ich mir, ich probiere die 64bit-Version von Suse mal aus. Wohlwissend, dass der größte Teil der Applikationen das noch gar nicht ausnutzt. Jetzt steh ich eben da, mit meinem kurzem Hemd...;)

Ich würde das Paket gerne neu installieren, nur finde ich es leider nicht. Suche ich mittels Yast (Software installieren) in meinen Installationsquellen, so ergibt die Suche nach libmad keinen Treffer.

Im Internet selbst finde ich nur rpm-Pakete von anderen Distributionen, wie z.B. hier (http://rpmseek.com/rpm-pl/libmad.html?hl=de&cs=libmad:PN:0:0:0:0) bei rpmseek.com. Dort finde ich 64bit-rpms für Fedora (fc). Die kann ich doch nicht bei mir installieren, oder etwa doch?

Dies Ausgabe von

file /usr/lib64/libmad.so
poste ich heute Abend.

Gruß, talpa

Rain_maker
25.10.06, 11:54
Die "libmad"-Bibliothek befindet sich bei SuSE im Paket "mad", siehe unten (SuSE 10.0, 32 Bit)


rpm -qil mad
Name : mad Relocations: (not relocatable)
Version : 0.15.1b Vendor: SUSE LINUX Products GmbH, Nuernberg, Germany
Release : 32.1 Build Date: Mo 10 Okt 2005 15:44:19 CEST
Install date: Di 18 Okt 2005 14:51:58 CEST Build Host: xw8200.suse.de
Group : System/Libraries Source RPM: mad-0.15.1b-32.1.src.rpm
Size : 135526 License: GPL
Signature : DSA/SHA1, Mo 10 Okt 2005 15:52:08 CEST, Key ID dbb7ec738750d2c4
Packager : http://www.suse.de/feedback
URL : http://www.underbit.com/products/mad/
Summary : An MPEG audio decoder library
Description :
MAD is a high-quality MPEG audio decoder. It currently supports MPEG-1
and the MPEG-2 extension to Lower Sampling Frequencies, as well as the
so-called MPEG 2.5 format. All three audio layers (Layer I, Layer II,
and Layer III a.k.a. MP3) are fully implemented.

MAD supports high quality 24-bit PCM output for modern audio
technologies. MAD computes using 100% fixed-point (integer)
computation, so you can run it without a floating point unit.



Authors:
--------
Underbit Technologies, Inc. <support@underbit.com>
Distribution: SUSE LINUX 10.0 (i586)
/usr/lib/libmad.so.0
/usr/lib/libmad.so.0.2.1
/usr/share/doc/packages/mad
/usr/share/doc/packages/mad/CHANGES
/usr/share/doc/packages/mad/COPYING
/usr/share/doc/packages/mad/COPYRIGHT
/usr/share/doc/packages/mad/CREDITS
/usr/share/doc/packages/mad/README
/usr/share/doc/packages/mad/TODO
/usr/share/doc/packages/mad/VERSION
Das Paket "mad" sollte man bei Packman bekommen können.



smart query --show-channels mad
Lade Zwischenspeicher...
Update Zwischenspeicher... ######################################## [100%]

mad-0.15.1b-1.pm.3@i586 [suse-100-apt-packman]
mad-0.15.1b-32.1@i586 [rpm-sys]


http://packman.links2linux.de/package/mad

Voilà, Pakete für 9.2-10.1, jeweils in 32 und 64 Bit.

BTW:

Ich würde solche "Mischmasch"-Stunts in Zukunft lieber unterlassen oder aus meinen selbstgebauten Paketen rpms machen.

Greetz,

RM

talpa
25.10.06, 21:18
Hallo hp_tux und Rain_maker und danke für eure Antworten!

Dass mein Mischmasch-Stunt unüberlegt war und, wie sieht jetzt bestätigt hat, im Chaos endet, war mir irgendwie schon vorher klar. Aber nach stundenlangem googeln und Foren durchstöbern war ich dann irgendwann so genervt, dass ich für alles bereit war.

Ich kann mich dunkel erinnern, dass ich den mplayer mittels Yast entfernt habe und ihn mit einer Anleitung neu kompilieren wollte. Die passenden Sourcen dazu waren (so wie es jetzt aussieht) 32bit:


linux:/usr/lib64 # file /usr/lib64/libmad.so
/usr/lib64/libmad.so: broken symbolic link to `libmad.so.0.2.1'


Der broken Link zeigte nach /usr/lib64/ wo jetzt leider keine libmad.so.0.2.1 mehr liegt. Ich habe keine Ahnung wieso! Die einzige Erklärung, die ich habe, ist, dass beim Deinstallieren des mplayer auch andere Pakete entfernt wurden. Die libmad wird allerdings auch von anderen Programmen (z.B. k3b) benötigt. Die hätte doch drauf bleiben müssen, oder?

Durch mein Selbstkompilieren gibt es jetzt allerdings folgende libmad:

/usr/lib/libmad.so.0.2.1
Diese ist wahrscheinlich 32bit. Ich habe den broken Link in meiner Verzweiflung jetzt gelöscht und neu mit dieser Datei als Ziel erstellt. Wie erwartet hat Yast beim Installationsversuch von k3b angemeckert, dass er die 64bit-Version von libmad erwartet.

Mein Lösungsansatz sieht jetzt folgendermaßen aus:
Ich lösche mittels rpm die 32bit-Version von libmad und installieren danach die 64bit-Version aus dem Link vom Rain_maker. Das ganze wiederholt sich dann mit einer Reihe anderer Pakete, bei denen Yast ähnliche Probleme hat. :( Was meint ihr, hört sich das sinnvoll an?

Gruß, talpa

talpa
25.10.06, 21:47
Tja, ich kann es mal wieder nicht abwarten. Daher habe ich mir gedacht, ich versuche zunächst mal die 64bit-Version von mad zusätzlich zu installieren. Gedacht, getan. Rpm-Paket heruntergeladen und einen Test abgesetzt:

linux:/home/talpa/downloads/rpm # rpm -i --test mad-0.15.1b-1.pm.3.x86_64.rpm
warning: mad-0.15.1b-1.pm.3.x86_64.rpm: V3 DSA signature: NOKEY, key ID 3ab2ce5e
package mad-0.15.1b-1.pm.3 is already installed
Stimmt, es ist bereits installiert:

linux:/home/talpa/downloads/rpm # rpm -qa|grep mad
xmms-lib-mad-1.2.10-68
kdemultimedia3-mad-3.4.0-14
mad-devel-0.15.1b-31
bmp-plugins-mad-0.9.7-10
libtunepimp-mad-0.3.0-6
mad-0.15.1b-1.pm.3
madbomber-0.2.5-273.1
gstreamer-plugins-extra-mad-0.8.8-13
xine-mad-1.0-10
mad-32bit-9.3-7


Entfernen lässt es sich auch nicht:

linux:/home/talpa/downloads/rpm # rpm -e mad-0.15.1b-1.pm.3
error: Failed dependencies:
mad is needed by (installed) kdemultimedia3-mad-3.4.0-14
mad is needed by (installed) libtunepimp-mad-0.3.0-6
mad is needed by (installed) mad-devel-0.15.1b-31
mad is needed by (installed) xine-mad-1.0-10

Wie zum Teufel ist dann meine libmad-64bit abhanden gekommen? :confused: Die wurde doch auch noch benötigt. :mad:

Jetzt bin ich wieder ratlos. Was empfehlt ihr mir?
Gruß, talpa

Rain_maker
25.10.06, 22:52
Das Problem liegt darin, daß rpm nicht zwischen 32 und 64 Bit unterscheiden kann, die Pakete haben identische Namen.

Deshalb auch:


package mad-0.15.1b-1.pm.3 is already installed

Hier hilft wohl nur die Brutalmethode und bitte NICHT zur Gewohnheit werden lassen.



rpm -Uvh --force mad-0.15.1b-1.pm.3.x86_64.rpm --test Wenn das ohne "Megger" durchläuft, dann ohne das "--test".

Und danach würde ich mir solche Frickelstunts verkneifen.

Warum Du den Mplayer selbst kompilierst und nicht den von Packman nimmst ist mir z.B. auch ein Rätsel, die Pakete von Packman sind doch meist sehr aktuell, aber egal.

Und diesen "Stunt" mit dem "--force" wirst Du wahrscheinlich für alle "faulen" Pakete wiederholen dürfen.

Greetz,

RM

talpa
26.10.06, 11:12
Hallo Rain_maker,

ich hatte bereits den mplayer von Packman, es liefen aber nicht alle *.wmv damit. Ich habe Testweise einen dieser Filme, die nicht gelaufen sind, einem Freund mit Kubuntu geschickt und er konnte ihn sich ansehen. Somit wusste ich, dass mir ein Codec fehlt und es nicht am DRM liegt.

In einem anderen Beitrag hatte jemand das gleiche Problem und er hat einen bestimmten Codec nachträglich im Dateisystem abgelegt. Ich bin seinen Beispiel gefolgt, leider ohne Erfolg.

Dann habe ich noch Infos über komplette Codec-Pakete gefunden, wusste aber nicht genau, ob ich die auch nur an einen bestimmten Ort kopiere oder was ich sonst damit machen muss, damit der mplayer sie findet. Auch wie man mittels Yast ein Update auf den bestehenden mplayer (oder ein beliebiges anderes Paket) macht, weiß ich leider bis jetzt noch nicht.

Die ganze Sucherei und Leserei ging mir irgendwann so auf die Nerven, dass ich beschloss, den mplayer über Yast zu deinstallieren und von Hand neu zu kompilieren. Soweit die Vorgeschichte zu dem ganzen Debakel...

Deine Tips werde ich leider erst morgen ausprobieren können. Vielen Dank auf jeden Fall, ich melde mich dann wieder.

Gruß, talpa

talpa
27.10.06, 22:25
Hallo Rain_maker,

es ist vollbracht. :)

Nach einer wahren Orgie von rpm's, die ich mit Hilfe von "--force" gegen den Willen meines Systems installiert habe, sind die Abhängigkeiten wieder aufgelöst. K3B ist neu installiert und auch den mplayer habe ich wieder zum Laufen bekommen. Einige avi-Files laufen noch nicht, aber da werde ich erst mal Google und das Forum bemühen. Nochmal vielen Dank!

Ein paar Fragen habe ich noch (falls Dir die Lust noch nicht vergangen ist):


Als root kann ich problemlos die meisten Filme öffnen. Als User kommt die folgende Fehlermeldung:

alsa-init: playback open error: Keine Berechtigung
Wenn ich den mplayer als User in der Konsole starte (gleicher Film), dann erhalte ich mehr Infos:

MPlayer dev-SVN-rUNKNOWN-3.3.5 (C) 2000-2006 MPlayer Team
CPU: AMD Athlon(tm) 64 Processor 2800+ (Family: 15, Model: 4, Stepping: 10)
CPUflags: MMX: 1 MMX2: 1 3DNow: 1 3DNow2: 1 SSE: 1 SSE2: 1
Compiled for x86 CPU with extensions: MMX MMX2 3DNow 3DNowEx SSE SSE2


Failed to open /dev/rtc: Permission denied (it should be readable by the user.)
Opening joystick device /dev/input/js0
Can't open joystick device /dev/input/js0: No such device
Can't init input joystick
Setting up LIRC support...
mplayer: could not connect to socket
mplayer: Permission denied
Failed to open LIRC support.
You will not be able to use your remote control.

Playing /mnt/bilder/filme/laeuft-nicht/dummgelaufen.wmv.
ASF file format detected.
VIDEO: [WMV3] 320x240 24bpp 1000.000 fps 0.0 kbps ( 0.0 kbyte/s)
Clip info:
name:
author:
copyright:
comments:
Xv: could not grab port 53
Xv: could not grab port 54
================================================== ========================
Requested video codec family [wmv9dmo] (vfm=dmo) not available.
Enable it at compilation.
Requested video codec family [wmvdmo] (vfm=dmo) not available.
Enable it at compilation.
Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family
[wmv3 @ 0xbdb570]Header: 4C491A01
Selected video codec: [ffwmv3] vfm: ffmpeg (FFmpeg M$ WMV3/WMV9)
================================================== ========================
================================================== ========================
Opening audio decoder: [ffmpeg] FFmpeg/libavcodec audio decoders
AUDIO: 32000 Hz, 2 ch, s16le, 32.0 kbit/3.12% (ratio: 4000->128000)
Selected audio codec: [ffwmav2] afm: ffmpeg (DivX audio v2 (FFmpeg))
================================================== ========================
Opening /dev/dvb/adapter0/audio0
DVB AUDIO DEVICE: : No such device or address
[AO OSS] audio_setup: Can't open audio device /dev/dsp: Device or resource busy
alsa-init: using device default
alsa-lib: pcm_hw.c:1217:(snd_pcm_hw_open) open /dev/snd/pcmC0D0p failed: Permission denied
alsa-lib: pcm_dmix.c:802:(snd_pcm_dmix_open) unable to open slave
alsa-init: playback open error: Permission denied
mcop warning: user defined signal handler found for SIG_PIPE, overriding
[AO ARTS] Connected to sound server.
[AO ARTS] Stream opened.
[AO ARTS] buffer size: 20480
[AO ARTS] buffer size: 2048
AO: [arts] 32000Hz 2ch s16le (2 bytes per sample)
Starting playback...
VDec: vo config request - 320 x 240 (preferred colorspace: Planar YV12)
VDec: using Planar YV12 as output csp (no 0)
Movie-Aspect is undefined - no prescaling applied.
VO: [xv] 320x240 => 320x240 Planar YV12
A: 5.0 V: 5.1 A-V: -0.120 ct: -0.008 4/ 4 ??% ??% ??,?% 0 0
Exiting... (Quit)

Welche Rechte müssen hier gesetzt werden?

Auf einem anderen Rechner habe ich noch eine ältere mplayer-Installation und es fehlen wichtige Codecs. Wenn ich diese Installation updaten möchte, lade ich mir das aktuelle mplayer-rpm herunter und installiere es mit der Option "-U" für Update, richtig? Unter Yast habe ich bisher keine Möglichkeit gefunden, Pakete upzudaten.

Stimmt es, dass ich unter Suse rpm's anderer Distributionen installieren kann? Gelesen habe ich das hier (http://www.linuxforums.org/forum/suse-linux-help/48109-mp3s-2.html).

So, jetzt mache ich Feierabend.

Schönen Gruß,
talpa