6.3. Sun Solaris
Poprzedni | Rozdział 6. Porty | Następny

## 6.3. Sun Solaris

MPlayer powinien działać na Solarisie 2.6 lub nowszym.

Na UltraSPARCach, MPlayer korzysta z rozszerzenia VIS (odpowiednik MMX), obecnie tylko w `libmpeg2`, `libavo` i `libavcodec`, ale nie w `mp3lib`. Możesz oglądać plik VOB na procesorze z taktowaniem 400MHz. Będziesz potrzebował do tego biblioteki `mLib`.

Aby zbudować pakiet, będziesz potrzebował GNU make (`gmake`, `/opt/sfw/gmake`), rdzenne make Solarisa nie zadziała. Typowy błąd jaki otrzymujesz, budując tym drugim zamiast GNU make, to:

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

W Solarisie przeznaczonym dla SPARC, potrzebujesz kompilatora GNU C/C++; nie ma znaczenia, czy jest on skonfigurowany z, czy bez GNU assemblera.

Na Solarisie x86, potrzebujesz GNU assemblera i kompilatora GNU C/C++, skonfigurowanego do używania GNU assemblera! Kod MPlayera, 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 `/usr/ccs/bin/as`.

Skrypt `configure` stara się określić, jaki assembler wywoływany jest przez komendę "gcc" (jeżeli próba zakończy się fiaskiem, użyj opcji `--as=`/gdziekolwiek/zainstalowałeś/gnu-as``, żeby określić gdzie skrypt `configure` może znaleźć GNU "as" w Twoim systemie).

Błąd jaki wyświetli `configure` na Solarisie x86, używającym GCC bez GNU assemblera:

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

(Rozwiązanie: Zainstaluj i używaj gcc skonfigurowanego z opcją `--with-as=gas`)

Typowy błąd, jaki otrzymasz przy próbie budowy kompilatorem GNU C, który nie używa 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 ...

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:

- 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 (http://groups.yahoo.com/group/solarisonintel/message/22516). Ten problem nie występuje na Solarisie 8 przeznaczonym dla procesorów SPARC.

- 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 (http://groups.yahoo.com/group/solarisonintel/message/22592). Problem może być rozwiązany przy pomocy łatki 109764-04 (sparc) / 109765-04 (x86).

Poprzedni | Początek rozdziału | Następny
6.2. *BSD | Spis treści | 6.4. Silicon Graphics Irix