Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 260287 - x11-libs/pixman-0.1{2,4}.0 with sse2-useflag needs GCC 4.2 or higher
Summary: x11-libs/pixman-0.1{2,4}.0 with sse2-useflag needs GCC 4.2 or higher
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Gentoo X packagers
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-02-25 19:00 UTC by Johannes Rauh
Modified: 2009-03-26 02:13 UTC (History)
13 users (show)

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


Attachments
emerge --info (emerge.info,10.19 KB, text/plain)
2009-03-04 11:04 UTC, Johannes Rauh
Details
rework USE flag handling in x11-libs/pixman (patch,3.31 KB, patch)
2009-03-22 23:56 UTC, Rémi Cardona (RETIRED)
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Johannes Rauh 2009-02-25 19:00:14 UTC
When upgrading pixman from 0.10.0 to 0.12.0 (during emerge -avuD --reinstall changed-use world), emerge stops with an error that it needs gcc 4.2 or higher.



Reproducible: Always

Steps to Reproduce:
Emerge pixman-0.12.0 with useflag +sse2

Actual Results:  
 * Messages for package x11-libs/pixman-0.12.0:

 * SSE2 instructions require GCC 4.2 or higher. Either use
 * GCC 4.2 or higher or USE='-sse2'
 *
 * ERROR: x11-libs/pixman-0.12.0 failed.
 * Call stack:
 *               ebuild.sh, line   49:  Called pkg_setup
 *    pixman-0.12.0.ebuild, line   28:  Called die
 * The specific snippet of code:
 *                      die "SSE2 instructions require GCC 4.2 or higher"
 *  The die message:
 *   SSE2 instructions require GCC 4.2 or higher
 *
 * If you need support, post the topmost build error, and the call stack if relevant.
 * A complete build log is located at '/var/tmp/portage/x11-libs/pixman-0.12.0/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/portage/x11-libs/pixman-0.12.0/temp/die.env'.
 *




I'm using gcc-4.1.2 at the moment.
Comment 1 Lars Wendler (Polynomial-C) (RETIRED) gentoo-dev 2009-02-25 19:08:41 UTC
Reassigning to maintainer-needed...
Comment 2 Lars Wendler (Polynomial-C) (RETIRED) gentoo-dev 2009-02-26 15:19:49 UTC
Crap, this belongs to X11 herd. Sorry, I confused this with media-libs/libpixman...
Comment 3 Pacho Ramos gentoo-dev 2009-02-27 19:59:05 UTC
Same here, maybe a warning should be shown instead of dying...
Comment 4 Lars Wendler (Polynomial-C) (RETIRED) gentoo-dev 2009-03-04 03:44:43 UTC
Could you post your "emerge --info" please?
Comment 5 Johannes Rauh 2009-03-04 11:04:01 UTC
Created attachment 183873 [details]
emerge --info
Comment 6 René 'Necoro' Neumann 2009-03-16 18:22:07 UTC
Why is this done like this. And not with a normal dependency?

DEPEND="sse2? ( >=gcc-4.2 )"

or something alike?
Comment 7 Alex Barker 2009-03-16 19:22:35 UTC
Umm this package was marked stable without addressing this issue.

stable USE="+sse2" x11-libs/pixman-0.12.0 requires unstable >=sys-devel/gcc-4.2

Only happens if use x86;



Comment 8 Peter Alfredsen (RETIRED) gentoo-dev 2009-03-16 19:25:40 UTC
This is probably not the best way to express dependencies, but what we need right now is for x86 herd to package.use.mask sse2 use flag in their profile -- this bug breaks stable. Please re-assign to x11@gentoo.org when finished:

=x11-libs/pixman-0.12.0 sse2

        if use x86; then
                if use sse2 && ! $(version_is_at_least "4.2" "$(gcc-version)"); then
                        eerror "SSE2 instructions require GCC 4.2 or higher. Either use"
                        eerror "GCC 4.2 or higher or USE='-sse2'"
                        die "SSE2 instructions require GCC 4.2 or higher"
                fi
        fi
Comment 9 Raúl Porcel (RETIRED) gentoo-dev 2009-03-20 20:03:53 UTC
Package.use.masked
Comment 10 martin holzer 2009-03-22 10:53:36 UTC
who added this hard coded die and why ?

this is a blocker and needs to be fixed asap
Comment 11 Rémi Cardona (RETIRED) gentoo-dev 2009-03-22 23:56:38 UTC
Created attachment 185922 [details, diff]
rework USE flag handling in x11-libs/pixman

(In reply to comment #10)
> who added this hard coded die and why ?

All the files are still in portage along with a proper ChangeLog. You could have kept your snappy comment and done the detective work yourself.

> this is a blocker and needs to be fixed asap

We're not sock puppets. Don't treat us as such. I work on this because I enjoy it. Reading your comments is taking one of the very few incentives I have: working with kind people.


Now, back to the problem at hand. Here's a patch that (I think) should work properly for all use cases.

 - it gets rid of the unused "sse" USE flag.
 - it changes the "die" into an "ewarn" and builds pixman without sse2 support (similar to busybox with USE="pam static")

@Donnie, what say you?

Thanks
Comment 12 Donnie Berkholz (RETIRED) gentoo-dev 2009-03-23 19:09:58 UTC
Looks good. I prefer avoiding the die's, so that's a plus.
Comment 13 Alex Barker 2009-03-24 05:00:55 UTC
(In reply to comment #12)
> Looks good. I prefer avoiding the die's, so that's a plus.
> 

Agreed, Much more elegant solution.

Thanks
Comment 14 Rémi Cardona (RETIRED) gentoo-dev 2009-03-24 12:55:02 UTC
I've committed a bigger patch which also solves another USE flag issue. 0.14.0-r1 now just passes --disable-sse2 if an older gcc is found.

Closing fixed

Thanks