Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 35716

Summary: xine-lib-1_rc2 fails to compile
Product: Gentoo Linux Reporter: Alexander Puchmayr <alexander.puchmayr>
Component: [OLD] LibraryAssignee: Gentoo Media-video project <media-video>
Status: RESOLVED WORKSFORME    
Severity: normal    
Priority: High    
Version: unspecified   
Hardware: x86   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---

Description Alexander Puchmayr 2003-12-13 03:19:05 UTC
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:
Comment 1 Michael Stahl 2004-01-21 14:32:03 UTC
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"
Comment 2 Martin Holzer (RETIRED) gentoo-dev 2004-02-16 02:59:03 UTC
please try rc3
Comment 3 Alexander Puchmayr 2004-02-16 15:05:54 UTC
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");*/