Summary: | media-plugins/gst-plugins-ffmpeg-0.10.9: can't find a register in class 'GENERAL_REGS' while reloading 'asm' | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Hongjiu Zhang <voidprayer> |
Component: | Current packages | Assignee: | GStreamer package maintainers <gstreamer> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | aballier, anthoine.bourgeois, bircoph, chaujc, gentoo-bugzilla, gnome, jeremyhu, kallamej, kanelxake, paluszak, rose, zioalex |
Priority: | High | ||
Version: | autobuilds | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Attachments: | ebuild with PIE detection |
Description
Hongjiu Zhang
2009-12-20 02:14:57 UTC
Portage 2.1.7.15 (hardened/linux/x86/10.0, gcc-4.3.4, glibc-2.11-r1, 2.6.31-zen9 i686) ================================================================= System uname: Linux-2.6.31-zen9-i686-Genuine_Intel-R-_CPU_T2050_@_1.60GHz-with-gentoo-2.0.1 Timestamp of tree: Sat, 19 Dec 2009 09:15:01 +0000 app-shells/bash: 4.0_p35 dev-java/java-config: 2.1.10 dev-lang/python: 2.6.4, 3.1.1-r1 dev-util/cmake: 2.8.0 sys-apps/baselayout: 2.0.1 sys-apps/openrc: 0.5.3 sys-apps/sandbox: 2.1 sys-devel/autoconf: 2.13, 2.64 sys-devel/automake: 1.9.6-r3, 1.10.3, 1.11.1 sys-devel/binutils: 2.20 sys-devel/gcc-config: 1.4.1 sys-devel/libtool: 2.2.6b virtual/os-headers: 2.6.30-r1 ACCEPT_KEYWORDS="x86 ~x86" ACCEPT_LICENSE="* -@EULA" CBUILD="i686-pc-linux-gnu" CFLAGS="-O2 -march=native -pipe -fomit-frame-pointer" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/share/X11/xkb /usr/share/config" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/splash /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c" CXXFLAGS="-O2 -march=native -pipe -fomit-frame-pointer" DISTDIR="/var/cache/portage/distfiles" EMERGE_DEFAULT_OPTS="--with-bdeps y --nospinner --quiet-build -j3" FEATURES="assume-digests buildpkg distlocks fixpackages news parallel-fetch protect-owned sandbox sfperms strict test test-fail-continue unmerge-logs unmerge-orphans userfetch userpriv usersandbox" GENTOO_MIRRORS="http://mirrors.163.com/gentoo http://gentoo.aditsu.net" LANG="zh_TW.UTF-8" LC_ALL="C" LDFLAGS="-Wl,-O1 -Wl,--as-needed" LINGUAS="zh_TW zh af am ar as as_IN ast az be be_BY bg bn bn_BD bn_IN bo br brx bs ca crh cs csb cy da de de_FR dgo dz el en en_CA en_GB en_US en_ZA eo es es_AR es_CL es_CR es_ES es_LA es_MX et et_EE eu fa fi fo fr fr_CA fy fy_NL ga ga_IE gl gu gu_IN he hi hi_IN hne hr hsb hu hy id is it ja ka kk km kn kn_IN ko ko_KR kok ks ku la lb lo lt lv mai mk ml ml_IN mn mni mr mr_IN ms mt my nb nb_NO nds ne nl nn nn_NO no nr ns nso oc or or_IN pa pa_IN pl pt pt_BR pt_PT rm ro ru rw sa_IN sat sd se sh sh_YU si sk sl sq sr sr@latin sr@Latn sr_CS ss st sv sv_SE sw sw_TZ ta ta_IN ta_LK te te_IN tg th ti_ER tk tl tn tr ts uk ur_IN ur_PK uz uz@cyrillic ve vi wa xh zh_CN zh_HK zh_TW zu" MAKEOPTS="-j1" PKGDIR="/var/cache/portage/packages" PORTAGE_COMPRESS="" PORTAGE_CONFIGROOT="/" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/var/cache/portage/ebuilds/gentoo" PORTDIR_OVERLAY="/var/cache/portage/ebuilds/gentoo-china /var/cache/portage/ebuilds/kde /var/cache/portage/ebuilds/gentoo-china /var/cache/portage/ebuilds/haskell /var/cache/portage/ebuilds/hardened-development /var/cache/portage/ebuilds/sunrise /var/cache/portage/ebuilds/oss-overlay /var/cache/portage/ebuilds/local" SYNC="rsync://mirror.averse.net/gentoo-portage" USE="X a52 aac acl acpi bash-completion berkdb branding bzip2 cdr cli consolekit cracklib crypt cscope cups cxx dbus doc dri dts dvd dvdr encode faac fam ffmpeg flac gdbm gif gnutls gpm hal hardened iconv ipv6 jpeg jpeg2k kde latex ldap lzma mng modules mp3 mp4 mpeg mudflap ncurses nls nptl nptlonly nsplugin ogg openexr opengl openmp oss pam pcre pdf perl pic png policykit ppds pppd python qt4 quicktime readline reflection sdl session spell spl ssl startup-notification svg sysfs tcpd tiff truetype unicode urandom v4l2 vorbis webkit win32codecs x264 x86 xml xorg xv xvid zlib" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" ELIBC="glibc" INPUT_DEVICES="evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="zh_TW zh af am ar as as_IN ast az be be_BY bg bn bn_BD bn_IN bo br brx bs ca crh cs csb cy da de de_FR dgo dz el en en_CA en_GB en_US en_ZA eo es es_AR es_CL es_CR es_ES es_LA es_MX et et_EE eu fa fi fo fr fr_CA fy fy_NL ga ga_IE gl gu gu_IN he hi hi_IN hne hr hsb hu hy id is it ja ka kk km kn kn_IN ko ko_KR kok ks ku la lb lo lt lv mai mk ml ml_IN mn mni mr mr_IN ms mt my nb nb_NO nds ne nl nn nn_NO no nr ns nso oc or or_IN pa pa_IN pl pt pt_BR pt_PT rm ro ru rw sa_IN sat sd se sh sh_YU si sk sl sq sr sr@latin sr@Latn sr_CS ss st sv sv_SE sw sw_TZ ta ta_IN ta_LK te te_IN tg th ti_ER tk tl tn tr ts uk ur_IN ur_PK uz uz@cyrillic ve vi wa xh zh_CN zh_HK zh_TW zu" RUBY_TARGETS="ruby18" USERLAND="GNU" VIDEO_CARDS="intel" Unset: CPPFLAGS, CTARGET, FFLAGS, INSTALL_MASK, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS btw, I disabled mmx mmxext sse sse2 ssse3 for media-video/ffmpeg, but apparently it does not help. Looks like a dupe of bug 290741. I read that, too. Originally I would like to report in that bug. However: 1. they belongs to the different packages. 2. We have mmx mmxext USE for ffmpeg, but we do not for gst-plugins-ffmpeg. Even the workaround does not work here. Well, the problem here is that this version of the plugin uses bundled ffmpeg. Before it was not, so there was no need for such an option. And something different is, I do not experience similar problem with media-video/ffmpeg. I have the same problem with this package, since such package was the first package to emerge in the "emerge world" queue I ended up masking it, and that allowed the "emerge world" to keep going 'till finished. I don't remember making use of such package since I use mplayer as my multimedia player but anyway I haven't noticed any problem in my gnome instance since I masked this package. I have the same error on hardened profile (with sandbox-2.1). Is there any solution? USE=-pic solved this for me (as suggested in bug 290741). Just like regular ffmpeg, hardened users need mmx disabled. Can be achieved by passing --with-ffmpeg-extra-configure="--disable-mmx" to configure. Created attachment 236901 [details]
ebuild with PIE detection
Makes possible to build package on x86 hardened systems with PIE enabled.
I made an ebuild with PIE detection (like in ffmpeg). It should build fine now on hardened system by disabling mmx/mmx2 optimizations. (In reply to comment #12) > I made an ebuild with PIE detection (like in ffmpeg). It should build fine now > on hardened system by disabling mmx/mmx2 optimizations. Works for me, thanks. Hope it will be in portage soon. This has been fixed for 3 weeks. Can this please get added to portage? (In reply to comment #11) > Created an attachment (id=236901) [details] > ebuild with PIE detection > > Makes possible to build package on x86 hardened systems with PIE enabled. > This patch is wrong. The ffmpeg mmx/asm works fine on amd64, so if this check is to be instated, it should also check for the arch (i.e. only x86 currently breaks). Please also make this bug depend on bug #179872 since that bug is about the root couse of this problem. i can confirm the bug with gst-plugins-ffmpeg-0.10.11-r1 and x86/10.0/desktop/kde profile. funny thing, this seems to be a very old bug, but my log shows that media-plugins/gst-plugins-ffmpeg-0.10.7 was emerged successfully on Feb 1 2010. So after looking at this problem again this bug really is confused, but it all comes down to one thing: gst-plugins-ffmpeg ALWAYS trying to compile ffmpeg/libav with "--enable-pic", something that always fails on x86 if you have mmx/mmx2 enabled So the usage of IUSE="hardened" is wrong. What should instead be done is that either always filter mmx/mmx2 for all of x86, or better yet, remove the hardened useflag and replace it with a USE="pic". This USE="pic" should either enable or disable pic, and if pic is enabled, then disable mmx/mmx2 for USE="x86". should be fixed in gst-plugins-ffmpeg-0.10.13_p201211 (uses system ffmpeg) |