<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><title>8.3. Коммерческие 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 - Медиа Проигрыватель"><link rel="up" href="ports.html" title="Глава 8. Портинг"><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="Как читать эту документацию"><link rel="chapter" href="intro.html" title="Глава 1. Введение"><link rel="chapter" href="install.html" title="Глава 2. Установка"><link rel="chapter" href="usage.html" title="Глава 3. Использование"><link rel="chapter" href="cd-dvd.html" title="Глава 4. Использование CD/DVD"><link rel="chapter" href="tv.html" title="Глава 5. TV"><link rel="chapter" href="radio.html" title="Глава 6. Радио"><link rel="chapter" href="video.html" title="Глава 7. Устройства вывода видео"><link rel="chapter" href="ports.html" title="Глава 8. Портинг"><link rel="chapter" href="mencoder.html" title="Глава 9. Основы использования MEncoder"><link rel="chapter" href="encoding-guide.html" title="Глава 10. Кодирование с MEncoder"><link rel="chapter" href="faq.html" title="Глава 11. Часто Задаваемые вопросы"><link rel="appendix" href="bugreports.html" title="Приложение A. Как сообщать об ошибках"><link rel="appendix" href="skin.html" title="Приложение B. Формат скинов MPlayer"><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. Коммерческие Unix</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="bsd.html">Пред.</a> </td><th width="60%" align="center">Глава 8. Портинг</th><td width="20%" align="right"> <a accesskey="n" href="windows.html">След.</a></td></tr></table><hr></div><div class="sect1" title="8.3. Коммерческие Unix"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="unix"></a>8.3. Коммерческие Unix</h2></div></div></div><p> <span class="application">MPlayer</span> был портирован на некоторые коммерческие варианты Unix. Поскольку окружения разработки этих систем отличаются от свободных Unix'ов, вам придется самостоятельно произвести некоторые действия, чтобы сборка заработала. </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> должен работать под Solaris 2.6 и более новыми версиями. Для звука используйте звуковой драйвер SUN с опцией <tt class="option">-ao sun</tt>. </p><p> На <span class="bold"><strong>UltraSPARC</strong></span>'ах, <span class="application">MPlayer</span> использует преимущество их расширения <span class="bold"><strong>VIS</strong></span> (эквивалент MMX), но (в настоящий момент) только в <code class="systemitem">libmpeg2</code>, <code class="systemitem">libvo</code> and <code class="systemitem">libavcodec</code>, но не в <code class="systemitem">mp3lib</code>. Вы сможете просматривать VOB'ы на 400MHz CPU. Вам потребуется установленная <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>Предостережение:</strong></span></p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p> <span class="bold"><strong>mediaLib</strong></span> в данный момент отключена по умолчанию в <span class="application">MPlayer</span> из-за поломанности. Пользователи SPARC, компилировавшие MPlayer с mediaLib сообщали об изобилии зелёного оттенка в видео, кодируемом и декодируемом libavcodec. Если хотите, можете включить ее: </p><pre class="screen">$ ./configure --enable-mlib</pre><p> Вы делаете это на свой страх и риск, пользователи x86 не жолжны <span class="bold"><strong>никогда</strong></span> использовать mediaLib, поскольку это очень сильно скажется на производительности MPlayer. </p></li></ul></div><p> Чтобы собрать программу, Вам потребуется GNU <span class="application">make</span> (<tt class="filename">gmake</tt>, <tt class="filename">/opt/sfw/gmake</tt>), родной Solaris make не будет работать. Типичная ошибка которую Вы будете получать при использовании Solaris make, вместо 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> На Solaris SPARC, Вам потребуется GNU C/C++ Compiler; при этом не имеет значения, был ли GNU C/C++ компилятор сконфигурирован с или без GNU ассемблера. </p><p> На Solaris x86, Вам потребуются GNU ассемблер и GNU C/C++ компилятор, сконфигурированный, чтобы использовать GNU ассемблер! На x86 платформах код <span class="application">MPlayer</span>'а использует много MMX, SSE и 3DNOW! инструкций, которые Sun'овский ассемблер <tt class="filename">/usr/ccs/bin/as</tt> не может скомпилировать. </p><p> Скрипт <tt class="filename">configure</tt> пытается обнаружить, какой ассемблер используется Вашей командой "gcc" (в том случае, если автоопределение не сработает, используйте опцию <tt class="option">--as=<em class="replaceable"><code>/там/где/у/Вас/установлен/gnu-as</code></em></tt>, чтобы сообщить скрипту <tt class="filename">configure</tt>, где можно обнаружить GNU "as" на Вашей системе). </p><p>Решение общих проблем:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p> Сообщения об ошибках <tt class="filename">configure</tt> на Solaris x86 системах при использовании GCC без GNU ассемблера: </p><pre class="screen"> % configure ... Checking assembler (/usr/ccs/bin/as) ... , failed Please upgrade(downgrade) binutils to 2.10.1...</pre><p> (Решение: Установите и используйте gcc, сконфигурированный с <tt class="option">--with-as=gas</tt>) </p><p> Типичная ошибка при сборке GNU C компилятором, который не использует 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> может сообщить о нарушении сегментации при кодировании и декодировании видео, использующего 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> Это из-за изменений в sysi86() в Solaris 10 и пре-Solaris Nevada b31 релизах. Исправлено в Solaris Nevada b32; тем не менее Sun еще следует портировать исправление обратно на Solaris 10. Проект MPlayer осведомил Sun об этой проблеме и патч в данный момент готовится для Solaris 10. Больше информации об этой ошибке ищите на: <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> В связи с ошибками в Solaris 8, Вы не сможете проигрывать DVD диски, размером больше 4 Гб: </p><div class="itemizedlist"><ul class="itemizedlist" type="circle"><li class="listitem"><p> Под Solaris 8 x86 драйвер sd(7D) содержит ошибку, проявляющуюся при доступе к дискам, размером > 4 Гб на устройствах с логическим размером блока != DEV_BSIZE (например CD-ROM и DVD диски). Из-за целочисленного 32-х битного переполнения, происходит доступ к дисковому адресу по модулю 4 Гб (<a class="ulink" href="http://groups.yahoo.com/group/solarisonintel/message/22516" target="_top">http://groups.yahoo.com/group/solarisonintel/message/22516</a>). Проблема отсутствует в SPARC версиях Solaris 8. </p></li><li class="listitem"><p> Похожая ошибка существует в коде файловой системы hsfs(7FS) (ISO9660), hsfs может не поддерживать разделы/диски больше 4 Гб, доступ к данным происходит по модулю 4 Гб (<a class="ulink" href="http://groups.yahoo.com/group/solarisonintel/message/22592" target="_top">http://groups.yahoo.com/group/solarisonintel/message/22592</a>). Проблемы с hsfs могут быть исправлены установкой патча 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 на своей домашней странице держит подробное <a class="ulink" href="http://users.rcn.com/joepage/mplayer_on_hpux11.htm" target="_top">HOWTO</a> по <span class="application">MPlayer</span> на HP-UX, написанное Martin Gansser. С этими инструкциями сборка должна работать "прямо из коробки". Следующая информация взята оттуда. </p><p> Вам потребуется GCC 3.4.0 или полее поздней версии, GNU make версии 3.80 или новее и SDL 1.2.7 или более новый. HP cc не может создать работоспособную программу, предыдущие версии GCC глючат. Для функционирования OpenGL необходимо установить Mesa, после чего должны заработать драйвера вывода видео gl и gl2, хотя, в зависимости от быстродействия CPU, скорость может быть ужасной. GNU esound является хорошей заменой довольно бедной звуковой системе HP-UX. </p><p> Произведите сканирование шины SCSI на предмет наличия DVD устройства: </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> Вывод показывает, что по адресу 2 шины SCSI находится Pioneer DVD-ROM. Экземпляр карты для аппаратного пути 8/16 равен 1. </p><p> Создайте ссылку от сырого устройства к DVD устройству. </p><pre class="screen"> ln -s /dev/rdsk/c<em class="replaceable"><code><SCSI bus instance></code></em>t<em class="replaceable"><code><SCSI target ID></code></em>d<em class="replaceable"><code><LUN></code></em> /dev/<em class="replaceable"><code><device></code></em> </pre><p> Пример: </p><pre class="screen">ln -s /dev/rdsk/c1t2d0 /dev/dvd</pre><p> </p><p> Далее следуют решения некоторых общих проблем: </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p> Крах при запуске с таким сообщением об ошибке: </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> Это значит, что функция <code class="systemitem">.finite().</code> недоступна в стандартной математической библиотеке HP-UX. Вместо этого используйте <code class="systemitem">.isfinite().</code>. Решение: Используйте последнюю версию Mesa из репозитория. </p></li><li class="listitem"><p> Крах при воспроизведении со следующей ошибкой: </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> Решение: Используйте опцию extralibdir программы configure <tt class="option">--with-extralibdir="/usr/lib -lrt"</tt> </p></li><li class="listitem"><p> MPlayer вылетает с нарушением сегментации и сообщением вроде этого: </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> Решение: Ядро HP-UX по-умолчанию для каждого процесса имеет размер стека равный 8MB(?). (11.0 и новые патчи для 10.20 позволяют вам увеличить <code class="systemitem">maxssiz</code> вплоть до 350MB для 32-х битных программ). Вы должны расширить <code class="systemitem">maxssiz</code> и перекомпилировать ядро (и перезагрузиться). Чтобы сделать это, можно использовать SAM. (Находясь в нем, проверьте параметр <code class="systemitem">maxdsiz</code> на предмет максимального количества данных, которые могут использоваться программами. 64 Мб по умолчанию может хватить или не хватить в зависимости от Ваших приложений.) </p></li></ul></div><p> </p></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> успешно собирается на AIX 5.1, 5.2, и 5.3, используя GCC 3.3 или новее. Сборка <span class="application">MPlayer</span> не проверена на AIX 4.3.3 и более ранних. Крайне рекомендуется собирать <span class="application">MPlayer</span> используя GCC 3.4 или старше, и, как минимум, GCC 4.0, если собираете на POWER5. </p><p> Убедитесь, что используете GNU make (<tt class="filename">/opt/freeware/bin/gmake</tt>) для сборки <span class="application">MPlayer</span>, поскольку столкнетесь с проблемами при использовании <tt class="filename">/usr/ccs/bin/make</tt>. </p><p> По-прежнему ведется работа над кодом определения CPU. Проверены следующие архитектуры: </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> На следующих архитектурах не проверялось, но должно работать: </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> </p><p> Вывод звука через Ultimedia Services не поддерживается, т.к. Ultimedia была убрана из AIX 5.1; таким образом, остается единственный вариант: использовать драйвер AIX Open Sound system (OSS) от 4Front Technologies с <a class="ulink" href="http://www.opensound.com/aix.html" target="_top">http://www.opensound.com/aix.html</a>. Для некоммерческого использования 4Front Technologies распространяет драйвер OSS под AIX 5.1 бесплатно; несмотря на это, на текущий день нет драйверов вывода звука для AIX 5.2 или 5.3. drivers for AIX 5.2 or 5.3. Это означает, что сейчас <span class="bold"><strong>AIX 5.2 и 5.3 несовместимы с выводом звука MPlayer.</strong></span> </p><p>Решения для общих проблем:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p> Если вы столкнулись с такой ошибкой <tt class="filename">configure</tt>: </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> Это из-за того, что AIX использует нестандартные имена кодировок; поэтому перекодировка сообщений в данный момент не работает. Решение - использовать: </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> Вам нужно скачать и установить SDL для QNX. Затем запустите <span class="application">MPlayer</span> с опциями <tt class="option">-vo sdl:photon</tt> и <tt class="option">-ao sdl:nto</tt>, и все будет работать быстро. </p><p> Вывод <tt class="option">-vo x11</tt> будет ещё медленнее, чем под Linux, поскольку под QNX X'ы <span class="emphasis"><em>эмулируются</em></span>, что ОЧЕНЬ медленно. </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">Пред.</a> </td><td width="20%" align="center"><a accesskey="u" href="ports.html">Уровень выше</a></td><td width="40%" align="right"> <a accesskey="n" href="windows.html">След.</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">Начало</a></td><td width="40%" align="right" valign="top"> 8.4. Windows</td></tr></table></div></body></html>