MPlayer byl portován na mnoho komerčních variant Unixu. Jelikož vývojová prostředí na těchto systémech bývají odlišná od těch na svobodných Unixech, budete muset provést ruční úpravy, aby se kompilace povedla.
MPlayer by měl běžet na Solarisu 2.6 nebo novějším. Použijte SUN audio rozhraní pomocí volby -ao sun pro přehrávání zvuku.
Na UltraSPARCích,
MPlayer využívá jejich rozšíření
VIS
(ekvivalentní MMX), zatím jen v
libmpeg2
,
libvo
a libavcodec
, ale nikoli v
mp3lib
. Můžete přehrávat VOB soubor
na 400MHz CPU. Budete k tomu potřebovat nainstalovanou
mLib
.
Caveat:
Podpora mediaLib je v současnosti vypnutá ve výchozím nastavení MPlayeru kvůli chybovosti. Uživatelé SPARCu překládající MPlayer s podporou mediaLib hlásili tlustý zelený pruh v libavcodecem enkódovaném a dekódovaném videu. Pokud chcete, můžete si ji zapnout:
./configure --enable-mlib
Děláte to na vlastní nebezpečí. Uživatelé x86 by nikdy neměli používat mediaLib, jelikož vede k velmi slabému výkonu MPlayeru.
Pro kompilaci balíku budete potřebovat GNU make (gmake, /opt/sfw/gmake), jelikož nativní make Solarisu nebude pracovat. Typickou chybou kompilace s make Solarisu namísto GNU make je:
% /usr/ccs/bin/make make: Fatal error in reader: Makefile, line 25: Unexpected end of line seen
Na Solarisu SPARC, potřebujete GNU C/C++ Compiler; nezáleží na tom, zda je GNU C/C++ compiler konfigurován s nebo bez GNU assembleru.
Na Solarisu x86, potřebujete GNU assembler a GNU C/C++ compiler, konfigurovaný pro použití GNU assembleru! Kód MPlayeru na platformě x86 intenzivně používá MMX, SSE a 3DNOW! instrukce, které nemůže být kompilovány Sun assemblerem /usr/ccs/bin/as.
Skript configure zkouší zjistit, který assembler je použitý
vaším příkazem "gcc" (v případě že autodetekce selže, použijte volbu
--as=/kdekoli/máte/nainstalován/gnu-as
pro nastavení configure skriptu tak, aby našel GNU
"as" na vašem systému).
Řešení běžných potíží:
Chybová zpráva z configure na systému Solaris x86 s použitím GCC bez GNU assembleru:
% configure ... Checking assembler (/usr/ccs/bin/as) ... , failed Please upgrade(downgrade) binutils to 2.10.1...
(Řešení: Nainstalujte a použijte gcc konfigurovaný s --with-as=gas)
Typická chyba, kterou dostanete při kompilaci pomocí GNU C kompilátoru, který nepoužívá 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 ...
MPlayer může zhavarovat (segfault), pokud dekódujete nebo enkódujete video používající win32 kodeky:
... 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 ...
To díky změně na sysi86() ve verzích Solaris 10 a před-Solaris Nevada b31. V Solaris Nevada b32 to bylo opraveno; Sun však ještě musí portovat opravu do Solaris 10. MPlayer Project upozornil Sun na tento problém a záplata pro Solaris 10 je v současnosti rozpracována. Více informací o této chybě naleznete na: http://bugs.opensolaris.org/bugdatabase/view_bug.do?bug_id=6308413.
Díky chybám v Solarisu 8, nemůžete přehrávat DVD disky větší než 4 GB:
Ovladač sd(7D) na Solarisu 8 x86 má chybu v přístupu k diskovému bloku >4GB na zařízeních, které mají logical blocksize != DEV_BSIZE (čili CD-ROM a DVD média). Díky 32Bit int overflow, dostanete přístupovou diskovou adresu modulo 4GB (http://groups.yahoo.com/group/solarisonintel/message/22516). Tento problém neexistuje ve SPARC verzi Solarisu 8.
Podobná chyba je i v kódu systému souborů hsfs(7FS) (AKA ISO9660), hsfs nemusí podporovat oddíly/disky větší než 4GB, ke všem datům je přistupováno modulo 4GB (http://groups.yahoo.com/group/solarisonintel/message/22592). Problém hsfs může být odstraněn nainstalováním patche 109764-04 (sparc) / 109765-04 (x86).
Joe Page hostuje podrobné HP-UX MPlayer HOWTO od Martina Ganssera na jeho domácí stránce. Podle těchto instrukcí by kompilace měla proběhnout bez potíží. Následující informace jsou vytaženy ze zmíněného HOWTO.
Potřebujete GCC 3.4.0 nebo pozdější, GNU make 3.80 nebo pozdější a SDL 1.2.7 nebo pozdější. HP cc nevytvoří funkční program, předchozí verze GCC jsou chybové. Pro funkci OpenGL musíte nainstalovat Mesa a video rozhraní gl a gl2 by měly pracovat. Jejich rychlost však může být velmi malá, podle rychlosti CPU. Dobrou náhradou za spíše slabý nativní HP-UX systém je GNU esound.
Vytvořte DVD zařízení průzkumem SCSI pomocí:
# 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 ...
Výstup na obrazovce ukazuje Pioneer DVD-ROM na SCSI adrese 2. Instance karty pro hardwarovou cestu 8/16 je 1.
Vytvořte link ze surového zařízení na DVD zařízení.
ln -s /dev/rdsk/c<SCSI bus instance>
t<SCSI target ID>
d<LUN>
/dev/<device>
Příklad:
ln -s /dev/rdsk/c1t2d0 /dev/dvd
Níže uvádíme řešení některých běžných problémů:
Spadne při startu s hlášením:
/usr/lib/dld.sl: Unresolved symbol: finite (code) from /usr/local/lib/gcc-lib/hppa2.0n-hp-hpux11.00/3.2/../../../libGL.sl
To znamená, že funkce .finite().
není
dostupná ve standardní HP-UX matematické knihovně.
Místo ní je zde .isfinite().
.
Řešení: Použijte poslední Mesa depot soubor.
Spadne při přehrávání s hlášením:
/usr/lib/dld.sl: Unresolved symbol: sem_init (code) from /usr/local/lib/libSDL-1.2.sl.0
Řešení: Použijte volbu extralibdir v configure --extra-ldflags="/usr/lib -lrt"
MPlayer havaruje (segfault) s hlášením:
Pid 10166 received a SIGSEGV for stack growth failure. Possible causes: insufficient memory or swap space, or stack size exceeded maxssiz. Segmentation fault
Řešení:
HP-UX kernel má výchozí velikost zásobníku 8MB(?) na proces.(11.0 a
novější 10.20 patche vám umožní zvýšit maxssiz
až na
350MB pro 32-bit programy). Musíte zvětšit
maxssiz
a rekompilovat kernel (a restartovat).
Pro tento účel můžete použít SAM.
(Když už to budete dělat, ověřte parametr maxdsiz
pro maximální množství paměti, které může program použít.
Závisí na vašich aplikacích, jestli je výchozích 64MB dost nebo ne.)
MPlayer lze úspěšně přeložit na AIX 5.1, 5.2 a 5.3, pomocí GCC 3.3 nebo vyšší. Kompilace MPlayeru na AIX 4.3.3 a nížsích nebyla testována. Velmi doporučujeme kompilovat MPlayer pomocí GCC 3.4 nebo vašší, nebo pokud kompilujete na POWER5, vyžaduje se GCC 4.0.
Ujistěte se, že používáte GNU make (/opt/freeware/bin/gmake) pro sestavení MPlayeru, jelikož při použití /usr/ccs/bin/make budete mít problémy.
Detekce procesoru je stále nedokončena. Testovány byly následující architektury:
604e
POWER3
POWER4
Následující architektury nebyly testovány, ale měly by pracovat:
POWER
POWER2
POWER5
Zvuk přes Ultimedia Services není podporován, jelikož Ultimedia byla opuštěna v AIX 5.1; tudíš je jedinou možností použití ovladačů AIX Open Sound System (OSS) od 4Front Technologies z http://www.opensound.com/aix.html. 4Front Technologies volně poskytuje OSS ovladače pro AIX 5.1 pro nekomerční použití; zatím však neexistují zvukové ovladače pro AIX 5.2 nebo 5.3. To znamená, že AIX 5.2 a 5.3 nejsou nyní schopny provozovat MPlayer se zvukem.
Řešení běžných potíží:
Pokud dostanete tuto chybovou hlášku z configure:
$ ./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.
To proto, že AIX používá nestandardní názvy znakových sad; proto konverze výstupu MPlayeru do jiné znakové sady není zatím podporována. Řešením je:
$ ./configure --charset=noconv