<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><title>8.3. Komercyjny 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 - Odtwarzacz filmów"><link rel="up" href="ports.html" title="Rozdział 8. Porty"><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="Jak czytać tę dokumentację"><link rel="chapter" href="intro.html" title="Rozdział 1. Wprowadzenie"><link rel="chapter" href="install.html" title="Rozdział 2. Instalacja"><link rel="chapter" href="usage.html" title="Rozdział 3. Sposób użycia"><link rel="chapter" href="cd-dvd.html" title="Rozdział 4. Używanie CD/DVD"><link rel="chapter" href="tv.html" title="Rozdział 5. TV"><link rel="chapter" href="radio.html" title="Rozdział 6. Radio"><link rel="chapter" href="video.html" title="Rozdział 7. Urządzenia wyjścia video"><link rel="chapter" href="ports.html" title="Rozdział 8. Porty"><link rel="chapter" href="mencoder.html" title="Rozdział 9. Podstawy używania MEncodera"><link rel="chapter" href="encoding-guide.html" title="Rozdział 10. Kodowanie przy użyciu MEncodera"><link rel="chapter" href="faq.html" title="Rozdział 11. FAQ - Często Zadawane Pytania"><link rel="appendix" href="bugreports.html" title="Dodatek A. Jak zgłaszać błędy"><link rel="appendix" href="skin.html" title="Dodatek B. Format skórki MPlayera"><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. Komercyjny Unix</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="bsd.html">Poprzedni</a> </td><th width="60%" align="center">Rozdział 8. Porty</th><td width="20%" align="right"> <a accesskey="n" href="windows.html">Następny</a></td></tr></table><hr></div><div class="sect1" title="8.3. Komercyjny Unix"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="unix"></a>8.3. Komercyjny Unix</h2></div></div></div><p> <span class="application">MPlayer</span> został przeportowany na wiele komercyjnych wariantów Uniksa. Jako, że środowiska programistyczne przeważnie różnią się od tych znajdowanych w wolnych Uniksach, być może będziesz musiał wprowadzić ręczne poprawki, aby program skompilował się poprawnie. </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> powinien działać na Solarisie 2.6 lub nowszym. Możesz skorzystać ze sterownika dźwięku SUN'a podająć opcję <tt class="option">-ao sun</tt>. </p><p> Na <span class="bold"><strong>UltraSPARCach</strong></span>, <span class="application">MPlayer</span> korzysta z rozszerzenia <span class="bold"><strong>VIS</strong></span> (odpowiednik MMX), obecnie tylko w <span class="emphasis"><em><code class="systemitem">libmpeg2</code></em></span>, <span class="emphasis"><em><code class="systemitem">libavo</code></em></span> i <span class="emphasis"><em><code class="systemitem">libavcodec</code></em></span>, ale nie w <code class="systemitem">mp3lib</code>. Możesz oglądać plik VOB na procesorze z taktowaniem 400MHz. Będziesz potrzebował do tego biblioteki <a class="ulink" href="http://www.sun.com/sparc/vis/mediaLib.html" target="_top"> <code class="systemitem">mLib</code></a>. </p><p><span class="bold"><strong>Caveat:</strong></span></p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p><span class="bold"><strong>mediaLib</strong></span> jest <span class="bold"><strong>aktualnie wyłączone</strong></span> w domyślnej konfiguracji <span class="application">MPlayera</span>, z powodu błędów. Użytkownicy SPARC-ów, którzy budują MPlayera z obsługą mediaLib informowali o delikatnym, zielonymi miganiu wideo kodowane i dekodowanego przez libavcodec. Możesz włączyć mediaLib, jeżeli chcesz używając: </p><pre class="screen"> $ ./configure --enable-mlib </pre><p> Robisz to na własne ryzyko. Użytkownicy x86 powinni <span class="bold"><strong>nigdy</strong></span> nie używać mediaLib, ponieważ w efekcie otrzymają kiepską wydajność MPlayera. </p></li></ul></div><p> Aby zbudować pakiet, będziesz potrzebował GNU <span class="application">make</span> (<tt class="filename">gmake</tt>, <tt class="filename">/opt/sfw/gmake</tt>), rdzenne make Solarisa nie zadziała. Typowy błąd jaki otrzymujesz, budując tym drugim zamiast GNU make, to: </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> W Solarisie przeznaczonym dla SPARC, potrzebujesz kompilatora GNU C/C++; nie ma znaczenia, czy jest on skonfigurowany z, czy bez GNU assemblera. </p><p> Na Solarisie x86, potrzebujesz GNU assemblera i kompilatora GNU C/C++, skonfigurowanego do używania GNU assemblera! Kod <span class="application">MPlayera</span>, na platformie x86, w znaczący sposób korzysta z instrukcji MMX, SSE i 3DNOW!, które nie mogą być skompilowane przy pomocy assemblera Sun <tt class="filename">/usr/ccs/bin/as</tt>. </p><p> Skrypt <tt class="filename">configure</tt> stara się określić, jaki assembler wywoływany jest przez komendę "gcc" (jeżeli próba zakończy się fiaskiem, użyj opcji <tt class="option">--as=<em class="replaceable"><code>/gdziekolwiek/zainstalowałeś/gnu-as</code></em></tt>, żeby określić gdzie skrypt <tt class="filename">configure</tt> może znaleźć GNU "as" w Twoim systemie). </p><p>Rozwiązania najczęstszych problemów:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p> Błąd jaki wyświetli <tt class="filename">configure</tt> na Solarisie x86, używającym GCC bez GNU assemblera: </p><pre class="screen"> % configure ... Checking assembler (/usr/ccs/bin/as) ... , failed Please upgrade(downgrade) binutils to 2.10.1... </pre><p> (Rozwiązanie: Zainstaluj i używaj gcc skonfigurowanego z opcją <tt class="option">--with-as=gas</tt>) </p><p> Typowy błąd, jaki otrzymasz przy próbie budowy kompilatorem GNU C, który nie używa GNU as: </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> może się wysypać podczas dekodowania i kodowania wideo używających win32codecs: </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> Dzieje się tak z powodu zmian w sysi86() w Solaris 10 i wydaniach pre-Solaris Nevada b31. Zostało to naprawione w Solaris Nevada b32; jednak Sun nie przeniósł jeszcze poprawki do Solarisa 10. Projekt MPlayer poinformował o tym problemie Sun i łatka jest aktualnie wprowadzana do Solarisa 10. Więcej informacji o tym błędzie może zostać znaleziona na stronie: <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> Ze względu na błędy występujące w Solarisie 8, możesz nie być w stanie odtwarzać płyt DVD o pojemności większej niż 4 GB: </p><div class="itemizedlist"><ul class="itemizedlist" type="circle"><li class="listitem"><p> Sterownik sd(7D) dla Solarisa 8 x86 ma błąd ujawniający się przy próbie dostępu do bloku dyskowego >4GB urządzenia korzystającego z logicznego rozmiaru bloku !=DEV_BSIZE (np. nośnik CD-ROM i DVD). Ze względu na przepełnienie 32bitowych liczb całkowitych, odczytywany jest adres dysku modulo 4GB (<a class="ulink" href="http://groups.yahoo.com/group/solarisonintel/message/22516" target="_top">http://groups.yahoo.com/group/solarisonintel/message/22516</a>). Ten problem nie występuje na Solarisie 8 przeznaczonym dla procesorów SPARC. </p></li><li class="listitem"><p> Podobny błąd występuje w kodzie systemu plików hsfs(7FS) (znanym jako ISO9660), hsfs może nie obsługiwać partycji/dysków większych niż 4GB, wszystkie dane są odczytywane z bloku modulo 4GB (<a class="ulink" href="http://groups.yahoo.com/group/solarisonintel/message/22592" target="_top">http://groups.yahoo.com/group/solarisonintel/message/22592</a>). Problem może być rozwiązany przy pomocy łatki 109764-04 (sparc) / 109765-04 (x86). </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 umieścił na swojej stronie domowej <a class="ulink" href="http://users.rcn.com/joepage/mplayer_on_hpux11.htm" target="_top">dokument HOWTO</a> stworzony przez Martina Gansser'a dotyczący <span class="application">MPlayera</span> na HP-UX. Korzystając z zawartych tam intrukcji program powinien się skompilować bez najmniejszych problemów. Poniższe informacje są zaczerpnięte z tego opracowania. </p><p> Do budowy będziesz potrzebował GCC 3.4.0, GNU make 3.80, i SDL 1.2.7 lub ich nowszych wersji. Kompilator HP cc nie wyprodukuje działającego programu, a wcześniejsze wersje GCC są pełne błędów. Aby moć skorzystać z OpenGL, musisz zainstalować biblioteki Mesa, wtedy sterowniki wyjścia video gl i gl2 powinny działać. Ich wydajność może być tragiczna, jednak zależne jest to od mocy obliczeniowej procesora. Dobrym zamiennikiem, raczej kiepskiego, systemu dźwiękowego HP-UX jest GNU esound. </p><p> Stwórz urządzenie DVD, przeskanuj magistralę SCSI komendą: </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> Z rezultatów działania komendy możemy odczytać, że na adresie 2 SCSI znajduje się Pioneer DVD-ROM. Instancja karty dla ścieżki sprzętowej 8/16 to 1. </p><p> Stwórz dowiązanie surowego urządzenia do urządzenia DVD. </p><pre class="screen"> # ln -s /dev/rdsk/c<em class="replaceable"><code><instancja magistrali SCSI></code></em>t<em class="replaceable"><code><ID docelowego SCSI></code></em>d<em class="replaceable"><code><LUN></code></em> /dev/<em class="replaceable"><code><urządzenie></code></em> </pre><p> Przykład: </p><pre class="screen"> # ln -s /dev/rdsk/c1t2d0 /dev/dvd </pre><p> Poniżej znajdują się rozwiązania kilku najczęstszych problemów: </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p> Wysypanie się programu przy uruchamianiu z komunikatem błędu: </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> Oznacza to, że funkcja <code class="systemitem">.finite().</code> jest niedostępna w standardowej bibliotece math HP-UX. Zamiast niej dostępna jest <code class="systemitem">.isfinite().</code>. Rozwiązanie: Skorzystaj z najnowszego pliku składowego Mesa. </p></li><li class="listitem"><p> Wysypanie się programu przy odtwarzaniu z komunikatem: </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> Rozwiązanie: Skorzystaj z opcji extralibdir skryptu configure <tt class="option">--with-extralibdir="/usr/lib -lrt"</tt> </p></li><li class="listitem"><p> MPlayer powoduje błąd naruszenia ochrony pamięci (segfault) z komunikatem: </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> Rozwiazanie: Jądro HP-UX ma domyślnie zdefiniowany rozmiar stosu przeznaczonego na każdy proces i jest to 8MB(?).(11.0 i nowsze łatki 10.20 pozwalają Ci zwiększyć parametr <code class="systemitem">maxssiz</code> do 350MB dla 32-bitowych programów). Musisz rozszerzyć <code class="systemitem">maxssiz</code> i przekompilować jądro (i uruchomić ponownie komputer). Możesz wykorzystać do tego celu SAM. (Kiedy w nim będziesz, sprawdź wartość <code class="systemitem">maxdsiz</code>. Określa ona maksymalny rozmiar danych, jaką program może użyć. To czy domyślne 64MB wystarczy czy nie, zależy wyłącznie od wymagań Twoich aplikacji.) </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> kompiluje się z powodzenie na AIX 5.1, 5.2 i 5.3, korzystając z GCC 3.3 lub wyższego. Budowanie <span class="application">MPlayer</span> na AIX 4.3.3 i niższych nie było sprawdzane. Zaleca się, abyś budowal <span class="application">MPlayera</span> używając GCC 3.4 lub wyższego lub jeżeli kompilujesz na POWER5 - GCC 4.0. </p><p> Upenij się, że używasz GNU make (<tt class="filename">/opt/freeware/bin/gmake</tt>), aby kompilować <span class="application">MPlayera</span>, jako że możesz napotkać na problemy przy korzystaniu z <tt class="filename">/usr/ccs/bin/make</tt>. </p><p> Wykrywanie CPU jest ciągle dopracowywane. Poniższe architektury zostały przetestowane: </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> Poniższe architektury nie były testowane, ale i tak powinny działać: </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> Dźwięk przez Ultimedia Services nie jest obsługiwany, jako że ta technologia została porzucona w AIX 5.1; dlatego też, jedynym wyjściem jest korzystanie ze sterowników AIX Open Sound System (OSS) tworzonych przez 4Front Technologies, znajdziesz je na <a class="ulink" href="http://www.opensound.com/aix.html" target="_top">http://www.opensound.com/aix.html </a>. 4Front Technologies udostępnia swoje sterowniki OSS za darmo do niekomercyjnego zastosowania; jednakże, nie ma aktualnie sterowników wyjścia audio dla AIX 5.2 lub 5.3. Oznacza to, że <span class="bold"><strong>AIX 5.2 i 5.3 nie potrafią aktualnie używać wyjścia audio MPlayera.</strong></span> </p><p>Rozwiązania częstych problemów:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p> Jeżeli otrzymujesz od <tt class="filename">configure</tt> taki komunikat błędu: </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> To dzieje się tak dlatego, że AIX używa nie standardowych zestawów nazw znaków; dlatego też, konwersja wyjścia MPlayera do innego zestawu znaków (kodowania) nie jest aktualnie obsługiwana. Rozwiązaniem jest użycie: </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> Będziesz musiał ściągnąć bibliotekę SDL dla QNX i zainstalować ją. Wtedy uruchom <span class="application">MPlayera</span> z opcją <tt class="option">-vo sdl:driver=photon</tt> i <tt class="option">-ao sdl:nto</tt>, powinno działać szybko. </p><p> Wyjście <tt class="option">-vo x11</tt> będzie nawet wolniejsze niż na Linuksie, ponieważ QNX ma tylko <span class="emphasis"><em>emulację</em></span> X'ów, która jest bardzo wolna. </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">Poprzedni</a> </td><td width="20%" align="center"><a accesskey="u" href="ports.html">Początek rozdziału</a></td><td width="40%" align="right"> <a accesskey="n" href="windows.html">Następny</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">Spis treści</a></td><td width="40%" align="right" valign="top"> 8.4. Windows</td></tr></table></div></body></html>