11.3. Kereskedelmi Unix
Előző | 11. fejezet - Portok | Következő

## 11.3. Kereskedelmi Unix

Az MPlayer számos kereskedelmi Unix variánsra portolva lett. Mivel a fejlesztő környezet ezeken a rendszereken másfajta, mint a szabad Unix-okon, lehet, hogy némi kézi beállítást igényel a fordítás.

### 11.3.1. Solaris

Az MPlayer Solaris 2.6 vagy újabb rendszereken működik. A SUN audió vezérlőjét a `-ao sun` kapcsolóval használhatod.

Az MPlayer kihasználja az UltraSPARC gépek VIS utasításkészletét (az MMX-hez hasonló), bár jelenleg csak a `libmpeg2`-ben, `libvo`-ben és a `libavcodec`-ben, de az `mp3lib`-ben nem. Egy 400Mhz-es CPU elég, hogy élvezhetően lejátsz egy VOB filet. Szükséged lesz egy felinstallált `mLib`-re is.

A fordításhoz GNU make-re lesz szükséged (`gmake`, `/opt/sfw/gmake`), natív Solaris make nem jó. Egy tipikus hiba, ha mégis azzal probálkozol:

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

Solaris SPARC-on GNU C/C++ fordító is kell; az nem számít, hogy assemblerrel vagy nélküle van.

Solaris x86-on kell a GNU assembler és a GNU C/C++ fordító is, aminek támogatnia kell a GNU assemblert! Az MPlayer igencsak támaszkodik az MMX, SSE és 3DNOW! utasításokra, amiket a Sun standard assemblere (`/usr/ccs/bin/as`) nem támogat.

A `configure` script megpróbálja megkereseni, hogy a "gcc" parancsod melyik assemblert indítja (ha nem sikerül neki, használd a "`--as=`/ahova/installalva/lett/a/gnu-as``" kapcsolót, hogy megadd a `configure`nak az "as" helyét a rendszeredben).

Hibaüzenet GNU assembler nélküli GCC használata esetén:

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

(Megoldás: "`--with-as=gas`"-al fordított GCC használata)

Tipikus hiba, ha a GNU C fordító nem GNU assemblert (GNU as) használ:

       % 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
       ... további "Illegal mnemonic" és "Syntax error" hibák ...

Pár hiba miatt nem tudsz megbízhatóan 4 GB-nál nagyobb DVD-t lejátszani Solaris 8-on:

- Az sd(7D) vezérlőnek a Solaris 8 x86-ban van egy hibája a >4GB lemez blokkok elérésénél egy eszközön, melyen a logikai blokkméret != DEV_BSIZE-zel (pl. CD-ROM és DVD média). A 32 bites egész túlcsordulása miatt a lemez cím modulo 4GB kerül megcímzésre (http://groups.yahoo.com/group/solarisonintel/message/22516). Ez a probléma a SPARC alapú Solaris 8-on nincs.

- Egy hasonló hiba van a hsfs(7FS) fájlrendszer kódjában is (alias ISO9660), a hsfs nem támogatja a 4 GB-nál nagyobb partíciókat/lemezeket, minden adat modulo 4GB-vel lesz elérve (http://groups.yahoo.com/group/solarisonintel/message/22592). Ez a hiba a 109764-04 (sparc) / 109765-04 (x86) jelzésű patch-ek telepítése után megszűnik.

### 11.3.2. IRIX

A GNU install programot kell feltelepítened, és (ha nem tetted bele a globális path-ba) megadni a helyét:

    ./configure --with-install=/eleresi/ut/es/install_neve

Lehet az alap IRIX 6.5-ös install-t is használni, de ebben az esetben a `Makefile` egy kis kézi átírásra szorul. A következő két sort kell átírni:

      $(INSTALL) -c -m 644 DOCS/mplayer.1 $(MANDIR)/man1/mplayer.1

      $(INSTALL) -c -m 644 etc/codecs.conf $(CONFDIR)/codecs.conf

erre:

      $(INSTALL) -m 644 mplayer.1 $(MANDIR)/man1/

      $(INSTALL) -m 644 codecs.conf $(CONFDIR)/

Add ki a következő parancsokat (az MPlayer forrás könyvtárában):

    cp DOCS/mplayer.1 . ; cp etc/codecs.conf .

ezután símán fordíts és telepíts.

### 11.3.3. HP-UX

Joe Page ad helyet egy részletes HP-UX MPlayer HOGYAN-nak a weboldalán, amit Martin Gansser írt. Ezekkel az utasításokkal a fordítás után egyből kész programot kapsz. A következő információk a HOGYAN-ból lettek átvéve.

GCC 3.4.0 vagy későbbire lesz szükséged, GNU make 3.80 vagy újabb és SDL 1.2.7 vagy újabb. A HP cc nem tud működő programot fordítani, a korábbi GCC verziók pedig hibásak. Az OpenGL funkcionalításhoz telepítened kel a Mesa-t és így a gl és gl2 videó kimeneti vezérlőknek működniük kell, bár nagyon lassúak is lehetnek a CPU sebességétől függően. A meglehetősen gyenge natív HP-UX hangrendszer helyett inkább használd a GNU esound-ot.

Hozd létre a DVD eszközt nézd végig a SCSI buszt:

    # 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.2.0  sdisk CLAIMED DEVICE     PIONEER DVD-ROM DVD-305
                             /dev/dsk/c1t2d0 /dev/rdsk/c1t2d0
    target  4    8/16/5.7    tgt   CLAIMED DEVICE
    ctl     1    8/16/5.7.0  sctl  CLAIMED DEVICE     Initiator
                             /dev/rscsi/c1t7d0 /dev/rscsi/c1t7l0 /dev/scsi/c1t7l0
    ...

A képernyőn a kimenetben egy Pioneer DVD-ROM látszik a 2. SCSI címen. A kártya a 8/16-os hardver útra az 1-essel hivatkozik.

Készíts egy linket a nyers eszközről a DVD eszközre.

    # ln -s /dev/rdsk/c<SCSI busz hivatkozás>t<SCSI cél ID>d<LUN> /dev/<eszköz>

Például:

    # ln -s /dev/rdsk/c1t2d0 /dev/dvd

Itt van pár gyakori probléma megoldása:

- A rendzser összeomlik indításkor a következő hibaüzenettel:

      /usr/lib/dld.sl: Unresolved symbol: finite (code) from /usr/local/lib/gcc-lib/hppa2.0n-hp-hpux11.00/3.2/../../../libGL.sl

  Ez azt jelenti, hogy a `.finite().` függvény nincs benne a szabványos HP-UX math függvénykönyvtárban. Ekkor `.isfinite().` van helyette. Megoldás: Használd a legújabb Mesa depot fájlt.

- Összeomlás lejátszáskor a következő hibaüzenettel:

      /usr/lib/dld.sl: Unresolved symbol: sem_init (code) from /usr/local/lib/libSDL-1.2.sl.0

  Megoldás: Használd a configure extralibdir opcióját `--with-extralibdir="/usr/lib -lrt"`

- Az MPlayer segfault-ol egy ilyesmi üzenettel:

      Pid 10166 received a SIGSEGV for stack growth failure.
      Possible causes: insufficient memory or swap space, or stack size exceeded maxssiz.
      Segmentation fault

  Megoldás: A HP-UX kernel alapértelmezésként 8MB-os(?) méretű vermet használ processzenként.(11.0 és az újabb 10.20 foltok engedik növelni a `maxssiz`-t egészen 350MB-ig a 32-bit-es programokhoz). Növelned kell a `maxssiz`-t és újrafordítani a kernelt (majd reboot-olni). Ehhez használhatod a SAM-ot. (Ha már itt tartunk, nézd meg a `maxdsiz` paramétert is az egy program által használható maximum adatmennyiséghez. Az alkalmazásaidon múlik, hogy az alapértelmezett 64MB elég vagy sem.)

### 11.3.4. AIX

Az MPlayer sikeresen fordul AIX 5.1-en, 5.2-n és 5.3-on, GCC 3.3 vagy újabbal. Az MPlayer fordítását AIX 4.3.3 és régebbi változaton nem teszteltük. Javasoljuk, hogy az MPlayert GCC 3.4 vagy újabbal fordítsd vagy ha POWER5-ön forgatsz, GCC 4.0 szükséges.

Győződj meg róla, hogy a GNU make-et használod (`/opt/freeware/bin/gmake`) az MPlayer forgatásához, mivel problémákba fogsz ütközni, ha a `/usr/ccs/bin/make` fájlt használod.

A CPU detektálás még fejlesztés alatt áll. A következő architektúrákat teszteltük:

- 604e

- POWER4

A következő architektúrák nem lettek tesztelve, de működhetnek:

- POWER

- POWER2

- POWER3

- POWER5

Az Ultimedia Services-en keresztüli hang nem támogatott, mert az Ultimedia-t dobták az AIX 5.1-ben; ezért az egyetlen lehetőség az AIX Open Sound System (OSS) vezérlők használata a 4Front Technologies-től http://www.opensound.com/aix.html. A 4Front Technologies szabadon biztosítja az OSS vezérlőket személyes és nem-üzleti felhasználásra.

Előző | Fel | Következő
11.2. *BSD | Tartalom | 11.4. Windows