when trying to emerge xine-lib-1_rc2, it fails to compile. Since it is caused by other files than in bug #35594, #34592 and #34626, I decided to create a new bug. Here are the details: root@host:> emerge xine-lib [...] /bin/sh ../../../libtool-nofpic --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I../../.. -I../../.. -I../../../include -I../../../include -I../../../src -I../../../src/xine-engine -I../../../src/xine-engine -I../../../src/xine-utils -I../../../src/input -I../../../src/input `echo -Wall -D_REENTRANT -D_FILE_OFFSET_BITS=64 -DXINE_COMPILE -Wpointer-arith -Wnested-externs -Wcast-align -Wchar-subscripts -Wmissing-declarations -Wmissing-prototypes -march=athlon-xp -O3 -pipe -fomit-frame-pointer -msse -mmmx -m3dnow -funroll-all-loops -I/usr/kde/3.1/include/artsc | sed -e 's/-fomit-frame-pointer//g'` -c -o ifs_display.lo `test -f 'ifs_display.c' || echo './'`ifs_display.c rm: cannot remove `': Invalid argument ifs_display.c: In function `ifs_update': ifs_display.c:62: invalid `asm': Wrong address expression or operand constraint ifs_display.c:64: invalid `asm': Wrong address expression or operand constraint ifs_display.c:62: invalid `asm': Wrong address expression or operand constraint ifs_display.c:64: invalid `asm': Wrong address expression or operand constraint ifs_display.c:62: invalid `asm': Wrong address expression or operand constraint ifs_display.c:64: invalid `asm': Wrong address expression or operand constraint ifs_display.c:62: invalid `asm': Wrong address expression or operand constraint ifs_display.c:64: invalid `asm': Wrong address expression or operand constraint {standard input}: Assembler messages: {standard input}:114: Error: expecting operand before ','; got nothing {standard input}:119: Error: expecting operand after ','; got nothing {standard input}:140: Error: expecting operand before ','; got nothing {standard input}:145: Error: expecting operand after ','; got nothing {standard input}:166: Error: expecting operand before ','; got nothing {standard input}:171: Error: expecting operand after ','; got nothing {standard input}:192: Error: expecting operand before ','; got nothing {standard input}:197: Error: expecting operand after ','; got nothing make[4]: *** [ifs_display.lo] Error 1 make[4]: Leaving directory `/var/tmp/portage/xine-lib-1_rc2/work/xine-lib-1-rc2/src/post/goom' make[3]: *** [all-recursive] Error 1 make[3]: Leaving directory `/var/tmp/portage/xine-lib-1_rc2/work/xine-lib-1-rc2/src/post' make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory `/var/tmp/portage/xine-lib-1_rc2/work/xine-lib-1-rc2/src' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/var/tmp/portage/xine-lib-1_rc2/work/xine-lib-1-rc2' make: *** [all] Error 2 !!! ERROR: media-libs/xine-lib-1_rc2 failed. !!! Function src_compile, Line 114, Exitcode 2 !!! Parallel make failed Reproducible: Always Steps to Reproduce:
It also fails here, although at a different place: source='input_v4l.c' object='input_v4l.lo' libtool=yes \ depfile='.deps/input_v4l.Plo' tmpdepfile='.deps/input_v4l.TPlo' \ depmode=gcc3 /bin/sh ../../depcomp \ /bin/sh ../../libtool-nofpic --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I../.. -I../.. -I../../include -I../../include -I../../src -I../../src/xine-engine -I../../src/xine-engine -I../../src/xine-utils -I../../src/input -I../../src/input -D_LARGEFILE64_SOURCE -I../../src/input/libdvdnav/ -Wall -D_REENTRANT -D_FILE_OFFSET_BITS=64 -DXINE_COMPILE -Wpointer-arith -Wnested-externs -Wcast-align -Wchar-subscripts -Wmissing-declarations -Wmissing-prototypes -mcpu=athlon-xp -O2 -pipe -I/usr/kde/3.1/include/artsc -c -o input_v4l.lo `test -f 'input_v4l.c' || echo './'`input_v4l.c In file included from /usr/include/linux/videodev2.h:16, from /usr/include/linux/videodev.h:14, from input_v4l.c:36: /usr/include/linux/time.h:9: redefinition of `struct timespec' /usr/include/linux/time.h:88: redefinition of `struct timeval' In file included from ../../include/xine.h:51, from ../../src/xine-engine/xine_internal.h:43, from input_v4l.c:49: /usr/include/sys/time.h:57: redefinition of `struct timezone' /usr/include/sys/time.h:94: parse error before numeric constant /usr/include/sys/time.h:108: redefinition of `struct itimerval' In file included from ../../include/xine.h:52, from ../../src/xine-engine/xine_internal.h:43, from input_v4l.c:49: /usr/include/time.h:160: redefinition of `struct itimerspec' input_v4l.c:780: warning: `close_radio_capture_device' defined but not used make[4]: *** [input_v4l.lo] Error 1 make[4]: Leaving directory `/var/tmp/portage/xine-lib-1_rc2/work/xine-lib-1-rc2/src/input' make[3]: *** [all-recursive] Error 1 make[3]: Leaving directory `/var/tmp/portage/xine-lib-1_rc2/work/xine-lib-1-rc2/src/input' make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory `/var/tmp/portage/xine-lib-1_rc2/work/xine-lib-1-rc2/src' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/var/tmp/portage/xine-lib-1_rc2/work/xine-lib-1-rc2' make: *** [all] Error 2 !!! ERROR: media-libs/xine-lib-1_rc2 failed. !!! Function src_compile, Line 113, Exitcode 2 !!! Parallel make failed output of "emerge info" Portage 2.0.49-r20 (default-x86-1.4, gcc-3.2.3, glibc-2.3.2-r9, 2.4.20-gentoo-r8) ================================================================= System uname: 2.4.20-gentoo-r8 i686 AMD Athlon(TM) XP 2200+ Gentoo Base System version 1.4.3.10p1 ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CFLAGS="-mcpu=athlon-xp -O2 -pipe" CHOST="i686-pc-linux-gnu" COMPILER="gcc3" CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config /usr/kde/3.1/share/config /usr/kde/3/share/config /usr/share/config /usr/share/texmf/tex/generic/config/ /usr/share/texmf/tex/platex/config/ /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/env.d" CXXFLAGS="-mcpu=athlon-xp -O2 -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs ccache sandbox" GENTOO_MIRRORS="http://ftp.snt.utwente.nl/pub/os/linux/gentoo" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="" SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage" USE="X alsa apm arts avi berkdb cdr crypt cups dga dvd encode esd foomaticdb gdbm gif gphoto gpm gtk gtk2 imap imlib informix java jpeg kde libg++ libwww mad maildir mikmod mmx motif mozilla mpeg ncurses nls odbc oggvorbis opengl oss pam pdflib perl png postgres ppds python qt quicktime readline ruby samba scanner sdl slang spell sse ssl svga tcltk tcpd tetex tiff truetype usb x86 xml2 xmms xv zlib"
please try rc3
Seems that array-access in mmx-macro leads to wrong asm-code ... I created the following patch, which solved my problem: xine-lib-1-rc2/src/post/goom/ifs_display.c --- xine-lib-1-rc2.save/src/post/goom/ifs_display.c 2003-10-03 18:36:04.000000000 +0200 +++ xine-lib-1-rc2/src/post/goom/ifs_display.c 2004-02-16 23:46:21.000000000 +0100 @@ -59,9 +59,12 @@ if ((x < width) && (y < height) && (x > 0) && (y > 0)) { int pos = x + (y * width); - movd_m2r (back[pos], mm0); + guint32 tmp=back[pos]; + int tmp2; + movd_m2r (tmp, mm0); paddusb_r2r (mm1, mm0); - movd_r2m (mm0, data[pos]); + movd_r2m (mm0, tmp2); + data[pos]=tmp2; } } emms();/*__asm__ __volatile__ ("emms");*/