Summary: | emerge xscreensaver fails because of flurry.h flurry.c | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Alessandro Ronchi <alessandro.ronchi> |
Component: | Current packages | Assignee: | PPC Porters <ppc> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | desktop-misc, niv |
Priority: | High | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Attachments: |
This patch solves the problem, but eliminate some altivec code: is that a problem?
This is the correct patch, sorry. |
Description
Alessandro Ronchi
2004-12-01 05:38:50 UTC
If I delete some altivec controls the file compiles cleanly. I upload a patch (I'll submit it also to xscreensaver author). Created attachment 45236 [details, diff]
This patch solves the problem, but eliminate some altivec code: is that a problem?
Created attachment 45238 [details, diff]
This is the correct patch, sorry.
This bug is definitely related to gcc-3.4.3 as I can't replicate it on gcc-3.4.1. Adding: #define __GLCODE__ +#if __VEC__ + #include <altivec.h> +#endif #include <GL/glu.h> Fixes the altivec errors above. Next, for some reason (stuffed up gcc?) the vec_abs macro doesn't want to compile correctly. This can be fixed by commenting out -std=c89 and -U__STRICT_ANSI__ from the makefile. After changing this, it errors out on: temp = vec_madd(mn, (vector float)(-0.6875), temp); Saying that gcc can't convert value to a vector, and that's about where I stopped. Any ideas? *** Bug 69916 has been marked as a duplicate of this bug. *** the simplest solution is to disable altivec for xscreensaver. flurry isn't altivec ready and requires a configure patch to figure out witch altivec support (fsf or motorola convention), not to mention some fixes in the code (correct cast to vector variable using {} instead () on fsf-gcc, altivec.h inclusion, do not force old c standard if you are using something that isn't even standard...) Looks like Luca already added a work-around to the ebuild. Reopen if there are still problems. |