deinterlace.c: In function `deinterlace_mmx': deinterlace.c:158: error: PIC register `%ebx' clobbered in `asm' make[2]: *** [deinterlace.o] Error 1 make[2]: Leaving directory `/var/tmp/portage/mjpegtools-1.6.2-r3/work/mjpegtools-1.6.2/yuvdenoise' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/var/tmp/portage/mjpegtools-1.6.2-r3/work/mjpegtools-1.6.2' make: *** [all] Error 2 !!! ERROR: media-video/mjpegtools-1.6.2-r3 failed. Reproducible: Always Steps to Reproduce: 1.emerge mjpegtools 2. 3. Portage 2.0.51-r10 (default-linux/x86/2004.3, gcc-3.4.3, glibc-2.3.4.20041102-r0, 2.6.10 i686) ================================================================= System uname: 2.6.10 i686 AMD Athlon(tm) XP 2600+ Gentoo Base System version 1.6.8 Python: dev-lang/python-2.3.4 [2.3.4 (#1, Jan 7 2005, 12:06:31)] ccache version 2.3 [enabled] dev-lang/python: 2.3.4 sys-devel/autoconf: 2.59-r6, 2.13 sys-devel/automake: 1.8.5-r2, 1.5, 1.4_p6, 1.6.3, 1.7.9, 1.9.4 sys-devel/binutils: 2.15.92.0.2-r2 sys-devel/libtool: 1.5.10-r2 virtual/os-headers: 2.6.8.1-r2 ACCEPT_KEYWORDS="x86 ~x86" AUTOCLEAN="yes" CFLAGS="-O2 -march=athlon-xp -fomit-frame-pointer" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config /usr/kde/3.3/env /usr/kde/3.3/share/config /usr/kde/3.3/shutdown /usr/kde/3/share/config /usr/share/config /usr/share/texmf/dvipdfm/config/ /usr/share/texmf/dvips/config/ /usr/share/texmf/tex/generic/config/ /usr/share/texmf/tex/platex/config/ /usr/share/texmf/xdvi/ /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-O2 -march=athlon-xp -fomit-frame-pointer" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs autoconfig ccache cvs distlocks sandbox sfperms" GENTOO_MIRRORS="ftp://sunsite.informatik.rwth-aachen.de/pub/Linux/gentoo http://gentoo.inode.at/ ftp://gentoo.inode.at/source/" LDFLAGS="-Wl,-O1" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage" USE="x86 3dnow 3dnowex X aac aalib acl acpi alsa apache2 apm arts audiofile avi bash-completion berkdb bidi bigger-fonts bitmap-fonts bzlib cdr chroot cjk cross crypt css cups curl curlwrappers dbm dga directfb divx4linux doc dvd dvdr dvdread edl encode erandom esd ethereal exif faac faad flac flexresp flood font-server foomaticdb fortran freetype ftp gd gdbm gif gimp glep gmp gmttria gpm hardened hardenedphp iconv icq imlib inifile ipv6 jabber java jpeg jpeg2k junit kde ldap libcaca libwww live lzo mad makecheck mikmod mime mmx mmx2 mng monkey motif mozsvg mozxmlterm mp3 mpeg mpeg4 mpi mplayer mysql mysqli nagios-dns nagios-ntp nagios-ping nagios-ssh ncurses network nls no-old-linux nptl nptlonly ntlm nvidia offensive oggvorbis openal opengl oss pam parse-clocks pcre pdf pdflib pear-db perl pie png prelude print python qemu-fast qt quicktime readline real recode rtc samba sdl skey slang slp smime sndfile sockets spell sse ssl ssp svg svga tcltk tcpd tcpmd5 tetex tga theora threads tidy tiff truetype truetype-fonts type1 type1-fonts usb vhosts xml xml2 xmlrpc xmms xprint xv xvid xvmc yv12 zeo zlib" Unset: PORTDIR_OVERLAY
Same issue, also on an athlon, basically the same settings except -march=athlon instead of XP. Tried removing 3dnow - didn't help. Not sure how to fix this, but I can't finish installing :(
adding -fno-pie to CFLAGS fixed the problem with me.
*** Bug 78680 has been marked as a duplicate of this bug. ***
There is some fPIC patch already - maybe another one for fPIE? Weird enough adding "media-video/mjpegtools -pie" to /etc/portage/package.use doesn't work - any ideas?
Created attachment 49830 [details, diff] patch that should allow deinterlace.c to build for those with the problem This builds fine for me (athlon-xp) with the patch I posted to #78404, but the trick is simple and may work here too.
I have about 4 deps to update then I'll doa trial run with your patch kevin.
I can confirm that mjpegtools compiles with this and the patch from bug #78404 but I'm not sure how to confirm runtime. Perhaps we should wrapper the asm changes in #ifdef __PIC__\n\tNEW_CODE_HERE\n#else\nOLD_CODE_HERE\n#endif
Created attachment 49841 [details, diff] Same as before, but with #ifdefs to preserve original code on non-pic Just to be safe; avoid potentially breaking it where it already works.
Updated patches, fixing PIC and TEXTRELs in this ebuild, attached to bug #78404
*** Bug 86264 has been marked as a duplicate of this bug. ***
media-video herd. Is the proposed patch acceptiable to you now? Will you commit or should hardened?
I think this can be marked RESOLVED/FIXED, as bug #78404 has been.
patch in mjpegtools-1.6.2-r4
Thank you Daniel Kevin and all others for helping to test. Anybody happen to mail upstream yet?