8.3. Sun Solaris
Пред. | Глава 8. Портинг | След.

## 8.3. Sun Solaris

MPlayer должен работать под Solaris 2.6 и более новыми версиями.

На UltraSPARC'ах, MPlayer использует их расширение VIS (эквивалент MMX), но (в настоящий момент) только в `libmpeg2`, `libvo` and `libavcodec`, но не в `mp3lib`. Вы сможете просматривать VOB'ы на 400MHz CPU. Вам потребуется установленная `mLib`.

Чтобы собрать программу, Вам потребуется GNU make (`gmake`, `/opt/sfw/gmake`), родной Solaris'овый make не будет работать. Типичная ошибка которую Вы будете получать при использовании Solaris'огово make, вместо GNU'шного:

       % /usr/ccs/bin/make
       make: Fatal error in reader: Makefile, line 25: Unexpected end of line seen

На Solaris SPARC, Вам потребуется GNU C/C++ Compiler; при этом не имеет значения, был ли GNU C/C++ компилятор сконфигурирован с или без GNU ассемблера.

На Solaris x86, Вам потребуются GNU ассемблер и GNU C/C++ компилятор, сконфигурированный, чтобы использовать GNU ассемблер! На x86 платформах код MPlayer'а использует много MMX, SSE и 3DNOW! инструкций, которые Sun'овский ассемблер `/usr/ccs/bin/as` не может скомпилировать.

Скрипт `configure` пытается обнаружить, какой ассемблер используется Вашей командой "gcc" (в том случае, если автоопределение не сработает, используйте опцию `--as=`/там/где/у/Вас/установлен/gnu-as``, чтобы сообщить скрипту `configure`, где можно обнаружить GNU "as" на Вашей системе).

Сообщения об ошибках `configure` на Solaris x86 системах при использовании GCC без GNU ассемблера:

       % configure
       ...
       Checking assembler (/usr/ccs/bin/as) ... , failed
       Please upgrade(downgrade) binutils to 2.10.1...

(Решение: Установите и используйте gcc, сконфигурированный с `--with-as=gas`)

Типичная ошибка при сборке GNU C компилятором, который не использует GNU as:

       % 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 ...

В связи с ошибками в Solaris 8, Вы не сможете проигрывать DVD диски, размером больше 4 Гб:

- Под Solaris 8 x86 драйвер sd(7D) содержит ошибку, проявляющуюся при доступе к дискам, размером > 4 Гб на устройствах с логическим размером блока != DEV_BSIZE (например CD-ROM и DVD диски). Из-за целочисленного 32битного переполнения, происходит доступ к дисковому адресу по модулю 4 Гб (http://groups.yahoo.com/group/solarisonintel/message/22516). Проблема отсутствует в SPARC версиях Solaris 8.

- Похожая ошибка существует в коде файловой системы hsfs(7FS) (ISO9660), hsfs может не поддерживать разделы/диски больше 4 Гб, доступ к данным происходит по модулю 4 Гб (http://groups.yahoo.com/group/solarisonintel/message/22592). Проблемы с hsfs могут быть исправлены установкой патча 109764-04 (sparc) / 109765-04 (x86).

Пред. | Уровень выше | След.
8.2. *BSD | Начало | 8.4. Silicon Graphics Irix