[MPlayer-users] mplayer compilation error

Dean S. Messing deanm at sharplabs.com
Fri Nov 22 07:17:02 CET 2002


In searching the archives and the web, I've seen this error discussed
a zillion times.  Yet none of the discussion seems to solve my
problem.  I'm really sorry for being the billionth person asking this
but two hours of web search, reading, and recompiling in various ways
has not solved it.  Obviously I'm new to all this.

I am getting the infamous "GENERAL_REGS" error as indicated by the final
snippet of the .src.rpm build below:

=============

gcc -c -O4 -march=athlon-xp -mcpu=athlon-xp -pipe -ffast-math
    -fomit-frame-pointer -D_REENTRANT -D_LARGEFILE_SOURCE
    -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE  -I. -I.. -I./libvo
    -I/usr/include/gtk-1.2 -I/usr/include/glib-1.2 -I/usr/lib/glib/include
    -I/usr/X11R6/include -o postprocess.o postprocess.c
ar r libpostproc.a postprocess.o
gcc -c -O4 -march=athlon-xp -mcpu=athlon-xp -pipe -ffast-math
    -fomit-frame-pointer -D_REENTRANT -D_LARGEFILE_SOURCE
    -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE  -I. -I.. -I./libvo
    -I/usr/include/gtk-1.2 -I/usr/include/glib-1.2 -I/usr/lib/glib/include
    -I/usr/X11R6/include -fomit-frame-pointer -fPIC -DPIC
    -o postprocess_pic.o postprocess.c
postprocess.c: In function `postProcess_MMX2':
postprocess_template.c:2910: can't find a register in
    class `GENERAL_REGS' while reloading `asm'
make[1]: *** [postprocess_pic.o] Error 1
make[1]: Leaving directory `/usr/src/RPM/BUILD/MPlayer-0.90pre10/postproc'
make: *** [postproc/libswscale.a] Error 2
error: Bad exit status from /var/tmp/rpm-tmp.66577 (%build)


RPM build errors:
    Bad exit status from /var/tmp/rpm-tmp.66577 (%build)

=============


As you can see, I'm building from a .src.rpm
This .src.rpm is in the current Mandrake `contribs' directory.
It uses `mplayer' version0.90pre10-3.2 which (I think) is the latest.

I have modified the mplayer.spec file in four ways:

    1) inhibited all mandrake patches so I get a "vanilla compile"
         (Note: inhibiting them or not makes no difference)
    2) inhibited explicit definition of CFLAGS as per the Mplayer instructions
    3) added "CLFLAGS=" to the front of the ./configure line as per instructions
    4) changed --ensable-runtime-cpudetection to --disable-runtime-cpudetection
         (Note: not doing this just generates a similar error)

My system has dual AMD Athlon MP 1500+ CPUs.
I'm running a (nearly) stock Mdk 9.0.
   which, in particular,  means X version 4.2.1, kernel 2.4.19, gcc 3.2

I've got nVidia NV25 (GeForce 4) card and the binary drivers
   as of late August (I know, I know.
   Binary drivers == BAD;  I have no choice)

I'm booting with the "nopentium" option, which has something to do with MMX.

I can't think of anything else to tell you.

Following is the output from the beginning of the build so you can see
the options Mandrake enables and the config status:

I hope someone can point me in the right direction (I've done a small
amount of re-formatting to make this mess more readable):


CLFAGS= ./configure --prefix=/usr --datadir=/usr/share/mplayer
       --confdir=/etc/mplayer --libdir=/usr/lib --enable-largefiles 
       --disable-runtime-cpudetection --enable-mmx --enable-mmx2 
       --enable-3dnow --enable-3dnowex --enable-sse --enable-sse2 
       --enable-fastmemcpy --enable-freetype --disable-sighandler 
       --enable-gui --enable-i18n --language=en --enable-linux-devfs 
       --disable-mpdvdkit --enable-lirc --enable-tv --enable-tv-v4l 
       --enable-joystick --enable-gl --disable-svga --disable-dvb 
       --enable-mga --enable-xmga --enable-fbdev --disable-directfb 
       --disable-dvdnav --enable-mencoder --enable-shared-pp 
       --with-extraincdir=./libvo --with-x11incdir=/usr/X11R6/include 
       --with-xanimlibdir=/usr/X11R6/lib/xanim/mods 
       --with-reallibdir=/usr/lib/RealPlayer8/Codecs 
       --with-win32libdir=/usr/lib/win32
Detected operating system: Linux
Detected host architecture: i386
Checking for gcc version ... 3.2, ok
Checking for CPU vendor ... AuthenticAMD (6:6:2)
Checking for CPU type ...  AMD Athlon(tm) MP 1500+
Checking for GCC & CPU optimization abilities ... athlon-xp
Checking for kernel support of mmx ... yes
Checking for kernel support of mmx2 ... yes
Checking for kernel support of 3dnow ... yes
Checking for kernel support of 3dnowex ... yes
Checking for kernel support of sse ... yes
Checking for mtrr support ... yes
Checking for assembler (as 2.12.90.0.15) ... ok
Checking for Linux kernel version ... 2.4.19-16mdksmp, ok
Checking for awk ... gawk
Checking for extra headers ... -I./libvo
Checking for extra libs ... none
Checking for i18n ... yes
Checking for setlocale() ... yes
Checking for language ... using en
Checking for enable sighandler ... no
Checking for runtime cpudetection ... no
Checking for restrict keyword ... __restrict
Checking for kstat ... no
Checking for posix4 ... no
Checking for lrintf ... yes
Checking for nanosleep ... yes
Checking for socklib ... yes (using -lnsl)
Checking for inet_pton() ... yes (using -lnsl)
Checking for inttypes.h (required) ... yes
Checking for word size ... 32
Checking for stddef.h ... yes
Checking for malloc.h ... yes
Checking for memalign() ... yes
Checking for alloca.h ... yes
Checking for mman.h ... yes
Checking for dynamic loader ... yes
Checking for pthread ... yes (using -lpthread)
Checking for sys/soundcard.h ... yes
Checking for sys/dvdio.h ... no
Checking for sys/cdio.h ... no
Checking for linux/cdrom.h ... yes
Checking for dvd.h ... no
Checking for BSDI dvd.h ... no
Checking for HPUX SCSI header ... no
Checking for userspace SCSI headers (Solaris) ... no
Checking for termcap ... yes
Checking for termios ... yes (using sys/termios.h)
Checking for shm ... yes
Checking for linux devfs ... yes
Checking for strsep() ... yes
Checking for vsscanf() ... yes
Checking for sys/sysinfo.h ... yes
Checking for 3dfx ... no
Checking for tdfxfb ... no
Checking for DirectFB headers presence ... not found
Checking for DirectFB ... no
Checking for X11 headers presence ... yes (using -I/usr/X11R6/include)
Checking for X11 libs presence ... yes (using /usr/X11R6/lib)
Checking for X11 ... yes
Checking for DPMS ... yes (using Xdpms 4)
Checking for Xv ... yes
Checking for Xinerama ... yes
Checking for Xxf86vm ... yes
Checking for DGA ... yes (using DGA 2.0)
Checking for OpenGL ... yes
Checking for /dev/mga_vid ... yes
Checking for xmga ... yes
Checking for GGI ... yes
Checking for AA ... yes
Checking for SVGAlib ... no
Checking for FBDev ... yes
Checking for DVB ... no
Checking for PNG support ... yes
Checking for JPEG support ... yes
Checking for GIF89a support ... yes
Checking for VESA support ... yes
Checking for SDL ... yes (using sdl-config)
Checking for windows waveout ... no
Checking for Directx ... no
Checking for NAS ... yes
Checking for DXR2 ... no
Checking for DXR3/H+ ... yes
Checking for libmp1e ... no
Checking for libfame ... no (no fame dir)
Checking for OSS Audio ... yes
Checking for aRts ... yes
Checking for ALSA audio ... yes (using alsa 0.9.x and alsa/asoundlib.h)
Checking for Sun audio ... no
Checking for Sun mediaLib ... no
Checking for SGI audio ... no
Checking for VCD support ... ok
Checking for DVD support (libmpdvdkit) ... no
Checking for DVD support (libcss - old style) ... no
Checking for DVD support (libdvdread - new style) ... yes
Checking for DVD support (libdvdnav) ... no
Checking for cdparanoia ... yes
Checking for freetype >= 2.0.9 ... yes
Checking for zlib ... yes
Checking for RTC ... yes
Checking for external liblzo support ... yes
Checking for mad support ... yes
Checking for OggVorbis support ... yes
Checking for FAAD (AAC) support ... no
Checking for Win32 DLL support ... yes (using /usr/lib/win32)
Checking for DirectShow ... yes
Checking for XAnim DLL ... yes
Checking for RealPlayer DLL ... yes
Checking for LIVE.COM Streaming Media libraries ... no
Checking for iconv ... yes
Checking for FFmpeg libavcodec (static) ... yes
Checking for libdv-0.9.5+ ... yes
Checking for zr ... no
Checking for bl ... no
Checking for XviD ... no
Checking for DivX4linux/DivX5linux/OpenDivX decore ... no
Checking for libmp3lame (for mencoder) ... yes
Checking for XviD/DivX4linux encore (for mencoder) ... no
Checking for mencoder ... yes
Checking for fastmemcpy ... yes
Checking for UniquE RAR File Library ... yes
Checking for TV interface ... yes
Checking for *BSD BrookTree 848 TV interface ... no
Checking for Video 4 Linux TV interface ... yes
Checking for audio select() ... yes
Checking for streaming ... yes
Checking for byte order ... Little Endian
Checking for shared postprocess lib ... yes
Checking for GUI ... yes
Checking for XShape extension ... yes
Checking for gtk version ... 1.2.10 (using gtk-config)
Checking for glib version ... 1.2.10 (using glib-config)
Creating Gui/config.mak
Checking for ftello() ... yes
Checking for vidix ... yes
Checking for joystick ... yes
Checking for lirc ... yes
Creating config.mak
Creating config.h
Creating libvo/config.mak
Creating libao2/config.mak
Creating help_mp.h

Config files successfully generated by ./configure !

  Install prefix: /usr
  Data directory: /usr/share/mplayer
  Config direct.: /etc/mplayer

  Byte order: Little Endian
  Optimizing for: athlon-xp mmx mmx2 3dnow 3dnowex sse mtrr
  
  Enabled optional drivers:
    Input: network tv-v4l tv cdda dvdread vcd 
    Codecs: libdv libavcodec real xanim directshow win32 libvorbis
            libmad liblzo 
    Audio output: alsa9 arts oss nas sdl mpegpes(file) 
    Video output: xvidix dxr3 sdl vesa gif89a jpeg png mpegpes(file)
                  fbdev aa ggi xmga mga opengl dga xv x11 
  Disabled optional drivers:
    Input: tv-bsdbt848 dvdnav dvdcss mpdvdkit 
    Codecs: opendivx xvid 
    Audio output: sgi sun dxr2 win32 
    Video output: bl zr dxr2 directx svga directfb tdfxfb 3dfx 

'config.h' and 'config.mak' contain your configuration options.
Note: If you alter theses files (for instance CFLAGS) MPlayer may no longer
      compile *** DO NOT REPORT BUGS if you tweak these files ***

'make' will now compile MPlayer and 'make install' will install it.
Note: On non-Linux systems you might need to use 'gmake' instead of 'make'.

Please check mtrr settings at /proc/mtrr (see DOCS/video.html#mtrr)


Check configure.log if you wonder why an autodetection failed (check whether the
development headers/packages are installed).

If you suspect a bug, please read DOCS/bugreports.html.

+ make
./version.sh `gcc -dumpversion`
make distclean

<snip>

                                  Dean S. Messing
                                  Display Algorithms & Visual Optimization Lab
                                  Information Systems Technologies Dept.
                                  Sharp Laboratories of America




More information about the MPlayer-users mailing list