[SOLVED] Mplayer kompiliert nimmer... (1.05pre genausowenig wie CVS vom 13.11.)

  • Tach,


    wieder ein Problem...je mehr man an der Kiste macht, desto weniger geht noch...seufz...


    Heute heisst unser Sorgenkind MPlayer. Er will nach dem ./configure nimmer durchlaufen...


    Das sind die Options...


    ./configure --prefix=/usr --enable-largefiles --with-extraincdir=/usr/local/src/DVB/include


    Kernel: 2.6.10-rc1 BS: Gentoo Linux (nein, für Mplayer nehm ich keine ebuilds) und ansonsten sollte ja so gut wie jeder meinen Kasten kennen :)


    Was läuft hier wieder falsch ?


    cal/src/DVB/include -I/usr/include/directfb -DMPG12PLAY -o vo_fbdev.o vo_fbdev.c
    In file included from /usr/local/src/DVB/include/asm/byteorder.h:57,
    from /usr/local/src/DVB/include/linux/kernel.h:16,
    from /usr/local/src/DVB/include/asm/system.h:5,
    from /usr/local/src/DVB/include/asm/processor.h:18,
    from /usr/local/src/DVB/include/asm/thread_info.h:16,
    from /usr/local/src/DVB/include/linux/thread_info.h:21,
    from ../osdep/kerneltwosix.h:4,
    from vo_fbdev.c:21:
    /usr/local/src/DVB/include/linux/byteorder/little_endian.h:43: error: syntax error before "__cpu_to_le64p"
    /usr/local/src/DVB/include/linux/byteorder/little_endian.h: In function `__cpu_to_le64p':
    /usr/local/src/DVB/include/linux/byteorder/little_endian.h:45: error: `__le64' undeclared (first use in this function)
    /usr/local/src/DVB/include/linux/byteorder/little_endian.h:45: error: (Each undeclared identifier is reported only once
    /usr/local/src/DVB/include/linux/byteorder/little_endian.h:45: error: for each function it appears in.)
    /usr/local/src/DVB/include/linux/byteorder/little_endian.h: At top level:
    /usr/local/src/DVB/include/linux/byteorder/little_endian.h:47: error: syntax error before '*' token
    /usr/local/src/DVB/include/linux/byteorder/little_endian.h: In function `__le64_to_cpup':
    /usr/local/src/DVB/include/linux/byteorder/little_endian.h:49: error: `p' undeclared (first use in this function)
    /usr/local/src/DVB/include/linux/byteorder/little_endian.h: At top level:
    /usr/local/src/DVB/include/linux/byteorder/little_endian.h:51: error: syntax error before "__cpu_to_le32p"
    /usr/local/src/DVB/include/linux/byteorder/little_endian.h: In function `__cpu_to_le32p':
    /usr/local/src/DVB/include/linux/byteorder/little_endian.h:53: error: `__le32' undeclared (first use in this function)
    /usr/local/src/DVB/include/linux/byteorder/little_endian.h: At top level:
    /usr/local/src/DVB/include/linux/byteorder/little_endian.h:55: error: syntax error before '*' token
    /usr/local/src/DVB/include/linux/byteorder/little_endian.h: In function `__le32_to_cpup':
    /usr/local/src/DVB/include/linux/byteorder/little_endian.h:57: error: `p' undeclared (first use in this function)
    /usr/local/src/DVB/include/linux/byteorder/little_endian.h: At top level:
    /usr/local/src/DVB/include/linux/byteorder/little_endian.h:59: error: syntax error before "__cpu_to_le16p"
    /usr/local/src/DVB/include/linux/byteorder/little_endian.h: In function `__cpu_to_le16p':
    /usr/local/src/DVB/include/linux/byteorder/little_endian.h:61: error: `__le16' undeclared (first use in this function)
    /usr/local/src/DVB/include/linux/byteorder/little_endian.h: At top level:
    /usr/local/src/DVB/include/linux/byteorder/little_endian.h:63: error: syntax error before '*' token
    /usr/local/src/DVB/include/linux/byteorder/little_endian.h: In function `__le16_to_cpup':
    /usr/local/src/DVB/include/linux/byteorder/little_endian.h:65: error: `p' undeclared (first use in this function)
    /usr/local/src/DVB/include/linux/byteorder/little_endian.h: At top level:
    /usr/local/src/DVB/include/linux/byteorder/little_endian.h:67: error: syntax error before "__cpu_to_be64p"
    /usr/local/src/DVB/include/linux/byteorder/little_endian.h: In function `__cpu_to_be64p':
    /usr/local/src/DVB/include/linux/byteorder/little_endian.h:69: error: `__be64' undeclared (first use in this function)
    /usr/local/src/DVB/include/linux/byteorder/little_endian.h:69: error: syntax error before "__swab64p"
    /usr/local/src/DVB/include/linux/byteorder/little_endian.h: At top level:
    /usr/local/src/DVB/include/linux/byteorder/little_endian.h:71: error: syntax error before '*' token
    /usr/local/src/DVB/include/linux/byteorder/little_endian.h: In function `__be64_to_cpup':
    /usr/local/src/DVB/include/linux/byteorder/little_endian.h:73: error: `p' undeclared (first use in this function)
    /usr/local/src/DVB/include/linux/byteorder/little_endian.h: At top level:
    /usr/local/src/DVB/include/linux/byteorder/little_endian.h:75: error: syntax error before "__cpu_to_be32p"
    /usr/local/src/DVB/include/linux/byteorder/little_endian.h: In function `__cpu_to_be32p':
    /usr/local/src/DVB/include/linux/byteorder/little_endian.h:77: error: `__be32' undeclared (first use in this function)
    /usr/local/src/DVB/include/linux/byteorder/little_endian.h:77: error: syntax error before "__swab32p"
    /usr/local/src/DVB/include/linux/byteorder/little_endian.h: At top level:
    /usr/local/src/DVB/include/linux/byteorder/little_endian.h:79: error: syntax error before '*' token
    /usr/local/src/DVB/include/linux/byteorder/little_endian.h: In function `__be32_to_cpup':
    /usr/local/src/DVB/include/linux/byteorder/little_endian.h:81: error: `p' undeclared (first use in this function)
    /usr/local/src/DVB/include/linux/byteorder/little_endian.h: At top level:
    /usr/local/src/DVB/include/linux/byteorder/little_endian.h:83: error: syntax error before "__cpu_to_be16p"
    /usr/local/src/DVB/include/linux/byteorder/little_endian.h: In function `__cpu_to_be16p':
    /usr/local/src/DVB/include/linux/byteorder/little_endian.h:85: error: `__be16' undeclared (first use in this function)
    /usr/local/src/DVB/include/linux/byteorder/little_endian.h:85: error: syntax error before "__swab16p"
    /usr/local/src/DVB/include/linux/byteorder/little_endian.h: At top level:
    /usr/local/src/DVB/include/linux/byteorder/little_endian.h:87: error: syntax error before '*' token
    /usr/local/src/DVB/include/linux/byteorder/little_endian.h: In function `__be16_to_cpup':
    /usr/local/src/DVB/include/linux/byteorder/little_endian.h:89: error: `p' undeclared (first use in this function)
    In file included from /usr/local/src/DVB/include/linux/byteorder/little_endian.h:104,
    from /usr/local/src/DVB/include/asm/byteorder.h:57,
    from /usr/local/src/DVB/include/linux/kernel.h:16,
    from /usr/local/src/DVB/include/asm/system.h:5,
    from /usr/local/src/DVB/include/asm/processor.h:18,
    from /usr/local/src/DVB/include/asm/thread_info.h:16,
    from /usr/local/src/DVB/include/linux/thread_info.h:21,
    from ../osdep/kerneltwosix.h:4,
    from vo_fbdev.c:21:
    /usr/local/src/DVB/include/linux/byteorder/generic.h: At top level:
    /usr/local/src/DVB/include/linux/byteorder/generic.h:150: warning: parameter names (without types) in function declaration
    /usr/local/src/DVB/include/linux/byteorder/generic.h:151: error: syntax error before "htonl"
    /usr/local/src/DVB/include/linux/byteorder/generic.h:151: warning: data definition has no type or storage class
    /usr/local/src/DVB/include/linux/byteorder/generic.h:152: warning: parameter names (without types) in function declaration
    /usr/local/src/DVB/include/linux/byteorder/generic.h:153: error: syntax error before "htons"
    /usr/local/src/DVB/include/linux/byteorder/generic.h:153: warning: data definition has no type or storage class
    make[1]: *** [vo_fbdev.o] Error 1
    make[1]: Leaving directory `/usr/local/src/MPlayer-1.0pre5-ivtv-osd-4/libvo'
    make: *** [libvo/libvo.a] Error 2


    Dabei isses egal, ob man jetzt die gepatchte Version von Kennys Seiten nimmt oder halt die 1.05pre von der MPlayer-Seite oder das CVS von heute...


    Ahhhrrrrggghhh...schon wieder rien ne va plus :(


    Greets Olaf

    Ollie jetzt auch im Internet !!! ->> http://www.ohms.ws << VDR mit ASUS A7V8X-X, Athlon XP 2 Ghz, 512 MB DDR-RAM und gentoo 2008.0 Linux, ner Menge Platten (1 TB), 2 Brennern und Karten-Vollausstattung (1 X Nexus 4 MB Mod, 3 x Nova, 1 PVR 350) , TFT/Sony PSOne, Nvidia Graka und und und * Linux - wir geben ihrem Computer das Leben zurück *

    2 Mal editiert, zuletzt von olafhenkel ()

  • Hatte ich vor ein paar Tagen auch gerade mit Kernel 2.6.9 ...


    Sind bei Dir in /usr/include/linux die Kernel-Header von 2.6.10-rc1 bzw. ist es ein Symlink nach /usr/src/linux/include/linux? Da hat sich wohl mal wieder was in den Kernel-Headern geändert, so dass für normale Programme ein paar Sachen nicht definiert sind. :wand


    Hast Du noch die Quellen von einem älteren Kernel in /usr/src? Ich habe das Problem umgangen, indem ich die 2.6.8.1 Header verwendet habe, also einfach den /usr/src/linux Link für's Kompilieren kurz auf /usr/src/linux-2.6.8.1 zeigen lassen ... (vorausgesetzt, dass /usr/include/linux ein Link nach /usr/src/linux/include/linux ist!)

  • Uiii, wenn das Sourcen sind, die zu einem Kernel gehören, der gerade nicht läuft, isses schlecht.


    Sobald HenkelOlaf die Funktionalität nutzt (hier wohl ein Framebuffer-Device), krachts...

  • Ist doch eigentlich nix anderes, als "alte" Programme mit einer neuer Kernelversion weiterzuverwenden, was im Normalfall auch problemlos klappt. Geht ja nicht um Kernelmodule ... einfach ausprobieren, froh sein, wenn es läuft, und in Ruhe auf eine richtige Lösung der Kernel- oder MPlayer-Entwickler warten ;D

  • Tach,


    wieder nen Stück weiter...ich hab mal die Kernel-Headers gekillt (waren noch 2.4er), die 2.6er Kernel-Headers installiert, dann glibc noch mal reemerged und mplayer zunächst mal ohne weitere Optionen gemaked. was dann auch letztendlich erst mal klappte.


    Beim ./configure habe ich dann mal einfach das Verzeichnis statt --with-extraincdir=/usr/local/src/DVB/include auf with-extraincdir=/usr/src/linux zeigen lassen.


    Damit lief das Makefile ebenfalls sauber durch.


    Also mplayer zunächst "so" spielt schon mal wieder alles ab, allerdings logischerweise nicht über die DVB-Karte, was ich mir schon fast gedacht habe...


    Wenn ich einfach mal die mplayer.sh mit irgendnem Testfile aufrufe, dann bekomme ich diese Fehlermeldung hier...


    Opening /dev/dvb/adapter0/video0+audio0
    DVB VIDEO DEVICE: : No such file or directory
    Error opening/initializing the selected video_out (-vo) device.


    Demzufolge isses das gleiche wie schon in diesem Thread hier...


    http://www.vdr-portal.de/board/thread.php?sid=&postid=212621#post212621


    Aber wie ändert man entsprechende Dateien am MPlayer (Makefile o.ä.) oder verlinkt das entsprechende oder macht sonstwas, damit die Geschichte wieder funktioniert ? :(


    Greets Olaf

    Ollie jetzt auch im Internet !!! ->> http://www.ohms.ws << VDR mit ASUS A7V8X-X, Athlon XP 2 Ghz, 512 MB DDR-RAM und gentoo 2008.0 Linux, ner Menge Platten (1 TB), 2 Brennern und Karten-Vollausstattung (1 X Nexus 4 MB Mod, 3 x Nova, 1 PVR 350) , TFT/Sony PSOne, Nvidia Graka und und und * Linux - wir geben ihrem Computer das Leben zurück *

  • Zitat

    Original von olafhenkel
    Beim ./configure habe ich dann mal einfach das Verzeichnis statt --with-extraincdir=/usr/local/src/DVB/include auf with-extraincdir=/usr/src/linux zeigen lassen.


    Tippfehler? Es müsste --with-extraincdir=/usr/src/linux/include heissen, damit die Dateien auch gefunden werden.


    Zitat

    Aber wie ändert man entsprechende Dateien am MPlayer (Makefile o.ä.) oder verlinkt das entsprechende oder macht sonstwas, damit die Geschichte wieder funktioniert ? :(


    Ist deine primäre DVB-Karte nicht /dev/dvb/adapter0? Der Pfad ist im mplayer fest eincodiert. Einfach zu finden in libvo/vo_mpegpes.c durch Suche nach "DVB VIDEO DEVICE".

  • Tach,


    natürlich hast recht, was da sagst. Bei der Pfadangabe habsch mich vertippert.


    Kannste noch so nett sein, mir genau sagen, was ich in der entsprechenden Datei ändern muss ? Und nein, meine Primäre Karte dürfte adapter1 statt 0 sein. Die PVR wird zuerst erkannt, auf /video0 gelegt, dann die Nova und zum Schluss die Nexus. Wobei sich das später nochma ändern kann. Aber dann weiss ich wenigstens (und andere auch) an welchem Hebel man da ziehen muss.


    Greets Olaf

    Ollie jetzt auch im Internet !!! ->> http://www.ohms.ws << VDR mit ASUS A7V8X-X, Athlon XP 2 Ghz, 512 MB DDR-RAM und gentoo 2008.0 Linux, ner Menge Platten (1 TB), 2 Brennern und Karten-Vollausstattung (1 X Nexus 4 MB Mod, 3 x Nova, 1 PVR 350) , TFT/Sony PSOne, Nvidia Graka und und und * Linux - wir geben ihrem Computer das Leben zurück *

  • Ungetestet, aber es kommt eigentlich nur eine Stelle in Frage:



    Die einzige Stelle im Source mit "adapter0" als fest eincodiertem Pfad und man findet sowohl die "Opening /dev/dvb/adapter0/video0+audio0"-Zeile als auch das "DVB VIDEO DEVICE" aus deiner Fehlermeldung wieder ... :D


    Nachtrag:
    Wusste doch, dass ich das schon mal irgendwo gelesen habe mit dem "falschen" Adapter ... ist u.a. auch im Wiki beschrieben: http://www.vdr-wiki.de/wiki/in…p/Mplayer-plugin#Probleme ;D
    Das sollte also wirklich das Problem mit mplayer lösen, wenn die primäre Karte nicht /dev/dvb/adapter0 ist.

  • Tach,


    jo, dann können wir auch diesen Thread beenden. Das hats gebracht. Merkwürdigerweise darf man allerdings MPlayer net mit /usr/src/linux/include, sonder nur mit der Dir-Option /usr/src/linux durch den gcc jagen, sonst knallt es genauso wie am Anfang.


    Aber ansonsten gehts jetzt.


    Dumm ist halt wirklich nur, dass bei jedem Ein- oder Ausbau einer DVB-Karte man wieder zu zählen und neu zu kompilieren anfängt. Wieso das net mal automatisch erkannt werden kann, begreif ich nicht wirklich.


    Ob das mit nem Umbiegen von Symlinks auch klappen könnte, hab ich mir dann zu testen besser erspart.


    Thanks and Greets


    Olaf


    P.S. Das ich aber net mal im Wiki gesucht habe, ist ja schon nen bisserl peinlich, naja :)

    Ollie jetzt auch im Internet !!! ->> http://www.ohms.ws << VDR mit ASUS A7V8X-X, Athlon XP 2 Ghz, 512 MB DDR-RAM und gentoo 2008.0 Linux, ner Menge Platten (1 TB), 2 Brennern und Karten-Vollausstattung (1 X Nexus 4 MB Mod, 3 x Nova, 1 PVR 350) , TFT/Sony PSOne, Nvidia Graka und und und * Linux - wir geben ihrem Computer das Leben zurück *

    Einmal editiert, zuletzt von olafhenkel ()

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!