<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><title>8.3. Kommerzielles Unix</title><link rel="stylesheet" href="default.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.75.2"><link rel="home" href="index.html" title="MPlayer - Movie Player"><link rel="up" href="ports.html" title="Kapitel 8. Portierungen"><link rel="prev" href="bsd.html" title="8.2. *BSD"><link rel="next" href="windows.html" title="8.4. Windows"><link rel="preface" href="howtoread.html" title="Wie diese Dokumentation gelesen werden soll"><link rel="chapter" href="intro.html" title="Kapitel 1. Einführung"><link rel="chapter" href="install.html" title="Kapitel 2. Installation"><link rel="chapter" href="usage.html" title="Kapitel 3. Gebrauch"><link rel="chapter" href="cd-dvd.html" title="Kapitel 4. CD/DVD Nutzung"><link rel="chapter" href="tv.html" title="Kapitel 5. TV"><link rel="chapter" href="radio.html" title="Kapitel 6. Radio"><link rel="chapter" href="video.html" title="Kapitel 7. Videoausgabegeräte"><link rel="chapter" href="ports.html" title="Kapitel 8. Portierungen"><link rel="chapter" href="mencoder.html" title="Kapitel 9. Allgemeiner Gebrauch von MEncoder"><link rel="chapter" href="encoding-guide.html" title="Kapitel 10. Encodieren mit MEncoder"><link rel="chapter" href="faq.html" title="Kapitel 11. Häufig gestellte Fragen"><link rel="appendix" href="bugreports.html" title="Anhang A. Wie Fehler (Bugs) berichtet werden"><link rel="appendix" href="skin.html" title="Anhang B. MPlayers Skinformat"><link rel="subsection" href="unix.html#solaris" title="8.3.1. Solaris"><link rel="subsection" href="unix.html#hp-ux" title="8.3.2. HP-UX"><link rel="subsection" href="unix.html#aix" title="8.3.3. AIX"><link rel="subsection" href="unix.html#qnx" title="8.3.4. QNX"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">8.3. Kommerzielles Unix</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="bsd.html">Zurück</a> </td><th width="60%" align="center">Kapitel 8. Portierungen</th><td width="20%" align="right"> <a accesskey="n" href="windows.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="8.3. Kommerzielles Unix"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="unix"></a>8.3. Kommerzielles Unix</h2></div></div></div><p> <span class="application">MPlayer</span> wurde auf einige kommerzielle Unix-Varianten portiert. Seit die Entwicklungsumgebungen auf diesen Systemen dahin tendieren, verschieden von denen freier Unixes zu sein, musst du möglicherweise einige manuelle Anpassungen vornehmen, um das Build lauffähig zu bekommen. </p><div class="sect2" title="8.3.1. Solaris"><div class="titlepage"><div><div><h3 class="title"><a name="solaris"></a>8.3.1. Solaris</h3></div></div></div><p> <span class="application">MPlayer</span> sollte auf Solaris 2.6 oder neuer funktionieren. Verwende den Audio-Treiber von SUN mit der Option <tt class="option">-ao sun</tt> für den Sound. </p><p> Auf <span class="bold"><strong>UltraSPARCs</strong></span>, profitiert <span class="application">MPlayer</span> von deren <span class="bold"><strong>VIS</strong></span>-Erweiterungen (äquivalent zu MMX), zur Zeit nur in <code class="systemitem">libmpeg2</code>, <code class="systemitem">libvo</code> und <code class="systemitem">libavcodec</code>, jedoch nicht in <code class="systemitem">mp3lib</code>. Du kannst dir eine VOB-Datei auf einer 400MHz CPU ansehen. Dazu muss <a class="ulink" href="http://www.sun.com/sparc/vis/mediaLib.html" target="_top"><code class="systemitem">mLib</code></a> installiert sein. </p><p><span class="bold"><strong>Vorbehalt:</strong></span></p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p><span class="bold"><strong>mediaLib</strong></span> wird in <span class="application">MPlayer</span> momentan aufgrund Fehlerhaftigkeit per Voreinstellung <span class="bold"><strong>deaktiviert</strong></span>. SPARC-Benutzer, die MPlayer mit mediaLib-Unterstützung bauen, haben große grüne Farbstiche gemeldet bei Video, das mit libavcodec en- und decodiert wurde. Du kannst es, wenn du möchtest, aktivieren mit: </p><pre class="screen"> $ ./configure --enable-mlib </pre><p> Du tust dies auf eigenes Risiko. x86-Benutzer sollten mediaLib <span class="bold"><strong>niemals</strong></span> benutzen, da dies zu sehr schlechter Performance von MPlayer führt. </p></li></ul></div><p> Um das Package zu erstellen, brauchst du GNU <span class="application">make</span> (<tt class="filename">gmake</tt>, <tt class="filename">/opt/sfw/gmake</tt>), das native Solaris make wird nicht funktionieren. Ein typischer Fehler, den du bekommst, wenn du mit einem make von Solaris arbeitest statt mit einem GNU make: </p><pre class="screen">% /usr/ccs/bin/make make: Fatal error in reader: Makefile, line 25: Unexpected end of line seen</pre><p> </p><p> Auf Solaris SPARC, brauchst du den GNU C/C++ Compiler; es spielt keine Rolle, ob der GNU C/C++ Compiler mit oder ohne dem GNU Assembler compiliert ist. </p><p> Auf Solaris x86 brauchst du den GNU Assembler und den GNU C/C++ Compiler so konfiguriert, dass er den GNU Assembler verwendet! Der <span class="application">MPlayer</span>-Code auf der x86-Plattform macht starken Gebrauch von MMX-, SSE- und 3DNOW!-Instruktionen, die nicht compiliert werden können, wenn man den Assembler von Sun <tt class="filename">/usr/ccs/bin/as</tt> verwendet. </p><p> Das <tt class="filename">configure</tt>-Script versucht herauszufinden, welches Assembler-Programm von deinem "gcc"-Befehl genutzt wird (falls die automatische Erkennung fehlschlägt, nimm die Option <tt class="option">--as=<em class="replaceable"><code>/pfad/zum/installierten/gnu-as</code></em></tt>, um dem <tt class="filename">configure</tt>-Script zu zeigen, wo es GNU "as" auf deinem System finden kann). </p><p>Lösung für gebräuchliche Probleme:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p> Fehlermeldung von <tt class="filename">configure</tt> auf einem Solaris x86 System, wenn man GCC ohne GNU Assembler anwendet: </p><pre class="screen">% configure ... Checking assembler (/usr/ccs/bin/as) ... , failed Please upgrade(downgrade) binutils to 2.10.1...</pre><p> (Lösung: Installiere und verwende einen gcc, konfiguriert mit <tt class="option">--with-as=gas</tt>) </p><p> Ein typischer Fehler, den du bekommst, wenn du mit einem GNU C Compiler arbeitest, der GNU "as" nicht verwendet: </p><pre class="screen">% gmake ... gcc -c -Iloader -Ilibvo -O4 -march=i686 -mcpu=i686 -pipe -ffast-math -fomit-frame-pointer -I/usr/local/include -o mplayer.o mplayer.c Assembler: mplayer.c "(stdin)", line 3567 : Illegal mnemonic "(stdin)", line 3567 : Syntax error ... more "Illegal mnemonic" and "Syntax error" errors ...</pre><p> </p></li><li class="listitem"><p> <span class="application">MPlayer</span> kann eine Schutzverletzung auslösen, wenn mit win32codecs decodiert und encodiert wird: </p><pre class="screen">... Trying to force audio codec driver family acm... Opening audio decoder: [acm] Win32/ACM decoders sysi86(SI86DSCR): Invalid argument Couldn't install fs segment, expect segfault MPlayer interrupted by signal 11 in module: init_audio_codec ...</pre><p> Das liegt an einer Änderung an sysi86() in Solaris 10 und prä-Solaris Nevada b31-Releases. Bei Solaris Nevada b32 wurde dieser Fehler behoben; trotzdem, Sun muss diese Lösung noch immer nach Solaris 10 rückportieren. Das MPlayer-Projekt hat Sun auf das Problem hingewiesen, und ein Patch für Solaris 10 ist gerade in Vorbereitung. Weitere Informationen über diesen Fehler können hier gefunden werden: <a class="ulink" href="http://bugs.opensolaris.org/bugdatabase/view_bug.do?bug_id=6308413" target="_top">http://bugs.opensolaris.org/bugdatabase/view_bug.do?bug_id=6308413</a>. </p></li><li class="listitem"><p> Aufgrund von Bugs in Solaris 8 kann es dazu kommen, dass du keine DVD-Disks größer 4 GB abspielen kannst: </p><div class="itemizedlist"><ul class="itemizedlist" type="circle"><li class="listitem"><p> Der sd(7D)-Treiber auf Solaris 8 x86 hat einen Bug, wenn er auf einen Diskblock >4GB auf einem Gerät zugreift, das eine logische blocksize != DEV_BSIZE verwendet (z.B. CD-ROM- und DVD-Medien). Wegen eines 32Bit int Overflows wird auf eine Disk-Adresse modulo 4GB zugegriffen (<a class="ulink" href="http://groups.yahoo.com/group/solarisonintel/message/22516" target="_top">http://groups.yahoo.com/group/solarisonintel/message/22516</a>). Dieses Problem existiert nicht in der SPARC-Version von Solaris 8. </p></li><li class="listitem"><p> Ein ähnlicher Bug is präsent im Dateisystem-Code (AKA ISO9660) von hsfs(7FS), hsfs unterstützt keine Partitionen/Disks größer als 4GB, auf alle Daten wird modulo 4GB zugegriffen (<a class="ulink" href="http://groups.yahoo.com/group/solarisonintel/message/22592" target="_top">http://groups.yahoo.com/group/solarisonintel/message/22592</a>). Dieses hsfs-Problem kann durch die Installation von Patch 109764-04 (sparc) / 109765-04 (x86) gefixt werden. </p></li></ul></div></li></ul></div></div><div class="sect2" title="8.3.2. HP-UX"><div class="titlepage"><div><div><h3 class="title"><a name="hp-ux"></a>8.3.2. HP-UX</h3></div></div></div><p> Joe Page unterhält ein detailliertes HP-UX <span class="application">MPlayer</span>-<a class="ulink" href="http://users.rcn.com/joepage/mplayer_on_hpux11.htm" target="_top">HOWTO</a> von Martin Gansser auf seiner Homepage. Mit diesen Instruktionen sollte das bauen hervorragend funktionieren. Die folgende Information wurde aus diesem HOWTO übernommen. </p><p> Du benötigst GCC 3.4.0 oder neuer, GNU make 3.80 oder neuer und SDL 1.2.7 oder neuer. HP cc wird kein lauffähiges Programm produzieren, frühere GCC-Versionen sind fehlerhaft. Für OpenGL-Funktionalität musst du Mesa installieren, und die gl- und gl2-Video-Ausgabetreiber sollten funktionieren, wenngleich die Geschwindigkeit sehr mies sein kann, abhängig von der CPU-Geschwindigkeit. Ein guter Ersatz für das eher armselige, native HP-UX-Soundsystem ist GNU esound. </p><p> Erzeuge das DVD-Gerät, scanne den SCSI-Bus mit: </p><pre class="screen"># ioscan -fn Class I H/W Path Driver S/W State H/W Type Description ... ext_bus 1 8/16/5 c720 CLAIMED INTERFACE Built-in SCSI target 3 8/16/5.2 tgt CLAIMED DEVICE disk 4 8/16/5.<span class="bold"><strong>2</strong></span>.<span class="bold"><strong>0</strong></span> sdisk CLAIMED DEVICE <span class="bold"><strong>PIONEER DVD-ROM DVD-305</strong></span> /dev/dsk/c1t2d0 <span class="bold"><strong>/dev/rdsk/c1t2d0</strong></span> target 4 8/16/5.7 tgt CLAIMED DEVICE ctl <span class="bold"><strong>1</strong></span> 8/16/5.7.0 sctl CLAIMED DEVICE Initiator /dev/rscsi/c1t7d0 /dev/rscsi/c1t7l0 /dev/scsi/c1t7l0 ...</pre><p> Die Bildschirmausgabe zeigt ein Pioneer DVD-ROM an SCSI-Adresse 2. Die Karteninstanz für den Hardwarepfad 8/16 ist 1. </p><p> Erstelle einen Link von deinem Originalgerät zum DVD-Gerät. </p><pre class="screen"># ln -s /dev/rdsk/c<em class="replaceable"><code><SCSI-Bus-Instanz></code></em>t<em class="replaceable"><code><SCSI Ziel-ID></code></em>d<em class="replaceable"><code><LUN></code></em> /dev/<em class="replaceable"><code><geraet></code></em></pre><p> Beispiel: </p><pre class="screen"># ln -s /dev/rdsk/c1t2d0 /dev/dvd</pre><p> Unten stehen lösungen für einige verbreitete Probleme: </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p> Absturz beim Start mit folgender Fehlermeldung: </p><pre class="screen">/usr/lib/dld.sl: Unresolved symbol: finite (code) from /usr/local/lib/gcc-lib/hppa2.0n-hp-hpux11.00/3.2/../../../libGL.sl</pre><p> </p><p> Dies bedeutet, dass die Funktion <code class="systemitem">.finite().</code> nicht in der Standard-Bibliothek HP-UX math zur Verfügung steht. Statt dessen gibt es <code class="systemitem">.isfinite().</code>. Lösung: Benutze die neueste Mesa-Depotdatei. </p></li><li class="listitem"><p> Absturz beim Playback mit folgender Fehlermeldung: </p><pre class="screen">/usr/lib/dld.sl: Unresolved symbol: sem_init (code) from /usr/local/lib/libSDL-1.2.sl.0</pre><p> </p><p> Lösung: Benutze die Option extralibdir von configure <tt class="option">--with-extralibdir="/usr/lib -lrt"</tt> </p></li><li class="listitem"><p> MPlayer produziert eine Schutzverletzung (segfault) mit einer Meldung wie dieser: </p><pre class="screen">Pid 10166 received a SIGSEGV for stack growth failure. Possible causes: insufficient memory or swap space, or stack size exceeded maxssiz. Segmentation fault</pre><p> </p><p> Lösung: Der HP-UX-Kernel hat eine Standard-Stackgröße von 8MB(?) pro Prozess. (11.0- und neuere 10.20-Patches lassen dich <code class="systemitem">maxssiz</code> bis auf 350MB für 32bit-Programme erhöhen). Du musst <code class="systemitem">maxssiz</code> erweitern und den Kernel recompilieren (und neu starten). Dazu kannst du SAM verwenden. (Überprüfe während des Neustarts den <code class="systemitem">maxdsiz</code>-Parameter für die maximale Anzahl Daten, die ein Programm nutzen darf. Er hängt von deiner Anwendung ab, ob der Standard von 64MB ausreicht oder nicht.) </p></li></ul></div></div><div class="sect2" title="8.3.3. AIX"><div class="titlepage"><div><div><h3 class="title"><a name="aix"></a>8.3.3. AIX</h3></div></div></div><p> <span class="application">MPlayer</span> wird erfolgreich auf AIX 5.1, 5.2 und 5.3 erzeugt, verwendet man GCC 3.3 oder höher. Das Erzeugen von <span class="application">MPlayer</span> auf AIX 4.3.3 und darunter wurde nicht getestet. Es wird dringend empfohlen, <span class="application">MPlayer</span> mit GCC 3.4 oder höher zu erzeugen, oder es wird, falls du auf POWER5 arbeitest, GCC 4.0 benötigt. </p><p> Stelle sicher, dass du GNU make (<tt class="filename">/opt/freeware/bin/gmake</tt>) zum bauen von <span class="application">MPlayer</span> nutzt, da du auf Probleme stossen wirst, wenn du <tt class="filename">/usr/ccs/bin/make</tt> anwendest. </p><p> Die CPU-Erkennung ist noch in Arbeit. Die folgenden Architekturen wurden getestet: </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>604e</p></li><li class="listitem"><p>POWER3</p></li><li class="listitem"><p>POWER4</p></li></ul></div><p> Folgende Architekturen wurden nicht getestet, sollten jedoch trotzdem funktionieren: </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>POWER</p></li><li class="listitem"><p>POWER2</p></li><li class="listitem"><p>POWER5</p></li></ul></div><p> Sound über die Ultimedia Services wird nicht unterstützt, da Ultimedia in AIX 5.1 weggelassen wurde; deshalb ist die einzige Option, die Treiber des AIX Open Sound System (OSS) von 4Front Technologies auf <a class="ulink" href="http://www.opensound.com/aix.html" target="_top">http://www.opensound.com/aix.html</a> zu verwenden. 4Front Technologies stellt die OSS-Treiber für AIX 5.1 für den nicht-kommerziellen Gebrauch frei zur Verfügung; wie auch immer, momentan gibt es keine Soundausgabetreiber für AIX 5.2 oder 5.3. Dies bedeutet, dass <span class="bold"><strong>AIX 5.2 und 5.3 momentan keine MPlayer-Tonausgabe beherrschen.</strong></span> </p><p>Lösung für gebräuchliche Probleme:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p> Wenn du folgende Fehlermeldung von <tt class="filename">configure</tt> erhältst: </p><pre class="screen">$ ./configure ... Checking for iconv program ... no No working iconv program found, use --charset=US-ASCII to continue anyway. Messages in the GTK-2 interface will be broken then.</pre><p> Das liegt daran, dass AIX Namen für Zeichensätze benutzt, die nicht dem Standard entsprechen; daher wird die Konvertierung von MPlayer-Ausgaben zu anderen Zeichensätzen momentan nicht unterstützt. Die Lösung besteht darin, folgendes zu tun: </p><pre class="screen">$ ./configure --charset=noconv</pre><p> </p></li></ul></div></div><div class="sect2" title="8.3.4. QNX"><div class="titlepage"><div><div><h3 class="title"><a name="qnx"></a>8.3.4. QNX</h3></div></div></div><p> Du musst SDL für QNX herunterladen und installieren. Dann starte <span class="application">MPlayer</span> mit den Optionen <tt class="option">-vo sdl:driver=photon</tt> und <tt class="option">-ao sdl:nto</tt>, es sollte schnell laufen. </p><p> Der Output mit <tt class="option">-vo x11</tt> wird etwas langsamer sein als unter Linux, da QNX nur X-<span class="emphasis"><em>Emulation</em></span> besitzt, was sehr langsam ist. </p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="bsd.html">Zurück</a> </td><td width="20%" align="center"><a accesskey="u" href="ports.html">Nach oben</a></td><td width="40%" align="right"> <a accesskey="n" href="windows.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">8.2. *BSD </td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top"> 8.4. Windows</td></tr></table></div></body></html>