Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 499994 - =media-libs/xine-lib-1.2.6 - eq.c: In function 'process_MMX': eq.c:52:3: error: 'asm' operand has impossible constraints
Summary: =media-libs/xine-lib-1.2.6 - eq.c: In function 'process_MMX': eq.c:52:3: erro...
Status: CONFIRMED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Hardened (show other bugs)
Hardware: All Linux
: Normal normal
Assignee: Gentoo Media-video project
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-02-01 17:03 UTC by Bertrand Jacquin
Modified: 2014-08-12 20:43 UTC (History)
3 users (show)

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


Attachments
build.log (build.log,668.39 KB, text/plain)
2014-02-01 17:05 UTC, Bertrand Jacquin
Details
emerge --info (info.log,15.54 KB, text/plain)
2014-02-01 17:06 UTC, Bertrand Jacquin
Details
build.log (build.log,638.56 KB, text/x-log)
2014-06-22 20:07 UTC, Bertrand Jacquin
Details
emerge --info (info.log,15.86 KB, text/x-log)
2014-06-22 20:08 UTC, Bertrand Jacquin
Details
build.log (IUSE+=mmx) (build.log,639.19 KB, text/x-log)
2014-08-12 20:43 UTC, Bertrand Jacquin
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Bertrand Jacquin 2014-02-01 17:03:04 UTC
=media-libs/xine-lib-1.2.4 fail to build on ARCH=x86 with the following error :

# emerge -va1t  media-libs/xine-lib

[ebuild   R    ] media-libs/xine-lib-1.2.4:1  USE="X a52 aac aalib alsa bluray css directfb dts fbcon flac imagemagick ipv6 jpeg libcaca mad mmap mng modplug musepack opengl pulseaudio sdl speex theora truetype vaapi vdpau vorbis wavpack xcb xinerama xv xvmc (-altivec) -dvb -dxr3 -fusion -gtk -jack -nls -oss -samba -v4l -vcd -vdr -vidix (-vis)"

[snip]
libtool: compile:  i686-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I../../../include
-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 -I../../../lib -I../../../lib -D_FILE_OFFSET_BITS=64 -DNDEBUG -D_REENTRANT -DXINE_COMPILE -ffast-math -fexpensive-optimizations -mtune=pentiumpro -fomit-frame-pointer -fvisibility=hidden -pipe -Wall -Wformat=2 -Wno-format-zero-length -Wmissing-format-attribute -Werror-implicit-function-declaration -Wstrict-aliasing=2 -Wchar-subscripts -Wmissing-declarations -Wmissing-prototypes -Wwrite-strings -Wpointer-arith -g -march=native -O2 -pipe -fomit-frame-pointer -fomit-frame-pointer -Wall -Wchar-subscripts -Wnested-externs -Wcast-align -Wmissing-declarations -Wmissing-prototypes -Wmissing-format-attribute -Wno-pointer-sign -Wformat=2 -Wno-format-zero-length -Wformat-security -Wstrict-aliasing=2 -Werror=implicit-function-declaration -c eq.c  -fPIC -DPIC -o .libs/libpost_planar_asm_la-eq.o
eq.c: In function 'get_help':
eq.c:188:3: warning: return discards 'const' qualifier from pointer target type
[enabled by default]
   return _("Software equalizer with interactive controls just like the hardware   ^
eq.c: In function 'process_MMX':
eq.c:52:3: error: 'asm' operand has impossible constraints
   asm volatile (
   ^
Makefile:716: recipe for target 'libpost_planar_asm_la-eq.lo' failed
make[3]: *** [libpost_planar_asm_la-eq.lo] Error 1
make[3]: Leaving directory '/var/tmp/portage/media-libs/xine-lib-1.2.4/work/xine-lib-1.2.4/src/post/planar'
Makefile:575: recipe for target 'all-recursive' failed
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory '/var/tmp/portage/media-libs/xine-lib-1.2.4/work/xine-lib-1.2.4/src/post'
Makefile:593: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/var/tmp/portage/media-libs/xine-lib-1.2.4/work/xine-lib-1.2.4/src'
Makefile:669: recipe for target 'all-recursive' failed
make: *** [all-recursive] Error 1
 * ERROR: media-libs/xine-lib-1.2.4::gentoo failed (compile phase):
 *   emake failed

Full log attached and emerge --info

Reproducible: Always
Comment 1 Bertrand Jacquin 2014-02-01 17:05:29 UTC
Created attachment 369276 [details]
build.log
Comment 2 Bertrand Jacquin 2014-02-01 17:06:22 UTC
Created attachment 369278 [details]
emerge --info
Comment 3 Bertrand Jacquin 2014-02-01 17:52:31 UTC
This only append with gcc version 4.8.2 (Gentoo Hardened 4.8.2 p1.3r1, pie-0.5.8r1). Workaround is to use gcc version 4.7.3 (Gentoo Hardened 4.7.3-r1 p1.4, pie-0.5.5)
Comment 4 Manuel Rüger (RETIRED) gentoo-dev 2014-06-11 03:46:48 UTC
xine-lib (1.2.5) 2014-04-08 ChangeLog says
Build fixes.

Does xine-lib-1.2.5 compile with gcc-4.8?
Comment 5 Samuli Suominen (RETIRED) gentoo-dev 2014-06-22 17:55:18 UTC
=media-libs/xine-lib-1.2.4 removed from Portage as unused, in favour of 1.2.5

Does 1.2.5 still fail?
Comment 6 Bertrand Jacquin 2014-06-22 18:56:19 UTC
(In reply to Samuli Suominen from comment #5)
> =media-libs/xine-lib-1.2.4 removed from Portage as unused, in favour of 1.2.5
> 
> Does 1.2.5 still fail?

Still :/ Do you need an updated build.log ?
Comment 7 Samuli Suominen (RETIRED) gentoo-dev 2014-06-22 19:35:40 UTC
(In reply to Bertrand Jacquin from comment #6)
> (In reply to Samuli Suominen from comment #5)
> > =media-libs/xine-lib-1.2.4 removed from Portage as unused, in favour of 1.2.5
> > 
> > Does 1.2.5 still fail?
> 
> Still :/ Do you need an updated build.log ?

I suppose it wouldn't hurt

Just trying to figure out the xine-lib/xine-ui/gxine bug situation, what are still relavent and what are not, they've been neglected for a while, sorry about that
Comment 8 Bertrand Jacquin 2014-06-22 20:07:26 UTC
Created attachment 379428 [details]
build.log
Comment 9 Bertrand Jacquin 2014-06-22 20:08:22 UTC
Created attachment 379430 [details]
emerge --info
Comment 10 Samuli Suominen (RETIRED) gentoo-dev 2014-07-10 13:30:13 UTC
ssuominen@null /tmp $ diff -u xine-lib-1.2.5/src/post/planar/eq.c xine-lib-1.2.6/src/post/planar/eq.c 
ssuominen@null /tmp $ 

Hrr. Just pointing out 1.2.6 is in tree and I expect this still to be unfixed. I haven't been able to reproduce this yet...
Comment 11 Matt Turner gentoo-dev 2014-07-19 22:09:05 UTC
I have a feeling this is related to hardened.
Comment 12 Sean Santos 2014-07-31 16:43:49 UTC
I believe that this is related to -fstack-check being enabled on hardened. See Bug 499996, and Bug 506206.
Comment 13 Anthony Basile gentoo-dev 2014-08-06 11:28:26 UTC
(In reply to Sean Santos from comment #12)
> I believe that this is related to -fstack-check being enabled on hardened.
> See Bug 499996, and Bug 506206.

Yes, because pic/pie takes away one of the registers.  To be certain, can the original poster switch to the vanilla gcc toolchain (using gcc-config) and try again.  This should not be blocking gcc-4.8
Comment 14 Bertrand Jacquin 2014-08-06 12:19:12 UTC
(In reply to Anthony Basile from comment #13)
> (In reply to Sean Santos from comment #12)
> > I believe that this is related to -fstack-check being enabled on hardened.
> > See Bug 499996, and Bug 506206.
> 
> Yes, because pic/pie takes away one of the registers.  To be certain, can
> the original poster switch to the vanilla gcc toolchain (using gcc-config)
> and try again.  This should not be blocking gcc-4.8

ACK, build is OK with i686-pc-linux-gnu-4.8.3-vanilla
Comment 15 Samuli Suominen (RETIRED) gentoo-dev 2014-08-09 18:12:33 UTC
You could try this:

First add "mmx" to IUSE:

IUSE="mmx"

And this line to end of src_prepare() function in the ebuild:

use mmx || { sed -i -e 's:HAVE_MMX:HARDENED_AND_MMX_FAILS:g' configure || die; }

Then try to build with USE="-mmx"

As in, we could add this USE flag to control building MMX features and then mask it in hardened profiles...
Comment 16 Bertrand Jacquin 2014-08-12 20:43:56 UTC
Created attachment 382784 [details]
build.log (IUSE+=mmx)

(In reply to Samuli Suominen from comment #15)
> You could try this:
> 
> First add "mmx" to IUSE:
> 
> IUSE="mmx"
> 
> And this line to end of src_prepare() function in the ebuild:
> 
> use mmx || { sed -i -e 's:HAVE_MMX:HARDENED_AND_MMX_FAILS:g' configure ||
> die; }
> 
> Then try to build with USE="-mmx"
> 
> As in, we could add this USE flag to control building MMX features and then
> mask it in hardened profiles...

I've just try it, and I have another failure 

libtool: compile:  i686-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I../../../include -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 -I../../../lib -I../../../lib -D_FILE_OFFSET_BITS=64 -DNDEBUG -D_REENTRANT -DXINE_COMPILE -fvisibility=hidden -pipe -Wall -Wformat=2 -Wno-format-zero-length -Wmissing-format-attribute -Werror-implicit-function-declaration -Wstrict-aliasing=2 -Wchar-subscripts -Wmissing-declarations -Wmissing-prototypes -Wwrite-strings -Wpointer-arith -g -march=native -O2 -pipe -fomit-frame-pointer -fomit-frame-pointer -Wall -Wchar-subscripts -Wnested-externs -Wcast-align -Wmissing-declarations -Wmissing-prototypes -Wmissing-format-attribute -Wno-pointer-sign -Wformat=2 -Wno-format-zero-length -Wformat-security -Wstrict-aliasing=2 -Werror=implicit-function-declaration -c invert.c  -fPIC -DPIC -o .libs/xineplug_post_planar_la-invert.o
eq.c: In function 'process_MMX':
eq.c:52:3: error: 'asm' operand has impossible constraints
   asm volatile (
   ^
Makefile:727: recipe for target 'libpost_planar_asm_la-eq.lo' failed
make[3]: *** [libpost_planar_asm_la-eq.lo] Error 1
make[3]: *** Waiting for unfinished jobs....
noise.c: In function 'lineNoiseAvg_MMX':
noise.c:232:5: error: 'asm' operand has impossible constraints
     asm volatile(
     ^
Makefile:741: recipe for target 'libpost_planar_asm_la-noise.lo' failed
make[3]: *** [libpost_planar_asm_la-noise.lo] Error 1
make[3]: Leaving directory '/var/tmp/portage/media-libs/xine-lib-1.2.6/work/xine-lib-1.2.6/src/post/planar'
Makefile:586: recipe for target 'all-recursive' failed
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory '/var/tmp/portage/media-libs/xine-lib-1.2.6/work/xine-lib-1.2.6/src/post'
Makefile:604: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/var/tmp/portage/media-libs/xine-lib-1.2.6/work/xine-lib-1.2.6/src'
Makefile:680: recipe for target 'all-recursive' failed
make: *** [all-recursive] Error 1
 * ERROR: media-libs/xine-lib-1.2.6::gentoo failed (compile phase):
 *   emake failed

Full log attached