When I do "emerge -va avidemux" on my 1.2GHz 1GB Mac Mini this is what I obtain: [ebuild N ] media-video/avidemux-2.0.42-r1 +a52 +aac +alsa +altivec -arts -encode +mad +nls -oss -sdl +truetype -vorbis +xv +xvid Then the configure part starts and shows [...] Altivec : yes PPC : yes [...] But then the compilation halts at this point: powerpc-unknown-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I. -I../.. -I../.. -DHAVE_AV_CONFIG_H -I/usr/include/malloc -O2 -pipe -mcpu=7450 -mtune=7450 -maltivec -mabi=altivec -mpowerpc-gfxopt -fomit-frame-pointer -c postprocess.c postprocess.c:110:1: warning: "memalign" redefined postprocess.c:100:1: warning: this is the location of the previous definition In file included from postprocess.c:618: postprocess_altivec_template.c: In function `horizX1Filter_altivec': postprocess_altivec_template.c:1231: error: can't convert between vector values of different size postprocess_altivec_template.c:1232: error: can't convert between vector values of different size postprocess_altivec_template.c:1233: error: can't convert between vector values of different size postprocess_altivec_template.c:1234: error: can't convert between vector values of different size postprocess_altivec_template.c:1236: error: can't convert between vector values of different size In file included from postprocess.c:619: postprocess_template.c: In function `vertX1Filter_altivec_template': postprocess_template.c:516: error: can't convert between vector values of different size make[3]: *** [postprocess.o] Error 1 make[3]: Leaving directory `/var/tmp/portage/avidemux-2.0.42-r1/work/avidemux-2.0.42/adm_lavcodec/libpostproc' make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory `/var/tmp/portage/avidemux-2.0.42-r1/work/avidemux-2.0.42/adm_lavcodec' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/var/tmp/portage/avidemux-2.0.42-r1/work/avidemux-2.0.42' make: *** [all] Error 2 Reproducible: Always Steps to Reproduce: 1. Setup Gentoo Linux on a Mac Mini 2. Setup X11 and Kde 3. emerge -va avidemux Actual Results: Compilation halts Expected Results: Compilation should succeed Portage 2.0.52-r1 (default-linux/ppc/2005.1/ppc/G4, gcc-3.4.4, glibc-2.3.5-r1, 2.6.13-gentoo-r2 ppc) ================================================================= System uname: 2.6.13-gentoo-r2 ppc 7447A, altivec supported Gentoo Base System version 1.12.0_pre8 dev-lang/python: 2.3.5, 2.4.1-r1 sys-apps/sandbox: 1.2.13 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 sys-devel/binutils: 2.16.1 sys-devel/libtool: 1.5.20 virtual/os-headers: 2.6.11-r2 ACCEPT_KEYWORDS="ppc ~ppc" AUTOCLEAN="yes" CBUILD="powerpc-unknown-linux-gnu" CFLAGS="-O2 -pipe -mcpu=7450 -mtune=7450 -maltivec -mabi=altivec -mpowerpc-gfxopt -fomit-frame-pointer -fprefetch-loop-arrays -falign-functions=4 -fforce-mem -funroll-loops -fno-strict-aliasing" CHOST="powerpc-unknown-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.4/env /usr/kde/3.4/share/config /usr/kde/3.4/shutdown /usr/kde/3/share/config /usr/lib/X11/xkb /usr/share/config /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-O2 -pipe -mcpu=7450 -mtune=7450 -maltivec -mabi=altivec -mpowerpc-gfxopt -fomit-frame-pointer" DISTDIR="/usr/portage/distfiles" FEATURES="autoconfig distlocks sandbox sfperms strict" GENTOO_MIRRORS="http://pandemonium.tiscali.de/pub/gentoo/ http://ftp-stud.fht-esslingen.de/pub/Mirrors/gentoo/ http://ftp.uni-erlangen.de/pub/mirrors/gentoo http://mirror.switch.ch/ftp/mirror/gentoo/" LINGUAS="en it" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage" USE="ppc X a52 aac aalib alsa altivec berkdb bitmap-fonts bluetooth bzip2 cdr cjk crypt cups directfb dts dvb dvd dvdr dvdread eds emboss esd fam fame fbcon ffmpeg fortran freetype ftp gd ggi gif gpm gstreamer gtk gtk2 ieee1394 ipv6 java jikes jpeg kde kdeenablefinal kdexdeltas ldap libwww live logitech-mouse mad mime mjpeg mozilla mp3 mpeg mysql ncurses nls nptl nptlonly oggvorbis opengl pam pdflib perl png python qt readline sdk spell ssl svg symlink tcpd tiff truetype truetype-fonts type1-fonts unicode userlocales v4l v4l2 wmf xine xml2 xosd xv xvid zeroconf zlib video_cards_radeon linguas_en linguas_it userland_GNU kernel_linux elibc_glibc" Unset: ASFLAGS, CTARGET, LANG, LC_ALL, LDFLAGS
Confirmed for another G4.
Created attachment 76500 [details, diff] Fixes OSX style altivec vectors This patch fixes the OSX style altivec vectors that were causing the breakage above. However, I ran into another issue after fixing this, the gcc attribute "always_inline" in altivec.h is screwing up and the compile fails. I can't see why, but it's probably because it's too late at night. :)
Thanks for the patch! To solve inline problem I edited the file /usr/lib/gcc/powerpc-unknown-linux-gnu/3.4.4/include/altivec.h and removed all the "__attribute__ ((always_inline))" definitions in the "Prototypes for builtins that take literals" section. Now avidemux compiles and works well.As to the above change, I don't know how it will influence the overall system performance or future compilation...
This bug should not be closed, it's still broken in the portage tree. I'm glad it worked for you, but that's not a good solution to the problem and may cause other issues in the future.
Created attachment 91244 [details, diff] Final patch, fixes gcc-4 breakage and the altivec issues
Committed to cvs. We need to consider this version for stable as well since 2.0.24 isn't ported to modular X yet. :p