Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 107209 - Avidemux-2.0.42-r1 fails to compile with "altivec" flag set
Summary: Avidemux-2.0.42-r1 fails to compile with "altivec" flag set
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: PPC Linux
: High normal (vote)
Assignee: PPC Porters
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-09-25 13:45 UTC by Tommaso Mazzoni
Modified: 2007-01-06 16:24 UTC (History)
2 users (show)

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


Attachments
Fixes OSX style altivec vectors (altivec.patch,2.86 KB, patch)
2006-01-08 00:05 UTC, Joe Jezak (RETIRED)
Details | Diff
Final patch, fixes gcc-4 breakage and the altivec issues (altivec.patch,9.15 KB, patch)
2006-07-08 15:15 UTC, Joe Jezak (RETIRED)
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Tommaso Mazzoni 2005-09-25 13:45:19 UTC
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
Comment 1 Matti Bickel (RETIRED) gentoo-dev 2005-10-04 07:27:22 UTC
Confirmed for another G4.
Comment 2 Joe Jezak (RETIRED) gentoo-dev 2006-01-08 00:05:05 UTC
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. :)
Comment 3 Tommaso Mazzoni 2006-01-25 02:40:23 UTC
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...
Comment 4 Joe Jezak (RETIRED) gentoo-dev 2006-01-25 05:59:28 UTC
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.
Comment 5 Joe Jezak (RETIRED) gentoo-dev 2006-07-08 15:15:06 UTC
Created attachment 91244 [details, diff]
Final patch, fixes gcc-4 breakage and the altivec issues
Comment 6 Joe Jezak (RETIRED) gentoo-dev 2006-07-08 16:09:36 UTC
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