Doc / unix


Doc / unix
2012-05-05 (土) 14:53:10更新
カテゴリ:未訳
原文:http://www.mplayerhq.hu/DOCS/HTML/en/unix.html

12.3. Commercial Unix

MPlayer has been ported to a number of commercial Unix variants. Since the development environments on these systems tend to be different from those found on free Unixes, you may have to make some manual adjustments to make the build work.

12.3.1. Solaris

MPlayer should work on Solaris 2.6 or newer. Use the SUN audio driver with the -ao sun option for sound.

On UltraSPARCs, MPlayer takes advantage of their VIS extensions (equivalent to MMX), currently only in libmpeg2, libvo and libavcodec, but not in mp3lib. You can watch a VOB file on a 400MHz CPU. You'll need mLib installed.

Caveat:

  • mediaLib is currently disabled by default in MPlayer because of brokenness. SPARC users who build MPlayer with mediaLib support have reported a thick, green-tint on video encoded and decoded with libavcodec. You may enable it if you wish with:
    $ ./configure --enable-mlib

    You do this at your own risk. x86 users should never use mediaLib, as this will result in very poor MPlayer performance.

To build the package you will need GNU make (gmake, /opt/sfw/gmake), native Solaris make will not work. Typical error you get when building with Solaris' make instead of GNU make:

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

On Solaris SPARC, you need the GNU C/C++ Compiler; it does not matter if GNU C/C++ compiler is configured with or without the GNU assembler.

On Solaris x86, you need the GNU assembler and the GNU C/C++ compiler, configured to use the GNU assembler! The MPlayer code on the x86 platform makes heavy use of MMX, SSE and 3DNOW! instructions that cannot be compiled using Sun's assembler /usr/ccs/bin/as.

The configure script tries to find out, which assembler program is used by your "gcc" command (in case the autodetection fails, use the --as=/wherever/you/have/installed/gnu-as option to tell the configure script where it can find GNU "as" on your system).

Solutions to common problems:

  • Error message from configure on a Solaris x86 system using GCC without GNU assembler:
  % configure
  ...
  Checking assembler (/usr/ccs/bin/as) ... , failed
  Please upgrade(downgrade) binutils to 2.10.1...

(Solution: Install and use a gcc configured with --with-as=gas)
Typical error you get when building with a GNU C compiler that does not use 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 may segfault when decoding and encoding video that uses the win32codecs:
    ...
    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
    ...

    This is because of a change to sysi86() in Solaris 10 and pre-Solaris Nevada b31 releases. This has been fixed in Solaris Nevada b32; however, Sun has yet to backport the fix to Solaris 10. The MPlayer Project has made Sun aware of the problem and a patch is currently in progress for Solaris 10. More information about this bug can be found at: http://bugs.opensolaris.org/bugdatabase/view_bug.do?bug_id=6308413.
  • Due to bugs in Solaris 8, you may not be able to play DVD discs larger than 4 GB:
    • The sd(7D) driver on Solaris 8 x86 has a bug when accessing a disk block >4GB on a device using a logical blocksize != DEV_BSIZE (i.e. CD-ROM and DVD media). Due to a 32Bit int overflow, a disk address modulo 4GB is accessed (http://groups.yahoo.com/group/solarisonintel/message/22516). This problem does not exist in the SPARC version of Solaris 8.
    • A similar bug is present in the hsfs(7FS) filesystem code (AKA ISO9660), hsfs may not not support partitions/disks larger than 4GB, all data is accessed modulo 4GB (http://groups.yahoo.com/group/solarisonintel/message/22592). The hsfs problem can be fixed by installing patch 109764-04 (sparc) / 109765-04 (x86).

12.3.2. IRIX

You can either try to install the GNU install program, and (if you did not put it in your global path) then point to the location with:

./configure --with-install=/path/and/name/of/install

Or you can use the default install delivered with IRIX 6.5 in which case you will have to edit the Makefile by hand a little bit. Change the following two lines:

 $(INSTALL) -c -m 644 DOCS/mplayer.1 $(MANDIR)/man1/mplayer.1
 $(INSTALL) -c -m 644 etc/codecs.conf $(CONFDIR)/codecs.conf

to:

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

And then do (from within the MPlayer source dir):

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

and then go on with building and installing.

12.3.3. HP-UX

12.3.4. AIX