Page 1 of 1

i420_rgb16.c: In function 'I420_RGB16__i420_rgb_mmx':

Posted: 24 Nov 2005 03:54
by yichi
when i compile the latest version from vlc (2005-11-23)

vlc version 0.8.5-svn
i get the following error:

Code: Select all

Making all in video_chroma make[3]: Entering directory `/home/yichi/vlc-dev/modules/video_chroma' make[4]: Entering directory `/home/yichi/vlc-dev/modules/video_chroma' make[4]: `libi420_rgb_plugin.so' is up to date. make[4]: `libi420_yuy2_plugin.so' is up to date. make[4]: `libi422_yuy2_plugin.so' is up to date. make[4]: `libi420_ymga_plugin.so' is up to date. if gcc -DHAVE_CONFIG_H -I. -I. -I../.. -DSYS_LINUX -I../../include `top_builddir="../.." ../../vlc-config --cflags builtin i420_rgb_mmx` -Wsign-compare -Wall -pipe -MT libi420_rgb_mmx_a-i420_rgb16.o -MD -MP -MF ".deps/libi420_rgb_mmx_a-i420_rgb16.Tpo" \ -c -o libi420_rgb_mmx_a-i420_rgb16.o `test -f 'i420_rgb16.c' || echo './'`i420_rgb16.c; \ then mv -f ".deps/libi420_rgb_mmx_a-i420_rgb16.Tpo" ".deps/libi420_rgb_mmx_a-i420_rgb16.Po"; \ else rm -f ".deps/libi420_rgb_mmx_a-i420_rgb16.Tpo"; exit 1; \ fi i420_rgb16.c: In function `I420_RGB16__i420_rgb_mmx': i420_rgb16.c:415: internal compiler error: in output_constant_pool, at varasm.c:3522 Please submit a full bug report, with preprocessed source if appropriate. See <URL:http://www.suse.de/feedback> for instructions. make[4]: *** [libi420_rgb_mmx_a-i420_rgb16.o] Error 1 make[4]: Leaving directory `/home/yichi/vlc-dev/modules/video_chroma' make[3]: *** [all-modules] Error 1 make[3]: Leaving directory `/home/yichi/vlc-dev/modules/video_chroma' make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory `/home/yichi/vlc-dev/modules' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/home/yichi/vlc-dev' make: *** [all] Error 2
i compile vlc-0.8.2 successfully on my linux box (suse 9.0 with gcc 3.3)
here my config.log (partly):

This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.

It was created by vlc configure 0.8.2, which was
generated by GNU Autoconf 2.59. Invocation command line was

$ ./configure --disable-mad --with-ffmpeg-tree=ffmpeg-0.4.9-pre1 --disable-skins2 --disable-wxwindows

## --------- ##
## Platform. ##
## --------- ##

hostname = LinuxServer
uname -m = i686
uname -r = 2.4.21-99-default
uname -s = Linux
uname -v = #1 Wed Sep 24 13:30:51 UTC 2003

/usr/bin/uname -p = unknown
/bin/uname -X = unknown

/bin/arch = i686
/usr/bin/arch -k = unknown
/usr/convex/getsysinfo = unknown
hostinfo = unknown
/bin/machine = unknown
/usr/bin/oslevel = unknown
/bin/universe = unknown

PATH: /opt/gnome/bin/
PATH: /usr/sbin
PATH: /sbin
PATH: /usr/bin
PATH: /bin
PATH: /usr/sbin
PATH: /sbin


## ----------- ##
## Core tests. ##
## ----------- ##

configure:1540: checking build system type
configure:1558: result: i686-pc-linux-gnu
configure:1566: checking host system type
configure:1580: result: i686-pc-linux-gnu
configure:1588: checking target system type
configure:1602: result: i686-pc-linux-gnu
configure:1631: checking for a BSD-compatible install
configure:1686: result: /usr/bin/install -c
configure:1697: checking whether build environment is sane
configure:1740: result: yes
configure:1773: checking for gawk
configure:1789: found /usr/bin/gawk
configure:1799: result: gawk
configure:1809: checking whether make sets $(MAKE)
configure:1829: result: yes
configure:2050: checking for gcc
configure:2066: found /usr/bin/gcc
configure:2076: result: gcc
configure:2320: checking for C compiler version
configure:2323: gcc --version </dev/null >&5
gcc (GCC) 3.3.1 (SuSE Linux)
Copyright (C) 2003 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

config.log of version 0.8.5-svn (partly):

This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.

It was created by vlc configure 0.8.5-svn, which was
generated by GNU Autoconf 2.57. Invocation command line was

$ ./configure --disable-mad --with-ffmpeg-tree=ffmpeg-0.4.9-pre1 --disable-wxwidgets --disable-skins2 --enable-debug

## --------- ##
## Platform. ##
## --------- ##

hostname = LinuxServer
uname -m = i686
uname -r = 2.4.21-99-default
uname -s = Linux
uname -v = #1 Wed Sep 24 13:30:51 UTC 2003

/usr/bin/uname -p = unknown
/bin/uname -X = unknown

/bin/arch = i686
/usr/bin/arch -k = unknown
/usr/convex/getsysinfo = unknown
hostinfo = unknown
/bin/machine = unknown
/usr/bin/oslevel = unknown
/bin/universe = unknown

PATH: /opt/gnome/bin/
PATH: /usr/sbin
PATH: /sbin
PATH: /usr/bin
PATH: /bin
PATH: /usr/sbin
PATH: /sbin


## ----------- ##
## Core tests. ##
## ----------- ##

configure:1532: checking build system type
configure:1550: result: i686-suse-linux
configure:1558: checking host system type
configure:1572: result: i686-suse-linux
configure:1580: checking target system type
configure:1594: result: i686-suse-linux
configure:1622: checking for a BSD-compatible install
configure:1676: result: /usr/bin/install -c
configure:1687: checking whether build environment is sane
configure:1730: result: yes
configure:1763: checking for gawk
configure:1779: found /usr/bin/gawk
configure:1789: result: gawk
configure:1799: checking whether make sets $(MAKE)
configure:1819: result: yes
configure:1986: checking whether to enable maintainer-specific portions of Makefiles
configure:1995: result: no
configure:2065: checking for gcc
configure:2081: found /usr/bin/gcc
configure:2091: result: gcc
configure:2335: checking for C compiler version
configure:2338: gcc --version </dev/null >&5
gcc (GCC) 3.3.1 (SuSE Linux)
Copyright (C) 2003 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Posted: 29 Nov 2005 00:35
by zorglub
Hello,

This message means that the compiler itself crashed. You could try with another compiler version and report the bug to your distribution as stated in the crash message

RedHat 9 gcc 3.2.2 also fails on 0.8.4 (release)

Posted: 01 Dec 2005 04:34
by sdhays-neon
I have a similar problem on RedHat 9 with gcc 3.2.2. Note that the error occurs in the same function, but that the thing that actually causes the compiler to fail is in a different place. I reported this same problem for 0.8.4-test2. I know that the error is probably in gcc, but since it seems to affecting multiple versions and multiple distributions, perhaps VLC should work around it...

Code: Select all

if gcc -DHAVE_CONFIG_H -I. -I. -I../.. -DSYS_LINUX -I../../include `top_builddir="../.." ../../vlc-config --cflags builtin i420_rgb_mmx` -Wsign-compare -Wall -pipe -MT libi420_rgb_mmx_a-i420_rgb16.o -MD -MP -MF ".deps/libi420_rgb_mmx_a-i420_rgb16.Tpo" -c -o libi420_rgb_mmx_a-i420_rgb16.o `test -f 'i420_rgb16.c' || echo './'`i420_rgb16.c; \ then mv -f ".deps/libi420_rgb_mmx_a-i420_rgb16.Tpo" ".deps/libi420_rgb_mmx_a-i420_rgb16.Po"; else rm -f ".deps/libi420_rgb_mmx_a-i420_rgb16.Tpo"; exit 1; fi i420_rgb16.c: In function `I420_RGB16__i420_rgb_mmx': i420_rgb16.c:415: Internal compiler error in find_reloads_toplev, at reload.c:4439 Please submit a full bug report, with preprocessed source if appropriate. See <URL:http://bugzilla.redhat.com/bugzilla/> for instructions. make[4]: *** [libi420_rgb_mmx_a-i420_rgb16.o] Error 1 make[4]: Leaving directory `/home/sdhays/build/vlc/vlc-0.8.4/modules/video_chroma'
I can also compile 0.8.2 without trouble. Yichi, can you compile 0.8.4 release?

Scott

Posted: 01 Dec 2005 14:11
by xtophe
No offense but gcc 3.2.2 is not very young. Try gcc 3.4.x or gcc 4.0.x

successfully installed!

Posted: 06 Dec 2005 09:31
by yichi
i compiled vlc-0.8.4 successfully in my fedora 4 box.
gcc4.0 and with all needed '-devel' rpm package installed.

Posted: 17 Dec 2005 19:03
by simonb
Is there a workaround for this? Can someone recommend a previous version of i420_rgb16.c that is known to work with GCC 3.3.1? I can maybe selectively undo whatever changes upset the compiler. It is not clear just by looking at the source code as to what did it since the error is reported at the closing brace of the I420_RGB32__i420_rgb_mmx function, line 578.

I have the same problem with
gcc (GCC) 3.3.1 (Mandrake Linux 9.2 3.3.1-2mdk)

I am using PCLinuxOS 0.92 updated from PASS server as the platform. I tried upgrading GCC from Mandrake source RPMs but this had a domino effect on the rest of the system. Package after package after package needed recompiling until I was looking at a clean re-install and a hosed nvidia driver.

Using the very latest and greatest version of GCC is an option for everyone, especially not on a server (http mode) which don't get their OS's updated so often or so easily.

Edited...
OK I found a fix for this. I rolled back modules/video_chroma/i420_rgb16.c and modules/video_chroma/i420_rgb_mmx.h to revision 11664. These files can be got from the online subversion repository. Here are the URLs to the versions of these files that will still compile with GCC 3.3...
http://trac.videolan.org/vlc/file/trunk ... ?rev=11664
http://trac.videolan.org/vlc/file/trunk ... ?rev=11664

Hope that helps someone out there.