Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 60413 - xine-lib-1_rc6-r1 fails to build on sparc32
Summary: xine-lib-1_rc6-r1 fails to build on sparc32
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All All
: High normal (vote)
Assignee: Sparc Porters
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2004-08-15 08:01 UTC by Jason Wever (RETIRED)
Modified: 2006-06-30 07:24 UTC (History)
2 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Jason Wever (RETIRED) gentoo-dev 2004-08-15 08:01:14 UTC
xine-lib-1_rc5-r3 fails to build on sparc due to libavcodec assuming it has more than 32 registers.  This appears to be related to this VIS optimizations for the UltraSPARC processors.  Not quite sure how to make it smart enough to realize that not all SPARCs have VIS extensions/  Error is as follows;

 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 -DSIMPLE_IDCT -DHAVE_AV_CONFIG_H -DRUNTIME_CPUDETECT -DUSE_FASTM
EMCPY -DCONFIG_RISKY -DCONFIG_DECODERS -DXINE_MPEG_ENCODER -DCONFIG_ZLIB -O3 -mc
pu=supersparc -mtune=supersparc -funroll-loops -finline-functions -Wall -DNDEBUG
 -D_REENTRANT -D_FILE_OFFSET_BITS=64 -DXINE_COMPILE -Wpointer-arith -Wnested-ext
erns -Wcast-align -Wchar-subscripts -Wmissing-declarations -Wmissing-prototypes 
-mcpu=hypersparc -g -O2 -pipe -fno-stack-protector -ffunction-sections -MT dsput
il_vis.lo -MD -MP -MF .deps/dsputil_vis.Tpo -c dsputil_vis.c  -fPIC -DPIC -o .li
bs/dsputil_vis.o
In file included from ../dsputil.h:31,
                 from dsputil_vis.c:35:
../common.h: In function `put_bits':
../common.h:448: warning: cast increases required alignment of target type
dsputil_vis.c: At top level:
dsputil_vis.c:3990: warning: no previous prototype for `get_pixels_vis'
dsputil_vis.c: In function `dsputil_init_vis':
dsputil_vis.c:4064: warning: assignment from incompatible pointer type
{standard input}: Assembler messages:
{standard input}:940: Error: Illegal operands: There are only 32 f registers; [0
-31]
{standard input}:948: Error: Illegal operands: There are only 32 f registers; [0
-31]
{standard input}:952: Error: Illegal operands: There are only 32 f registers; [0
-31]
{standard input}:956: Error: Illegal operands: There are only 32 f registers; [0
-31]
{standard input}:960: Error: Illegal operands: There are only 32 f registers; [0
-31]
{standard input}:996: Error: Illegal operands: There are only 32 f registers; [0
-31]
{standard input}:1000: Error: Illegal operands: There are only 32 f registers; [
0-31]
{standard input}:1035: Error: Illegal operands: There are only 32 f registers; [
0-31]
{standard input}:1043: Error: Illegal operands: There are only 32 f registers; [
0-31]
{standard input}:1047: Error: Illegal operands: There are only 32 f registers; [
0-31]
{standard input}:1051: Error: Illegal operands: There are only 32 f registers; [
0-31]
{standard input}:1055: Error: Illegal operands: There are only 32 f registers; [
0-31]
{standard input}:1091: Error: Illegal operands: There are only 32 f registers; [
0-31]
{standard input}:1095: Error: Illegal operands: There are only 32 f registers; [
0-31]
{standard input}:1127: Error: Illegal operands: There are only 32 f registers; [
0-31]
{standard input}:1135: Error: Illegal operands: There are only 32 f registers; [
0-31]
{standard input}:1139: Error: Illegal operands: There are only 32 f registers; [
0-31]
{standard input}:1143: Error: Illegal operands: There are only 32 f registers; [
0-31]
{standard input}:1147: Error: Illegal operands: There are only 32 f registers; [
0-31]
{standard input}:1183: Error: Illegal operands: There are only 32 f registers; [
0-31]
{standard input}:1187: Error: Illegal operands: There are only 32 f registers; [
0-31]
{standard input}:1222: Error: Illegal operands: There are only 32 f registers; [
0-31]
{standard input}:1230: Error: Illegal operands: There are only 32 f registers; [
0-31]
{standard input}:1235: Error: Illegal operands: There are only 32 f registers; [
0-31]
{standard input}:1265: Error: Illegal operands: There are only 32 f registers; [
0-31]
{standard input}:1269: Error: Illegal operands: There are only 32 f registers; [
0-31]
{standard input}:1348: Error: Illegal operands: There are only 32 f registers; [
0-31]
{standard input}:1405: Error: Illegal operands: There are only 32 f registers; [
{standard input}:1459: Error: Illegal operands: There are only 32 f registers; [
0-31]
{standard input}:1644: Error: Illegal operands: There are only 32 f registers; [
0-31]
{standard input}:1650: Error: Illegal operands: There are only 32 f registers; [
0-31]
{standard input}:1656: Error: Illegal operands: There are only 32 f registers; [
0-31]
{standard input}:1695: Error: Illegal operands: There are only 32 f registers; [
0-31]
{standard input}:1699: Error: Illegal operands: There are only 32 f registers; [
0-31]
{standard input}:1752: Error: Illegal operands: There are only 32 f registers; [
0-31]
{standard input}:1756: Error: Illegal operands: There are only 32 f registers; [
0-31]
{standard input}:1845: Error: Illegal operands: There are only 32 f registers; [
0-31]
{standard input}:1850: Error: Illegal operands: There are only 32 f registers; [
0-31]
{standard input}:1876: Error: Illegal operands: There are only 32 f registers; [
0-31]
{standard input}:1880: Error: Illegal operands: There are only 32 f registers; [
0-31]
{standard input}:1977: Error: Illegal operands: There are only 32 f registers; [
0-31]
{standard input}:1991: Error: Illegal operands: There are only 32 f registers; [
0-31]
{standard input}:2070: Error: Illegal operands: There are only 32 f registers; [
0-31]
{standard input}:2084: Error: Illegal operands: There are only 32 f registers; [
0-31]
{standard input}:2160: Error: Illegal operands: There are only 32 f registers; [
0-31]
{standard input}:2174: Error: Illegal operands: There are only 32 f registers; [
0-31]
{standard input}:2586: Error: Illegal operands: There are only 32 f registers; [
0-31]
{standard input}:2590: Error: Illegal operands: There are only 32 f registers; [
0-31]
{standard input}:2592: Error: Illegal operands: There are only 32 f registers; [
0-31]
{standard input}:2598: Error: Illegal operands: There are only 32 f registers; [
0-31]
{standard input}:2600: Error: Illegal operands: There are only 32 f registers; [
0-31]
{standard input}:2818: Error: Illegal operands: There are only 32 f registers; [
0-31]
{standard input}:2822: Error: Illegal operands: There are only 32 f registers; [
0-31]
{standard input}:2827: Error: Illegal operands: There are only 32 f registers; [
0-31]
{standard input}:2873: Error: Illegal operands: There are only 32 f registers; [
0-31]
{standard input}:2877: Error: Illegal operands: There are only 32 f registers; [
0-31]
{standard input}:2881: Error: Illegal operands: There are only 32 f registers; [
0-31]
{standard input}:2907: Error: Illegal operands: There are only 32 f registers; [
0-31]
{standard input}:2911: Error: Illegal operands: There are only 32 f registers; [
0-31]
{standard input}:2960: Error: Illegal operands: There are only 32 f registers; [
0-31]
{standard input}:2964: Error: Illegal operands: There are only 32 f registers; [
0-31]
{standard input}:2968: Error: Illegal operands: There are only 32 f registers; [
0-31]
{standard input}:2994: Error: Illegal operands: There are only 32 f registers; [
0-31]
{standard input}:2998: Error: Illegal operands: There are only 32 f registers; [
0-31]
{standard input}:3044: Error: Illegal operands: There are only 32 f registers; [
0-31]
{standard input}:3048: Error: Illegal operands: There are only 32 f registers; [
0-31]
{standard input}:3052: Error: Illegal operands: There are only 32 f registers; [0-31]
{standard input}:3078: Error: Illegal operands: There are only 32 f registers; [
0-31]
{standard input}:3082: Error: Illegal operands: There are only 32 f registers; [
0-31]
{standard input}:3157: Error: Illegal operands: There are only 32 f registers; [
0-31]
{standard input}:3162: Error: Illegal operands: There are only 32 f registers; [
0-31]
{standard input}:3226: Error: Illegal operands: There are only 32 f registers; [
0-31]
{standard input}:3537: Error: Illegal operands: There are only 32 f registers; [
0-31]
{standard input}:3543: Error: Illegal operands: There are only 32 f registers; [
0-31]
{standard input}:3547: Error: Illegal operands: There are only 32 f registers; [
0-31]
{standard input}:3741: Error: Illegal operands: There are only 32 f registers; [
0-31]
{standard input}:3820: Error: Illegal operands: There are only 32 f registers; [
0-31]
{standard input}:3896: Error: Illegal operands: There are only 32 f registers; [
0-31]
{standard input}:4076: Error: Illegal operands: There are only 32 f registers; [
0-31]
{standard input}:4082: Error: Illegal operands: There are only 32 f registers; [
0-31]
{standard input}:4086: Error: Illegal operands: There are only 32 f registers; [
0-31]
{standard input}:4347: Error: Illegal operands: There are only 32 f registers; [
0-31]
{standard input}:4561: Error: Illegal operands: There are only 32 f registers; [
0-31]
{standard input}:4567: Error: Illegal operands: There are only 32 f registers; [
0-31]
{standard input}:4571: Error: Illegal operands: There are only 32 f registers; [
0-31]
{standard input}:4874: Error: Illegal operands: There are only 32 f registers; [
0-31]{standard input}:5403: Error: Illegal operands: There are only 32 f registers; [
0-31]
{standard input}:5411: Error: Illegal operands: There are only 32 f registers; [
0-31]
{standard input}:5415: Error: Illegal operands: There are only 32 f registers; [
0-31]
{standard input}:5419: Error: Illegal operands: There are only 32 f registers; [
0-31]
{standard input}:5423: Error: Illegal operands: There are only 32 f registers; [
0-31]
{standard input}:5459: Error: Illegal operands: There are only 32 f registers; [
0-31]
{standard input}:5463: Error: Illegal operands: There are only 32 f registers; [
0-31]
{standard input}:5498: Error: Illegal operands: There are only 32 f registers; [
0-31]
{standard input}:5506: Error: Illegal operands: There are only 32 f registers; [
0-31]
{standard input}:5510: Error: Illegal operands: There are only 32 f registers; [
0-31]
{standard input}:5514: Error: Illegal operands: There are only 32 f registers; [
0-31]
{standard input}:5518: Error: Illegal operands: There are only 32 f registers; [
0-31]
{standard input}:5554: Error: Illegal operands: There are only 32 f registers; [
0-31]
{standard input}:5558: Error: Illegal operands: There are only 32 f registers; [
0-31]
{standard input}:5590: Error: Illegal operands: There are only 32 f registers; [
0-31]
{standard input}:5598: Error: Illegal operands: There are only 32 f registers; [
0-31]
{standard input}:5602: Error: Illegal operands: There are only 32 f registers; [
0-31]
{standard input}:5606: Error: Illegal operands: There are only 32 f registers; [
0-31]
{standard input}:5610: Error: Illegal operands: There are only 32 f registers; [
0-31]
{standard input}:5646: Error: Illegal operands: There are only 32 f registers; [0-31]
{standard input}:5650: Error: Illegal operands: There are only 32 f registers; [
0-31]
{standard input}:5685: Error: Illegal operands: There are only 32 f registers; [
0-31]
{standard input}:5693: Error: Illegal operands: There are only 32 f registers; [
0-31]
{standard input}:5698: Error: Illegal operands: There are only 32 f registers; [
0-31]
{standard input}:5728: Error: Illegal operands: There are only 32 f registers; [
0-31]
{standard input}:5732: Error: Illegal operands: There are only 32 f registers; [
0-31]
{standard input}:5811: Error: Illegal operands: There are only 32 f registers; [
0-31]
{standard input}:5868: Error: Illegal operands: There are only 32 f registers; [
0-31]
{standard input}:5922: Error: Illegal operands: There are only 32 f registers; [
0-31]
{standard input}:6107: Error: Illegal operands: There are only 32 f registers; [
0-31]
{standard input}:6113: Error: Illegal operands: There are only 32 f registers; [
0-31]
{standard input}:6119: Error: Illegal operands: There are only 32 f registers; [
0-31]
{standard input}:6158: Error: Illegal operands: There are only 32 f registers; [
0-31]
{standard input}:6162: Error: Illegal operands: There are only 32 f registers; [
0-31]
{standard input}:6215: Error: Illegal operands: There are only 32 f registers; [
0-31]
{standard input}:6219: Error: Illegal operands: There are only 32 f registers; [
0-31]
{standard input}:6308: Error: Illegal operands: There are only 32 f registers; [
0-31]
{standard input}:6313: Error: Illegal operands: There are only 32 f registers; [
0-31]
{standard input}:6339: Error: Illegal operands: There are only 32 f registers; [
0-31]
{standard input}:6343: Error: Illegal operands: There are only 32 f registers; [
0-31]
{standard input}:6440: Error: Illegal operands: There are only 32 f registers; [
0-31]
{standard input}:6454: Error: Illegal operands: There are only 32 f registers; [
0-31]
{standard input}:6533: Error: Illegal operands: There are only 32 f registers; [
0-31]
{standard input}:6547: Error: Illegal operands: There are only 32 f registers; [
0-31]
{standard input}:6623: Error: Illegal operands: There are only 32 f registers; [
0-31]
{standard input}:6637: Error: Illegal operands: There are only 32 f registers; [
0-31]
{standard input}:7049: Error: Illegal operands: There are only 32 f registers; [
0-31]
{standard input}:7053: Error: Illegal operands: There are only 32 f registers; [
0-31]
{standard input}:7055: Error: Illegal operands: There are only 32 f registers; [
0-31]
{standard input}:7061: Error: Illegal operands: There are only 32 f registers; [
0-31]
{standard input}:7063: Error: Illegal operands: There are only 32 f registers; [
0-31]
{standard input}:7281: Error: Illegal operands: There are only 32 f registers; [
0-31]
{standard input}:7285: Error: Illegal operands: There are only 32 f registers; [
0-31]
{standard input}:7290: Error: Illegal operands: There are only 32 f registers; [
0-31]
{standard input}:7336: Error: Illegal operands: There are only 32 f registers; [
0-31]
{standard input}:7340: Error: Illegal operands: There are only 32 f registers; [
0-31]
{standard input}:7344: Error: Illegal operands: There are only 32 f registers; [
0-31]
{standard input}:7370: Error: Illegal operands: There are only 32 f registers; [
0-31]
{standard input}:7374: Error: Illegal operands: There are only 32 f registers; [0-31]
{standard input}:7423: Error: Illegal operands: There are only 32 f registers; [
0-31]
{standard input}:7427: Error: Illegal operands: There are only 32 f registers; [
0-31]
{standard input}:7431: Error: Illegal operands: There are only 32 f registers; [
0-31]
{standard input}:7457: Error: Illegal operands: There are only 32 f registers; [
0-31]
{standard input}:7461: Error: Illegal operands: There are only 32 f registers; [
0-31]
{standard input}:7507: Error: Illegal operands: There are only 32 f registers; [
0-31]
{standard input}:7511: Error: Illegal operands: There are only 32 f registers; [
0-31]
{standard input}:7515: Error: Illegal operands: There are only 32 f registers; [
0-31]
{standard input}:7541: Error: Illegal operands: There are only 32 f registers; [
0-31]
{standard input}:7545: Error: Illegal operands: There are only 32 f registers; [
0-31]
{standard input}:7620: Error: Illegal operands: There are only 32 f registers; [
0-31]
{standard input}:7625: Error: Illegal operands: There are only 32 f registers; [
0-31]
{standard input}:7689: Error: Illegal operands: There are only 32 f registers; [
0-31]
{standard input}:8000: Error: Illegal operands: There are only 32 f registers; [
0-31]
{standard input}:8006: Error: Illegal operands: There are only 32 f registers; [
0-31]
{standard input}:8010: Error: Illegal operands: There are only 32 f registers; [
0-31]
{standard input}:8204: Error: Illegal operands: There are only 32 f registers; [
0-31]
{standard input}:8283: Error: Illegal operands: There are only 32 f registers; [
0-31]
{standard input}:8359: Error: Illegal operands: There are only 32 f registers; [
0-31]
{standard input}:8539: Error: Illegal operands: There are only 32 f registers; [
0-31]
{standard input}:8545: Error: Illegal operands: There are only 32 f registers; [
0-31]
{standard input}:8549: Error: Illegal operands: There are only 32 f registers; [
0-31]
{standard input}:8810: Error: Illegal operands: There are only 32 f registers; [
0-31]
{standard input}:9024: Error: Illegal operands: There are only 32 f registers; [
0-31]
{standard input}:9030: Error: Illegal operands: There are only 32 f registers; [
0-31]
{standard input}:9034: Error: Illegal operands: There are only 32 f registers; [
0-31]
{standard input}:9337: Error: Illegal operands: There are only 32 f registers; [
0-31]
make[5]: *** [dsputil_vis.lo] Error 1
make[5]: Leaving directory `/var/tmp/portage/xine-lib-1_rc5-r3/work/xine-lib-1-r
c5/src/libffmpeg/libavcodec/sparc'
make[4]: *** [all-recursive] Error 1
make[4]: Leaving directory `/var/tmp/portage/xine-lib-1_rc5-r3/work/xine-lib-1-r
c5/src/libffmpeg/libavcodec'
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory `/var/tmp/portage/xine-lib-1_rc5-r3/work/xine-lib-1-r
c5/src/libffmpeg'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/var/tmp/portage/xine-lib-1_rc5-r3/work/xine-lib-1-r
c5/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/var/tmp/portage/xine-lib-1_rc5-r3/work/xine-lib-1-r
c5'
make: *** [all] Error 2

!!! ERROR: media-libs/xine-lib-1_rc5-r3 failed.
!!! Function src_compile, Line 146, Exitcode 2
!!! Parallel make failed
Comment 1 Jason Wever (RETIRED) gentoo-dev 2004-08-31 18:03:18 UTC
According to Dave Miller (sparc64 kernel maintainer), this is related to a binutils issue he made a patch for.   I'm in the process of trying to track down said patch and once I get it, I'll test it out.
Comment 2 Jeremy Huddleston (RETIRED) gentoo-dev 2004-11-28 16:01:21 UTC
weeve, can you try again with the latest stable binutils?
Comment 3 Jason Wever (RETIRED) gentoo-dev 2004-12-13 19:29:36 UTC
xine-lib now builds on ~sparc sparc32 boxen, but not sparc sparc32 boxen.  Guessing this is due to the different versions of binutils.  Going to keep masked until we get a binutils that xine-lib likes.
Comment 4 Chris White (RETIRED) gentoo-dev 2005-02-07 13:25:14 UTC
Any updates on the binutils thing?
Comment 5 Jason Wever (RETIRED) gentoo-dev 2005-02-12 18:45:04 UTC
A newer version of binutils is now stable.  However the current stable version of xine-lib on SPARC (1_rc6-r1) still suffers from this issue.  xine-lib-1_rc8-r1 and 1.0 do not however.
Comment 6 Diego Elio Pettenò (RETIRED) gentoo-dev 2005-04-17 17:54:11 UTC
Updating version on comment just to have it clear :)
Comment 7 Diego Elio Pettenò (RETIRED) gentoo-dev 2005-05-02 04:30:02 UTC
News about this? Seems like recent xine-lib doesn't work on sparc also if they are marked ~sparc, and this which is marked stable isn't working.
Please refer something if there are any news.
Comment 8 Diego Elio Pettenò (RETIRED) gentoo-dev 2005-09-02 15:17:40 UTC
Need to be fixed by sparc team, as it's a sparc-related bug, don't think I can 
do anything about this. 
 
Comment 9 Gustavo Zacarias (RETIRED) gentoo-dev 2006-06-30 07:24:16 UTC
Old bug, xine is masked for sparc32 so it's no longer relevant.