Sophie

Sophie

distrib > Mandriva > current > i586 > media > main-updates > by-pkgid > a42e22ddf1d70fb02e9f62289d71cafa > files > 698

mplayer-doc-1.0-1.rc4.0.r31086.3.1mdv2010.2.i586.rpm

<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 &gt;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>&lt;instancja magistrali SCSI&gt;</code></em>t<em class="replaceable"><code>&lt;ID docelowego SCSI&gt;</code></em>d<em class="replaceable"><code>&lt;LUN&gt;</code></em> /dev/<em class="replaceable"><code>&lt;urządzenie&gt;</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>