Hi, Initially when tried to emerge with "mmx" USE flag the build failed. Next manually switched OFF "mmx" and now it's OK. So (in my case) i need to filter "mmx" in order to compile libmpeg3. Error log is next: ...BEGIN... i686-pc-linux-gnu-gcc -fPIC -c `cat i686/c_flags` video/headers.c -o i686/video/headers.lo i686-pc-linux-gnu-gcc -fPIC -c `cat i686/c_flags` video/idct.c -o i686/video/idct.lo i686-pc-linux-gnu-gcc -fPIC -c `cat i686/c_flags` video/macroblocks.c -o i686/video/macroblocks.lo i686-pc-linux-gnu-gcc -fPIC -c `cat i686/c_flags` video/mmxtest.c -o i686/video/mmxtest.lo i686-pc-linux-gnu-gcc -fPIC -c `cat i686/c_flags` video/motion.c -o i686/video/motion.lo i686-pc-linux-gnu-gcc -fPIC -c `cat i686/c_flags` video/mpeg3video.c -o i686/video/mpeg3video.lo i686-pc-linux-gnu-gcc -fPIC -c `cat i686/c_flags` video/output.c -o i686/video/output.lo video/output.c:210: warning: integer constant is too large for
Hi, Initially when tried to emerge with "mmx" USE flag the build failed. Next manually switched OFF "mmx" and now it's OK. So (in my case) i need to filter "mmx" in order to compile libmpeg3. Error log is next: ...BEGIN... i686-pc-linux-gnu-gcc -fPIC -c `cat i686/c_flags` video/headers.c -o i686/video/headers.lo i686-pc-linux-gnu-gcc -fPIC -c `cat i686/c_flags` video/idct.c -o i686/video/idct.lo i686-pc-linux-gnu-gcc -fPIC -c `cat i686/c_flags` video/macroblocks.c -o i686/video/macroblocks.lo i686-pc-linux-gnu-gcc -fPIC -c `cat i686/c_flags` video/mmxtest.c -o i686/video/mmxtest.lo i686-pc-linux-gnu-gcc -fPIC -c `cat i686/c_flags` video/motion.c -o i686/video/motion.lo i686-pc-linux-gnu-gcc -fPIC -c `cat i686/c_flags` video/mpeg3video.c -o i686/video/mpeg3video.lo i686-pc-linux-gnu-gcc -fPIC -c `cat i686/c_flags` video/output.c -o i686/video/output.lo video/output.c:210: warning: integer constant is too large for long type video/output.c:212: warning: integer constant is too large for long type video/output.c:214: warning: integer constant is too large for long type video/output.c:301: warning: integer constant is too large for long type video/output.c:303: warning: integer constant is too large for long type video/mpeg3video.c: In function mpeg3video_read_yuvframe_ptr: video/mpeg3video.c:683: warning: pointer targets in assignment differ in signedness video/mpeg3video.c:684: warning: pointer targets in assignment differ in signedness video/mpeg3video.c:685: warning: pointer targets in assignment differ in signedness i686-pc-linux-gnu-gcc -fPIC -c `cat i686/c_flags` video/reconstruct.c -o i686/video/reconstruct.lo i686-pc-linux-gnu-gcc -fPIC -c `cat i686/c_flags` video/seek.c -o i686/video/seek.lo i686-pc-linux-gnu-gcc -fPIC -c `cat i686/c_flags` video/slice.c -o i686/video/slice.lo video/seek.c: In function mpeg3video_seek: video/seek.c:266: warning: integer constant is too large for long type video/seek.c:268: warning: integer constant is too large for long type i686-pc-linux-gnu-gcc -fPIC -c `cat i686/c_flags` video/vlc.c -o i686/video/vlc.lo i686-pc-linux-gnu-gcc -fPIC -c `cat i686/c_flags` workarounds.c -o i686/workarounds.lo video/slice.c: In function mpeg3_decode_slice: video/slice.c:211: error: can't find a register in class BREG while reloading asm make: *** [i686/video/slice.lo] Error 1 make: *** Waiting for unfinished jobs.... !!! ERROR: media-libs/libmpeg3-1.5.2-r3 failed. Call stack: ebuild.sh, line 1532: Called dyn_compile ebuild.sh, line 929: Called src_compile libmpeg3-1.5.2-r3.ebuild, line 56: Called die !!! make failed !!! If you need support, post the topmost build error, and the call stack if relevant. ...END... Seems to be some MMX issue with ASM here. Thanks.Rumen emerge --info: Gentoo Base System version 1.12.0_pre17 Portage 2.1_pre7-r5 (!/usr/portage/profiles/default-linux/x86/2006.0, gcc-4.0.3, glibc-2.4-r1, 2.6.16-gentoo-r3 i686) ================================================================= System uname: 2.6.16-gentoo-r3 i686 AMD Athlon(tm) XP 2200+ dev-lang/python: 2.4.2-r1 sys-apps/sandbox: 1.2.17 sys-devel/autoconf: 2.13, 2.59-r7 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2 sys-devel/binutils: 2.16.1-r2 sys-devel/libtool: 1.5.22 virtual/os-headers: 2.6.11-r5 ACCEPT_KEYWORDS="x86 ~x86" ACCEPT_LICENSE="" ALSA_CARDS="ens1371" ARCH="x86" AUTOCLEAN="yes" BASH_ENV="/etc/spork/is/not/valid/profile.env" CBUILD="i686-pc-linux-gnu" CCACHE_DIR="/var/tmp/ccache" CCACHE_SIZE="2G" CFLAGS="-O2 -march=athlon-xp -pipe -fomit-frame-pointer" CHOST="i686-pc-linux-gnu" CLEAN_DELAY="5" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3/share/config /usr/share/config /var/qmail/control" CONFIG_PROTECT_MASK="/etc/eselect/compiler /etc/gconf /etc/init.d /etc/env.d" CXXFLAGS="-O2 -march=athlon-xp -pipe -fomit-frame-pointer" DISTDIR="/var/portage/distfiles" ELIBC="glibc" EMERGE_DEFAULT_OPTS="--verbose" EMERGE_WARNING_DELAY="10" FEATURES="autoconfig buildpkg ccache collision-protect confcache distlocks enotice gpg parallel-fetch sandbox sfperms userpriv usersandbox" FETCHCOMMAND="/usr/bin/wget -t 5 --passive-ftp -P ${DISTDIR} ${URI}" GENTOO_MIRRORS="http://gentoo.ITDNet.net/gentoo http://mirror.datapipe.net/gentoo" HOME="/home/gentoo" INPUT_DEVICES="keyboard mouse" KERNEL="linux" LINGUAS="en bg pt" LOGNAME="root" MAKEOPTS="-j2" PATH="/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/opt/bin:/usr/i686-pc-linux-gnu/gcc-bin/3.4.4:/usr/kde/3.5/sbin:/usr/kde/3.5/bin:/usr/qt/3/bin:/usr/kde/3.4/sbin:/usr/kde/3.4/bin:/usr/NX/bin:/var/qmail/bin" PKGDIR="/var/portage/packages" PORTAGE_ARCHLIST="ppc s390 amd64 ppc64 x86-fbsd m68k arm sparc sh mips ia64 alpha ppc-macos hppa x86" PORTAGE_BINHOST_CHUNKSIZE="3000" PORTAGE_CALLER="emerge" PORTAGE_ELOG_CLASSES="info warn error log" PORTAGE_ELOG_MAILFROM="portage@qrypto.org" PORTAGE_ELOG_MAILURI="gentoo@mach.qrypto.org localhost" PORTAGE_ELOG_SYSTEM="save mail" PORTAGE_GID="250" PORTAGE_GPG_DIR="/etc/portage/gpg" PORTAGE_INST_GID="0" PORTAGE_INST_UID="0" PORTAGE_MASTER_PID="30138" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude='/distfiles' --exclude='/local' --exclude='/packages'" PORTAGE_RSYNC_RETRIES="3" PORTAGE_TMPDIR="/var/tmp" PORTAGE_TMPFS="/dev/shm" PORTAGE_WORKDIR_MODE="0700" PORTDIR="/var/portage" PORTDIR_OVERLAY="/usr/local/portage /usr/portage/local/layman/ecatmur /usr/portage/local/layman/kolab2 /usr/portage/local/layman/webapps-experimental" PORT_ENOTICE_DIR="/var/enotice/" PORT_LOGDIR="/var/log/portage" PRELINK_PATH="" PRELINK_PATH_MASK="" RESUMECOMMAND="/usr/bin/wget -c -t 5 --passive-ftp -P ${DISTDIR} ${URI}" RPMDIR="/usr/portage/rpm" SEARCH_DIRS_MASK="/usr/lib/openoffice" SHELL="/bin/bash" SUDO_COMMAND="/usr/bin/emerge --info" SUDO_GID="100" SUDO_UID="1000" SUDO_USER="gentoo" SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage" TERM="xterm" USE="x86 3dnow X X509 a52 aac acl acpi alsa apache2 avi bash-completion berkdb bitmap-fonts caps cdb cdr cli crypt cups curl dri dvd dvdr eds encode esd evo exif ffmpeg flac foomaticdb freetype gd gif gnutls gstreamer gtk gtk2 gtkhtml hal iconv imap imlib ipv6 isdnlog ithreads javascript jpeg kdexdeltas lcms libg++ libwww mad maildir matroska mikmod mime mmx motif mp3 mpeg ncurses nls nptl nvidia ogg opengl oss pam pcre pdflib perl png posix ppds pppd prelude python quicktime readline reflection sdl session skey speex spell spl sse ssl svg symlink tcpd theora threads transcode truetype truetype-fonts type1-fonts udev unicode usb vorbis win32codecs xine xml xsl xv xvid zlib elibc_glibc input_devices_keyboard input_devices_mouse kernel_linux linguas_en linguas_bg linguas_pt userland_GNU video_cards_vesa video_cards_fbdev video_cards_nv" USER="root" USERLAND="GNU" USE_EXPAND="DVB_CARDS ELIBC FCDSL_CARDS FRITZCAPI_CARDS INPUT_DEVICES KERNEL LINGUAS USERLAND VIDEO_CARDS" USE_EXPAND_HIDDEN="" USE_ORDER="env:pkg:conf:defaults" VIDEO_CARDS="vesa fbdev nv" XARGS="xargs -r"
Grrrh, this thing is a serious crap... :/ Flameeyes, perhaps related to the latest patch you added?
For me works ok with mmx flag. I got only two deprecated warnings: lvalues and cast. But it compiles. Where did you put the mmx use flag anyway? [ebuild R ] media-libs/libmpeg3-1.5.2-r3 0 kB
Hi, Check with "emerge media-libs/libmpeg3 -pv". Here's my output: [ebuild R ] media-libs/libmpeg3-1.5.2-r3 USE="-mmx" 0 kB Was "mmx" before putting "media-libs/libmpeg3 -mmx" in /etc/portage/package.use HTH.Rumen
It's because I'm forcing -fPIC for the shared library as it should have been. Sigh. Hardened, x86 teams, someone can prepare something about this? :|
Same here, but the error is: video/output.c: In function `mpeg3video_rgb16_mmx': video/output.c:53: error: can't find a register in class `GENERAL_REGS' while reloading `asm' make: *** [i686/video/output.lo] Error 1 Same register thing, though, and removing the mmx flags works. My emerge --info: Portage 2.1_pre7-r5 (default-linux/x86/2006.0, gcc-3.4.6, glibc-2.4-r1, 2.6.16-gentoo-r2 i686) ================================================================= System uname: 2.6.16-gentoo-r2 i686 Intel(R) Pentium(R) 4 CPU 2.66GHz Gentoo Base System version 1.12.0_pre17 dev-lang/python: 2.4.2-r1 sys-apps/sandbox: 1.2.17 sys-devel/autoconf: 2.13, 2.59-r7 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2 sys-devel/binutils: 2.16.1-r2 sys-devel/libtool: 1.5.22 virtual/os-headers: 2.6.11-r5 ACCEPT_KEYWORDS="x86 ~x86" AUTOCLEAN="yes" CBUILD="i686-pc-linux-gnu" CFLAGS="-march=pentium4 -Os -pipe" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/kde/3/share/config /usr/share/X11/xkb /usr/share/config /var/qmail/control" CONFIG_PROTECT_MASK="/etc/eselect/compiler /etc/gconf /etc/revdep-rebuild /etc/terminfo /etc/env.d" CXXFLAGS="-march=pentium4 -Os -pipe" DISTDIR="/var/tmp/distfiles" FEATURES="autoconfig candy distlocks metadata-transfer sandbox sfperms strict" GENTOO_MIRRORS="http://gentoo.inode.at/ http://ftp.rhnet.is/pub/gentoo/ ftp://ftp.rhnet.is/pub/gentoo/ http://ftp.easynet.nl/mirror/gentoo/ ftp://ftp.easynet.nl/mirror/gentoo/ ftp://linux.rz.ruhr-uni-bochum.de/gentoo-mirror/ http://linux.rz.ruhr-uni-bochum.de/download/gentoo-mirror/ ftp://ftp.tu-clausthal.de/pub/linux/gentoo/" LANG="it_IT@euro" LC_ALL="it_IT@euro" LINGUAS="it" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="x86 X aac acpi alsa apache2 apm arts avi berkdb bitmap-fonts bzip2 cdr cli crypt cups dga directfb dri dvd dvdr dvdread eds emboss encode ffmpeg foomaticdb fortran gdbm gif gpm ieee1394 imlib ipv6 isdnlog jpeg kde kdeenablefinal kdexdeltas libg++ libwww mad mbox mikmod mime mmx motif mozilla mp3 mpeg ncurses nls nptl nsplugin offensive ogg opengl pam pcmcia pcre pdflib perl pic png pppd python qt quicktime readline reflection sdl session spell spl sse sse2 ssl symlink tcpd threads tiff truetype truetype-fonts type1-fonts udev usb vorbis wifi win32codecs xine xml xmms xv xvid zlib elibc_glibc input_devices_evdev input_devices_keyboard input_devices_mouse input_devices_synaptics input_devices_penmount kernel_linux linguas_it userland_GNU video_cards_ati video_cards_fbdev video_cards_vesa video_cards_vga" Unset: ASFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LDFLAGS, MAKEOPTS
(In reply to comment #4) > It's because I'm forcing -fPIC for the shared library as it should have been. > Sigh. > > Hardened, x86 teams, someone can prepare something about this? :| Well, fPIC has been intentionally killed here b/c of an identical issue (see Bug 86741). Apparently the code sucked too much to be fixed properly. :=)
*** Bug 130595 has been marked as a duplicate of this bug. ***
BTW, while at it: ;) <snip> * has_pic: deprecated, please use gcc-specs-pie()! </snip>
For me it is more worse. On gcc-4.1 I get this error: i686-pc-linux-gnu-gcc -fPIC -c `cat i686/c_flags` video/slice.c -o i686/video/slice.lo i686-pc-linux-gnu-gcc -fPIC -c `cat i686/c_flags` video/vlc.c -o i686/video/vlc.lo video/slice.c: In Funktion
For me it is more worse. On gcc-4.1 I get this error: i686-pc-linux-gnu-gcc -fPIC -c `cat i686/c_flags` video/slice.c -o i686/video/slice.lo i686-pc-linux-gnu-gcc -fPIC -c `cat i686/c_flags` video/vlc.c -o i686/video/vlc.lo video/slice.c: In Funktion »mpeg3_decode_slice«: video/slice.c:211: Fehler: in der Klasse »BREG« konnte während des Neuladens von »asm« kein Register gefunden werden make: *** [i686/video/slice.lo] Fehler 1 Taking out -mmmx does not help. If I strip down the CFLAGS to -O2 -mtune=pentium-m I get the error mentioned above on both gcc-4.1 and gcc-3.4.5. Portage 2.1_pre7-r5 (default-linux/x86/2005.1, gcc-4.1.0, glibc-2.3.6-r3, 2.6.15-gentoo-r1 i686) ================================================================= System uname: 2.6.15-gentoo-r1 i686 Intel(R) Pentium(R) M processor 1.60GHz Gentoo Base System version 1.6.14 distcc 2.18.3 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [disabled] dev-lang/python: 2.4.2 sys-apps/sandbox: 1.2.12 sys-devel/autoconf: 2.13, 2.59-r7 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r1 sys-devel/binutils: 2.16.1-r2 sys-devel/libtool: 1.5.22 virtual/os-headers: 2.6.11-r2 ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CBUILD="i686-pc-linux-gnu" CFLAGS="-O3 -march=pentium-m -mmmx -msse -msse2 -pipe -fomit-frame-pointer -mfpmath=sse -ftracer -frename-registers -fweb -fno-ident" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/kde/3/share/config /usr/share/X11/xkb /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/eselect/compiler /etc/gconf /etc/revdep-rebuild /etc/splash /etc/terminfo /etc/env.d" CXXFLAGS="-O3 -march=pentium-m -mmmx -msse -msse2 -pipe -fomit-frame-pointer -mfpmath=sse -ftracer -frename-registers -fweb -fno-ident -fvisibility-inlines-hidden" DISTDIR="/usr/portage/distfiles" FEATURES="autoconfig distlocks metadata-transfer prelink sandbox sfperms" GENTOO_MIRRORS="ftp://ftp-stud.fht-esslingen.de/pub/Mirrors/gentoo/ #http://mirrors.sec.informatik.tu-darmstadt.de/gentoo/" LANG="de_DE@euro" LC_ALL="de_DE@euro" LINGUAS="de" MAKEOPTS="-j3" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://192.168.3.1/gentoo-portage" USE="x86 X acpi alsa apache2 arts avi bash-completion berkdb bitmap-fonts bzlib cdr cgi cli crypt ctype cups dba dbus dga directfb divx4linux dri dvd dvdread emboss encode fbcon foomaticdb gd gdbm gif gimp gpm gstreamer gtk gtk2 hal i8x0 imlib imlib2 insecure-drivers ipv6 isdnlog jpeg kde kdeenablefinal lib++ libg++ libwww linguas_de lzw-tiff mad mikmod mmx mmxext mp3 mpeg mpeg4 mplayer mysql ncurses nls nptl nsplugin ogg oggvorbis opengl openssh oss pam pcre pdf pdflib perl php pic png pppd python qt quicktime readline real reflection sdl session spell spl sse sse2 ssl subversion svg tcpd truetype truetype-fonts type1 type1-fonts unicode usb userlocales videos vorbis wifi win32codecs xml xml2 xmms xv xvid zlib elibc_glibc input_devices_keyboard input_devices_mouse input_devices_synaptics kernel_linux userland_GNU video_cards_i915 video_cards_i810" Unset: ASFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LDFLAGS
(In reply to comment #9) > Taking out -mmmx does not help. If I strip down the CFLAGS to -O2 > -mtune=pentium-m I get the error mentioned above on both gcc-4.1 and gcc-3.4.5. You need to remove USE=mmx, not (only) -mmmx from your C[XX]FLAGS...
I am also having the same problem. ~~~~~~emerge error~~~~~~ i686-pc-linux-gnu-gcc -fPIC -c `cat i686/c_flags` video/headers.c -o i686/video/headers.lo i686-pc-linux-gnu-gcc -fPIC -c `cat i686/c_flags` video/idct.c -o i686/video/idct.lo i686-pc-linux-gnu-gcc -fPIC -c `cat i686/c_flags` video/macroblocks.c -o i686/video/macroblocks.lo i686-pc-linux-gnu-gcc -fPIC -c `cat i686/c_flags` video/mmxtest.c -o i686/video/mmxtest.lo i686-pc-linux-gnu-gcc -fPIC -c `cat i686/c_flags` video/motion.c -o i686/video/motion.lo i686-pc-linux-gnu-gcc -fPIC -c `cat i686/c_flags` video/mpeg3video.c -o i686/video/mpeg3video.lo i686-pc-linux-gnu-gcc -fPIC -c `cat i686/c_flags` video/output.c -o i686/video/output.lo i686-pc-linux-gnu-gcc -fPIC -c `cat i686/c_flags` video/reconstruct.c -o i686/video/reconstruct.lo video/output.c:210: warning: integer constant is too large for "long" type video/output.c:212: warning: integer constant is too large for "long" type video/output.c:214: warning: integer constant is too large for "long" type video/output.c:301: warning: integer constant is too large for "long" type video/output.c:303: warning: integer constant is too large for "long" type video/output.c: In function `mpeg3video_ditherframe': video/output.c:722: warning: use of cast expressions as lvalues is deprecated video/output.c:747: warning: use of cast expressions as lvalues is deprecated video/output.c:787: warning: use of cast expressions as lvalues is deprecated video/output.c:812: warning: use of cast expressions as lvalues is deprecated video/output.c: In function `mpeg3video_rgb16_mmx': video/output.c:53: error: can't find a register in class `GENERAL_REGS' while re make: *** [i686/video/output.lo] Error 1 make: *** Waiting for unfinished jobs.... !!! ERROR: media-libs/libmpeg3-1.5.2-r3 failed. Call stack: ebuild.sh, line 1532: Called dyn_compile ebuild.sh, line 929: Called src_compile libmpeg3-1.5.2-r3.ebuild, line 56: Called die !!! make failed !!! If you need support, post the topmost build error, and the call stack if rel ~~~~~~emerge --info~~~~~~ Portage 2.1_pre7-r5 (default-linux/x86/no-nptl, gcc-3.4.6, glibc-2.3.6-r3, 2.6.16-gentoo-r2 i686) ================================================================= System uname: 2.6.16-gentoo-r3 i686 AMD Athlon(TM) XP 2800+ Gentoo Base System version 1.12.0_pre17 dev-lang/python: 2.4.2-r1 sys-apps/sandbox: 1.2.17 sys-devel/autoconf: 2.13, 2.59-r7 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2 sys-devel/binutils: 2.16.1-r2 sys-devel/libtool: 1.5.22 virtual/os-headers: 2.6.11-r5 ACCEPT_KEYWORDS="x86 ~x86" AUTOCLEAN="yes" CBUILD="i686-pc-linux-gnu" CFLAGS="-O2 -march=athlon-xp -pipe" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/kde/3/share/config /usr/share/X11/xkb /usr/share/config /var/qmail/control" CONFIG_PROTECT_MASK="/etc/eselect/compiler /etc/gconf /etc/revdep-rebuild /etc/terminfo /etc/env.d" CXXFLAGS="-O2 -march=athlon-xp -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="autoconfig distlocks metadata-transfer sandbox sfperms strict" GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/linux/distributions/gentoo" LINGUAS="en" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="3dnow 3dnowext X a52 aac aalib akode alsa amr apm arts asf audiofile automount avi berkdb bidi binfilter bitmap-fonts bl bzip2 cairo cddb cdparanoia cdr chroot cli crypt css cups curl dga directfb divx4linux doc dri dts dv dvb dvd dvdr dvdread dvdryy eds emboss encode fame fbcon ffmpeg firebird firefox flac foomaticdb fortran fpx gdbm ggi gif gimp gimpprint glade glut gnutls gphoto2 gpm graphviz gs gtk gtk2 gtkhtml hal hpn httpd ieee1394 imagemagick imlib insecure-savers ipv6 isdnlog jack java javascript jbig joystick jpeg jpeg2k kde kdgraphics libcaca libg++ libwww live logitech-mouse lzo mad matroska mikmod mjpeg mmx mmxext mng mod modplug mono motif mozilla mp3 mp4 mpeg mplayer musepack musicbrainz nas ncurses network nls nsplugin nvidia offensive ogg openal openexr opengl oss pam pcre pdflib perl png pppd python qt quicktime rar readline real reflection rtc rtsp samba scanner screen sdl session shout skins sndfile speex spell spl sse ssl stream subtitles svg svga swat syslog tcpd teamarena tga theora threads tiff truetype truetype-fonts type1-fonts unicode usb userlocales v4l v4l2 vcd via vidix visualization vlm vorbis wifi win32codecs winbind wmf wxwindows x264 x509 x86 xanim xine xml xml2 xmms xosd xscreensaver xv xvid xvmc zlib elibc_glibc input_devices_joystick input_devices_keyboard input_devices_mouse kernel_linux linguas_en userland_GNU video_cards_nvidia" Unset: ASFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, LDFLAGS
Tested with GCC 4.1 AFAIK, -march activates mmx optimization for arches which support it. In other words, the -mmmx flag is implied. So, I tried to compile twice with reduced CFLAGS: CFLAGS="-pipe" Which failed: i686-pc-linux-gnu-gcc -fPIC -c `cat i686/c_flags` video/output.c -o i686/video/output.lo video/output.c: In function 'mpeg3video_rgb16_mmx': video/output.c:53: error: can't find a register in class 'GENERAL_REGS' while reloading 'asm' video/output.c: At top level: video/output.c:210: warning: integer constant is too large for 'long' type video/output.c:212: warning: integer constant is too large for 'long' type video/output.c:214: warning: integer constant is too large for 'long' type video/output.c:301: warning: integer constant is too large for 'long' type video/output.c:303: warning: integer constant is too large for 'long' type i686-pc-linux-gnu-gcc -fPIC -c `cat i686/c_flags` video/reconstruct.c -o i686/video/reconstruct.lo make: *** [i686/video/output.lo] Error 1 make: *** Waiting for unfinished jobs.... and CFLAGS="-fomit-frame-pointer -pipe" I used -fomit-frame-pointer in an effort to free up a register. There was a single case of another package where it worked as a workaround to a compilation failure, so I tested it here. Unfortunately, it didn't work. i686-pc-linux-gnu-gcc -fPIC -c `cat i686/c_flags` video/output.c -o i686/video/output.lo video/output.c: In function 'mpeg3video_rgb16_mmx': video/output.c:53: error: can't find a register in class 'GENERAL_REGS' while reloading 'asm' video/output.c: At top level: video/output.c:210: warning: integer constant is too large for 'long' type video/output.c:212: warning: integer constant is too large for 'long' type video/output.c:214: warning: integer constant is too large for 'long' type video/output.c:301: warning: integer constant is too large for 'long' type video/output.c:303: warning: integer constant is too large for 'long' type i686-pc-linux-gnu-gcc -fPIC -c `cat i686/c_flags` video/reconstruct.c -o i686/video/reconstruct.lo make: *** [i686/video/output.lo] Error 1 make: *** Waiting for unfinished jobs.... You can see the emerge --info below. At the time I tried to compile this package the CFLAGS were as described above, and not as below. Everything else is the same. Portage 2.1_pre7-r5 (default-linux/x86/2005.1, gcc-4.1.0, glibc-2.3.6-r3, 2.6.15-gentoo-r1 i686) ================================================================= System uname: 2.6.15-gentoo-r1 i686 AMD Athlon(tm) XP 2600+ Gentoo Base System version 1.6.14 ccache version 2.3 [disabled] dev-lang/python: 2.3.5-r2, 2.4.2 sys-apps/sandbox: 1.2.12 sys-devel/autoconf: 2.13, 2.59-r7 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r1 sys-devel/binutils: 2.16.1 sys-devel/libtool: 1.5.22 virtual/os-headers: 2.6.11-r2 ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CBUILD="i686-pc-linux-gnu" CFLAGS="-march=athlon-xp -O2 -pipe -fomit-frame-pointer" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/kde/3/share/config /usr/lib/mozilla/defaults/pref /usr/share/X11/xkb /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/eselect/compiler /etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-march=athlon-xp -O2 -pipe -fomit-frame-pointer" DISTDIR="/usr/portage/distfiles" FEATURES="autoconfig distlocks metadata-transfer sandbox sfperms strict" GENTOO_MIRRORS="ftp://mirror.datapipe.net/gentoo http://mirror.datapipe.net/gentoo http://gentoo.seren.com/gentoo ftp://gentoo.chem.wisc.edu/gentoo/" LANG="C" LINGUAS="en pt_BR" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/overlay" SYNC="rsync://portage.cert-id.com.br/portage" USE="x86 3dnow 3dnowext X a52 aac acl acpi alsa apache2 apm arts async authdaemond automount avi berkdb bitmap-fonts bluetooth bootsplash browserplugin bzip2 cairo cdparanoia cdr cjk cli crypt cups curl curlwrappers dba dbase dbus dga dhcp divx4linux doc dri dv dvd dvdr dvdread eds emboss encode examples fbcon firebird firefox flac flash foomaticdb fortran gcj gd gdbm geoip gif gnome gpm gstreamer gtk gtk2 hal iconv imap imlib innodb interbase ipv6 isdnlog jabber java javascript joystick jpeg jpeg2k kde kdeenablefinal kdepim kdexdeltas kerberos ldap ldapsam libclamav libg++ libwww lm_sensors mad madwifi maildir mailwrapper matroska mhash mikmod mmx mmxext motif mozilla mozsvg mp3 mpeg mplayer multislot multitarget mysql mysqli ncurses nls nptl nptlonly nsplugin odbc offensive ogg oggvorbis opengl oss pam pam_chroot pam_console pcre pda pdf pdflib perl php pic png posix postgres povray pppd prelink python qt quicktime rdesktop readline reflection samba sasl sdk sdl session snmp soap sockets speex spell spl sqlite sse ssl subp subversion svg syslog tcpd theora threads tidy tiff tokenizer truetype truetype-fonts type1-fonts unicode utf8 vhosts vorbis wddx wifi win32 win32codecs wmf xine xml xml2 xmms xorg xscreensaver xsl xv xvid yahoo zeroconf zlib elibc_glibc input_devices_aiptek input_devices_joystick input_devices_keyboard input_devices_mouse kernel_linux linguas_en linguas_pt_BR userland_GNU video_cards_ati video_cards_radeon video_cards_fglrx video_cards_fbdev video_cards_vesa" Unset: ASFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LC_ALL, LDFLAGS
People, there's really no need to clutter this bug with tons of "me too" comments, including redundant, virtually identical error logs. Thanks.
same problem
my error is a bit different: video/seek.c: In function ‘mpeg3video_seek’: video/seek.c:266: warning: integer constant is too large for ‘long’ type video/seek.c:268: warning: integer constant is too large for ‘long’ type i686-pc-linux-gnu-gcc -fPIC -c `cat i686/c_flags` video/slice.c -o i686/video/slice.lo video/slice.c: In function ‘mpeg3_decode_slice’: video/slice.c:211: error: can't find a register in class ‘BREG’ while reloading ‘asm’ make: *** [i686/video/slice.lo] Error 1 gcc 4.1.0 of course.
Created attachment 85193 [details, diff] A "dirty bastard" patch This is the official "Not good" way to fix the problem... Apply to ebuild to remove the fPIC, since dear x86 has not enough regs to support it with this package... This should only be done on x86 (others should not have the problems...)
@Pierre Poissinger : can you modify that patch to sed Makefile only when "mmx is used AND arch is x86" ? So the patch would be generic...
Created attachment 85289 [details, diff] Dirty bastard ebuild patch v2 as requested in comment #17 (added test for x86)
Me Too(TM): Portage 2.1_pre9-r4 (default-linux/x86/2006.0, gcc-3.4.6, glibc-2.3.6-r3, 2.6.17-rc1-mm3 i686) ================================================================= System uname: 2.6.17-rc1-mm3 i686 AMD Athlon(TM) XP 1800+ Gentoo Base System version 1.12.0_pre18 distcc 2.18.3 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [enabled] ccache version 2.4 [enabled] dev-lang/python: 2.3.5, 2.4.2-r1 sys-apps/sandbox: 1.2.17 sys-devel/autoconf: 2.13, 2.59-r7 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2 sys-devel/binutils: 2.16.1-r2 sys-devel/libtool: 1.5.22 virtual/os-headers: 2.6.11-r5 ACCEPT_KEYWORDS="x86 ~x86" AUTOCLEAN="yes" CBUILD="i686-pc-linux-gnu" CFLAGS="-O2 -march=athlon-xp -pipe" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/kde/3/share/config /usr/lib/mozilla/defaults/pref /usr/share/X11/xkb /usr/share/config /var/qmail/control" CONFIG_PROTECT_MASK="/etc/eselect/compiler /etc/gconf /etc/revdep-rebuild /etc/terminfo /etc/env.d" CXXFLAGS="-O2 -march=athlon-xp -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="autoconfig ccache collision-protect distcc distlocks metadata-transfer sandbox sfperms strict" GENTOO_MIRRORS="http://gentoo.chem.wisc.edu/gentoo/ ftp://gentoo.chem.wisc.edu/gentoo/" MAKEOPTS="-j4" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.namerica.gentoo.org/gentoo-portage" USE="x86 3dnow X alsa am apache2 apm avi berkdb bitmap-fonts bzip2 cdr chroot cli crypt dri dv dvd dvdr eds emboss encode foomaticdb fortran gdbm gif gnome gpm gstreamer gtk gtk2 hal imlib isdnlog jpeg kde kdeenablefinal libg++ libwww mad mikmod mmx motif mp3 mpeg ncurses nls nptl ogg oggvorbis opengl oss pam pcre pdflib perl png pppd pwdb python qt quicktime readline reflection sdl session spell spl sse ssl tiff truetype truetype-fonts type1-fonts udev vorbis xml xmms xorg xv zlib elibc_glibc input_devices_keyboard input_devices_mouse kernel_linux userland_GNU video_cards_nvidia" Unset: ASFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, LDFLAGS, LINGUAS
Modifying the ebuild allows libmpeg3 to compile with USE=mmx here, and DirectFB and transcode both compile against it. Transcode seems to work (after a very limited amount of testing), but I'm not able to test DirectFB. emerge --info Portage 2.1_pre9-r4 (default-linux/x86/2005.1, gcc-4.1.0, glibc-2.4-r1, 2.6.16-gentoo-r3 i686) ================================================================= System uname: 2.6.16-gentoo-r3 i686 Intel(R) Pentium(R) M processor 1.86GHz Gentoo Base System version 1.12.0_pre18 ccache version 2.4 [enabled] dev-lang/python: 2.4.2-r1 sys-apps/sandbox: 1.2.17 sys-devel/autoconf: 2.13, 2.59-r7 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2 sys-devel/binutils: 2.16.1-r2 sys-devel/libtool: 1.5.22 virtual/os-headers: 2.6.11-r5 ACCEPT_KEYWORDS="x86 ~x86" AUTOCLEAN="yes" CBUILD="i686-pc-linux-gnu" CFLAGS="-O2 -march=pentium3 -pipe -fomit-frame-pointer" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3/share/config /usr/share/X11/xkb /usr/share/config /var/qmail/control" CONFIG_PROTECT_MASK="/etc/eselect/compiler /etc/gconf /etc/revdep-rebuild /etc/terminfo /etc/texmf/web2c /etc/env.d" CXXFLAGS="-O2 -march=pentium3 -pipe -fomit-frame-pointer" DISTDIR="/usr/portage/distfiles" FEATURES="autoconfig ccache distlocks metadata-transfer sandbox sfperms strict" GENTOO_MIRRORS="ftp://www.mirrorservice.org/sites/www.ibiblio.org/gentoo/ http://ftp.mirrorservice.org/sites/www.ibiblio.org/gentoo/ ftp://gentoo.blueyonder.co.uk http://mirrors.blueyonder.co.uk/mirrors/gentoo" LC_ALL="en_GB.utf8" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="x86 X a52 aac aalib acpi alsa asf audiofile avahi avi bash-completion berkdb bitmap-fonts bzip2 cdda cddb cdparanoia cdr cjk cli crypt cscope cups curl daap dbus directfb dllloader dri dvd dvdr emboss encode fbcon ffmpeg firefox flac foomaticdb fortran ftp gdbm gif glut gpm graphviz gstreamer gtk2 hal imagemagick imap isdnlog jack jpeg lcms libcaca libg++ libwww live lua mad maildir matroska mbox mikmod mmx mng motif mp3 mp4 mpeg ncurses nls nptl nptlonly ogg oggvorbis opengl pam pcre pdf pdflib perl png pppd python quicktime readline real reflection ruby samba sdl session spell spl sse sse2 ssl svg svga tcpd theora tiff truetype truetype-fonts type1-fonts unicode userlocales vcd vidix vorbis win32codecs x264 xorg xv xvid xvmc zlib elibc_glibc input_devices_keyboard input_devices_mouse kernel_linux userland_GNU video_cards_radeon video_cards_fglrx video_cards_vesa video_cards_ati" Unset: ASFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LDFLAGS, LINGUAS
The -fPIC option removed by the patch from comment #8 was added in the first place by files/libmpeg3-1.5.2-a52.patch, which according to the ChangeLog is a fix to bug #130428. This bug however is tagged as amd64 only, while this bug here is tagged x86 only. How about applying that patch only for amd64 or at least not for x86? I disabled the a52 patch, and now I have only an executable stacks QA to worry about. Bug #86741 might be related to this issue, although it's about -r1 and closed. If executable stacks are not acceptable, another approach would be to just discard the mmx USE flag in the ebuild for the time being, and reactivate it when this issue has been resolved more cleanly.
(In reply to comment #21) Erm, like - no need to reinvent the wheel here, people. -fPIC was disabled for x86 in previous versions (see Bug 86741), now it got enabled and the thing broke on x86. So, how about reverting the change? (No idea how executable stacks are relevant here, really).
Created attachment 85384 [details, diff] The dirty x86 ebuild patch cf comment #21 - skip a52 for "short" on regs arch (aka x86)
(In reply to comment #21) > The -fPIC option removed by the patch from comment #8 was added in the first > place by files/libmpeg3-1.5.2-a52.patch, which according to the ChangeLog is a > fix to bug #130428. This bug however is tagged as amd64 only, while this bug > here is tagged x86 only. How about applying that patch only for amd64 or at > least not for x86? Just posted a patch for this great idea :) > I disabled the a52 patch, and now I have only an executable stacks QA to worry > about. Bug #86741 might be related to this issue, although it's about -r1 and > closed. Same here > If executable stacks are not acceptable, another approach would be to just > discard the mmx USE flag in the ebuild for the time being, and reactivate it > when this issue has been resolved more cleanly. IMHO, Removing mmx coz x86 has not enought regs is not a good thing(TM) (and since -fPIC is not critical on this arch)... (And actually, I don't want to see Linus T. posting about "Compilation Nazi" on Gentoo dev...)
Moving to x86 as that's an arch team problem. Anyway, I've added in revision 1.3 a patch from PaX Team that solves the problem with non-PIC-aware code and textrels, that might fix the starvation problem, too. Disabling PIC again for x86 is _not_ an acceptable solution for portage.
(In reply to comment #25) This is why I spoke about "dirty"... I start to know that gentoo don't like to remove a -fPIC... but speaking about removing a feature for fPIC is still too much for me... Now, the good news is the rev 1.3 is compiling fine with the -fPIC on my short regs cpu ;)
Okay, let's call this fixed unless proved wrong then :) Thanks again to PaX Team for the patch.
For me, nothing has changed. Libmpeg3-1.5.2-r3 still fails to compile. So I disabled use=mmx and it compiles.
On my machine the patched version does not compile unless I remove "-fforce-addr" from my CFLAGS. So it may be a CFLAGS related issue.
-r3 compiled succesfully on my machine, using gcc-4.1 and the conservative CFLAGS="-march=athlon-xp -O2 -pipe". Thus, i tested my agresive CFLAGS="-march=athlon-xp -O2 -pipe -fforce-addr -falign-functions=64 -fprefetch-loop-arrays -ftree-vectorize", and it compiled too, without problems. Note that -fforce-addr is in there...
(In reply to comment #30) I can't reproduce any -fforce-addr issue either (gcc-4.1) CFLAGS="-march=athlon-xp -O2 -pipe -fomit-frame-pointer -fforce-addr -ftree-vectorize"
It looks like the combination of "-fforce-addr" and "-finline-functions" results in compile failure. Remove either works.
(In reply to comment #32) > It looks like the combination of "-fforce-addr" and "-finline-functions" > results in compile failure. Remove either works. Easy fix - remove -finline-functions just from your CFLAGS. Closing. ;)
Compilation of v.1.5.2 with gcc-4.1.1 fails here: gcc -c `cat i686/c_flags` video/mpeg3video.c -o i686/video/mpeg3video.o gcc -c `cat i686/c_flags` video/output.c -o i686/video/output.o video/output.c:210: warning: integer constant is too large for
Compilation of v.1.5.2 with gcc-4.1.1 fails here: gcc -c `cat i686/c_flags` video/mpeg3video.c -o i686/video/mpeg3video.o gcc -c `cat i686/c_flags` video/output.c -o i686/video/output.o video/output.c:210: warning: integer constant is too large for long type video/output.c:212: warning: integer constant is too large for long type video/output.c:214: warning: integer constant is too large for long type video/output.c:301: warning: integer constant is too large for long type video/output.c:303: warning: integer constant is too large for long type video/output.c: In function mpeg3video_ditherframe: video/output.c:722: error: invalid lvalue in increment video/output.c:747: error: invalid lvalue in increment video/output.c:787: error: invalid lvalue in increment video/output.c:812: error: invalid lvalue in increment make: *** [i686/video/output.o] Error 1 !!! ERROR: media-libs/libmpeg3-1.5.2 failed. Call stack: ebuild.sh, line 1539: Called dyn_compile ebuild.sh, line 939: Called src_compile libmpeg3-1.5.2.ebuild, line 59: Called die emerge --info: Portage 2.1_rc4 (default-linux/x86/2006.0, gcc-4.1.1, glibc-2.3.6-r3, 2.6.16-gentoo-r9 i686) ================================================================= System uname: 2.6.16-gentoo-r9 i686 AMD Athlon(tm) XP 2600+ Gentoo Base System version 1.6.14 ccache version 2.4 [enabled] dev-lang/python: 2.3.5-r2, 2.4.2 dev-python/pycrypto: 2.0.1-r5 dev-util/ccache: 2.4-r1 dev-util/confcache: [Not Present] sys-apps/sandbox: 1.2.17 sys-devel/autoconf: 2.13, 2.59-r7 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r1 sys-devel/binutils: 2.16.1-r2 sys-devel/libtool: 1.5.22 virtual/os-headers: 2.6.11-r2 ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CBUILD="i686-pc-linux-gnu" CFLAGS="-O2 -march=athlon-xp -fomit-frame-pointer -pipe" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/lib/mozilla/defaults/pref /usr/share/X11/xkb /usr/share/config" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/texmf/web2c /etc/env.d" CXXFLAGS="-O2 -march=athlon-xp -fomit-frame-pointer -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="autoconfig ccache distlocks metadata-transfer sandbox sfperms strict" GENTOO_MIRRORS="http://gentoo.chem.wisc.edu/gentoo/ http://cudlug.cudenver.edu/gentoo/ http://gentoo.mirrors.pair.com/ http://mirror.datapipe.net/gentoo http://linux.rz.ruhr-uni-bochum.de/download/gentoo-mirror/ ftp://ftp.join.uni-muenster.de/pub/linux/distributions/gentoo http://mirrors.sec.informatik.tu-darmstadt.de/gentoo/ http://ftp-stud.fht-esslingen.de/pub/Mirrors/gentoo/ http://ftp.ntua.gr/pub/linux/gentoo/ http://gentoo.math.bme.hu http://ftp.heanet.ie/pub/gentoo/ http://ftp.snt.utwente.nl/pub/os/linux/gentoo http://mirror.gentoo.no/ http://mirror.isp.net.au/pub/gentoo/ http://gentoo.osuosl.org/ http://adelie.polymtl.ca/" PKGDIR="/usr/portage/packages" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude='/distfiles' --exclude='/local' --exclude='/packages'" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="x86 3dnow 3dnowext X a52 acl acpi alsa apache2 apm arts artswrappersuid asf avi bash-completion berkdb bitmap-fonts bluetooth bzip2 bzlib cairo caps cdr chm cli crypt css ctype cups curl dba dbus dlloader dmi doc dri dts dvd dvdr dvdread eds effects emboss encode esd examples exif expat fam fbcon ffmpeg firefox flac flatfile foomaticdb fortran ftp gd gdbm gif gimp gimpprint glx gmp gnome gnomedb gnutls gphoto2 gpm gstreamer gtk gtk2 hal hddtemp howl iconv imagemagick imap imlib innodb isdnlog jabber java javascript jpeg jpeg2k kde kdeenablefinal ldap libg++ libsamplerate libwww lm_sensors mad maildir mailwrapper mhash mikmod mime mmx mmxext motif mozdevelop mozilla mozsvg mp3 mpeg mplayer mpm-worker mysql mysqli ncurses nls nodrm nomalloccheck nptl nptlonly nsplugin nvidia objc odbc offensive ogg opengl pam pcntl pcre pdf pdflib pear perl php pic plugin png posix postgres postgresi ppds pppd python qt quicktime rar rdesktop readline recode reflection ruby samba sasl scanner sdl server session slang sndfile soap sockets speex spell spl spreadsheet sqlite sse ssl subtitles subversion svga symlink tcltk tcpd tetex threads tidy tiff tokenizer truetype truetype-fonts type1-fonts udev unicode usb userlocales utf8 vda visualization vorbis win32codecs wmf wv wxgtk1 xine xml xmlreader xmlrpc xmlwriter xmms xorg xpm xprint xscreensaver xsl xv xvid xvmc zip zlib elibc_glibc input_devices_keyboard input_devices_mouse kernel_linux userland_GNU video_cards_nvidia" Unset: CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, LDFLAGS, LINGUAS, MAKEOPTS, PORTAGE_RSYNC_EXTRA_OPTS
(In reply to comment #34) > video/output.c:722: error: invalid lvalue in increment > video/output.c:747: error: invalid lvalue in increment > video/output.c:787: error: invalid lvalue in increment > video/output.c:812: error: invalid lvalue in increment > make: *** [i686/video/output.o] Error 1 Unrelated, file a *new* bug.
(In reply to comment #34) > Compilation of v.1.5.2 with gcc-4.1.1 fails here: > > gcc -c `cat i686/c_flags` video/mpeg3video.c -o i686/video/mpeg3video.o > gcc -c `cat i686/c_flags` video/output.c -o i686/video/output.o > video/output.c:210: warning: integer constant is too large for
(In reply to comment #34) > Compilation of v.1.5.2 with gcc-4.1.1 fails here: > > gcc -c `cat i686/c_flags` video/mpeg3video.c -o i686/video/mpeg3video.o > gcc -c `cat i686/c_flags` video/output.c -o i686/video/output.o > video/output.c:210: warning: integer constant is too large for long type > video/output.c:212: warning: integer constant is too large for long type > video/output.c:214: warning: integer constant is too large for long type > video/output.c:301: warning: integer constant is too large for long type > video/output.c:303: warning: integer constant is too large for long type i don't understand these warnings, e.g., the first one is about pand %12 with %12 = "m" (mpeg3_MMX_00FFw) where static unsigned long long mpeg3_MMX_00FFw = 0x00ff00ff00ff00ffULL; the generated asm is correct as far as i can tell: 21bd: 0f db b3 78 00 00 00 pand 0x78(%ebx),%mm6 since $ readelf -s i686/video/output.lo | grep 78 20: 00000078 8 OBJECT LOCAL DEFAULT 3 mpeg3_MMX_00FFw that is, the 'pand' uses PIC addressing to load an 8-byte object (unsigned long long is 8 bytes on i386). now this was with gcc 3.4.6, maybe 4.x generates different code? can someone post the corresponding disasm please? > video/output.c: In function mpeg3video_ditherframe: > video/output.c:722: error: invalid lvalue in increment > video/output.c:747: error: invalid lvalue in increment > video/output.c:787: error: invalid lvalue in increment > video/output.c:812: error: invalid lvalue in increment > make: *** [i686/video/output.o] Error 1 i don't know how you got these line numbers but i think they're the same i saw in some media lib (whose name i can't recall unfortunately), it's the macro STORE_PIXEL_RGB565 that has a cast on the lvalue. that lib already has it fixed, so maybe a grep in portage will locate it quickly.
(In reply to comment #36) > (In reply to comment #34) > > Compilation of v.1.5.2 with gcc-4.1.1 fails here: This is already fixed in -r3, no need to worry here. :)
*** Bug 142867 has been marked as a duplicate of this bug. ***