Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 337712 - dev-lang/php-5.3.3-r1 conflict with USE="imap"
Summary: dev-lang/php-5.3.3-r1 conflict with USE="imap"
Status: RESOLVED LATER
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: AMD64 Linux
: High normal (vote)
Assignee: PHP Bugs
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-09-16 22:17 UTC by Agostino Sarubbo
Modified: 2010-10-08 17:25 UTC (History)
1 user (show)

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


Attachments
emerge --info (fi,22.46 KB, text/plain)
2010-09-18 09:20 UTC, Agostino Sarubbo
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Agostino Sarubbo gentoo-dev 2010-09-16 22:17:48 UTC
E2160 ago # ACCEPT_KEYWORDS="~amd64" emerge -DuNpv php

These are the packages that would be merged, in order:

Calculating dependencies... done!

emerge: there are no ebuilds built with USE flags to satisfy "=dev-lang/php-5.3.3-r1[-imap,-mysql,-mysqli]".
!!! One of the following packages is required to complete your request:
- dev-lang/php-5.3.3-r1 (Change USE: -imap)
(dependency required by "dev-lang/php-5.3.3-r1" [ebuild])
(dependency required by "php" [argument])

Now i change in p.use php with -imap but....

E2160 ago # ACCEPT_KEYWORDS="~amd64" emerge -DuNpv php

These are the packages that would be merged, in order:

Calculating dependencies... done!

emerge: there are no ebuilds built with USE flags to satisfy "=dev-lang/php-5.3.3-r1[imap]".
!!! One of the following packages is required to complete your request:
- dev-lang/php-5.3.3-r1 (Change USE: +imap)
(dependency required by "dev-lang/php-5.3.3-r1" [ebuild])
(dependency required by "php" [argument])



In the first phase, portage tells me to change php with -imap. Once changed, it suggests to me the opposite

Reproducible: Always
Comment 1 Robin Johnson archtester Gentoo Infrastructure gentoo-dev Security 2010-09-18 00:34:10 UTC
1. Please include your emerge --info output.
2. What installed packages do you have that bring in PHP?
Comment 2 Agostino Sarubbo gentoo-dev 2010-09-18 09:20:05 UTC
Created attachment 247759 [details]
emerge --info

Of course all the other stations I can install php. This is considered a test
machine, which is why this came out
Comment 3 Agostino Sarubbo gentoo-dev 2010-09-18 09:21:38 UTC
(In reply to comment #1)
> 2. What installed packages do you have that bring in PHP?
> 
Currently no ... I tried to install php, but surely all Useflag included creating the conflict
Comment 4 Robin Johnson archtester Gentoo Infrastructure gentoo-dev Security 2010-09-18 21:01:13 UTC
Are you sure you have nothing?
=dev-lang/php-5.3.3-r1[-imap,-mysql,-mysqli]
=dev-lang/php-5.3.3-r1[imap]

At least one of these is somewhere in your deptree.
Comment 5 Agostino Sarubbo gentoo-dev 2010-09-18 23:41:52 UTC
(In reply to comment #4)
> Are you sure you have nothing?
> =dev-lang/php-5.3.3-r1[-imap,-mysql,-mysqli]
> =dev-lang/php-5.3.3-r1[imap]
> 
> At least one of these is somewhere in your deptree.
> 
dev-lang/php is what I am trying to install.
I remember that I can install php on other posts ... this is my purpose to try to find any bugs :)
Comment 6 Robin Johnson archtester Gentoo Infrastructure gentoo-dev Security 2010-09-19 01:52:39 UTC
1. grep -r dev-lang/php /var/db/pkg
2. Why are you syncing directly against raven.g.o?
Comment 7 Agostino Sarubbo gentoo-dev 2010-09-19 09:15:05 UTC
(In reply to comment #6)
> 1. grep -r dev-lang/php /var/db/pkg

E2160 ago # grep -r dev-lang/php /var/db/pkg/
/var/db/pkg/net-libs/libsoup-2.30.2-r1/libsoup-2.30.2-r1.ebuild:#               dev-lang/php


> 2. Why are you syncing directly against raven.g.o?
> 

Because I have an available connection to 873 port to only that host, or should I upgrade via webrsync
Comment 8 Matti Bickel (RETIRED) gentoo-dev 2010-09-19 17:46:01 UTC
Well, your output is correct. It's portage that's doing a lousy job of informing you about the error.

dev-lang/php[recode] requires dev-lang/php[-imap,-mysql,-mysqli], but you have USE="recode imap" set in make.conf. Please disable either one of these and see if you get it to install.
Comment 9 Matti Bickel (RETIRED) gentoo-dev 2010-09-19 17:49:03 UTC
Correction: what's causing the error is USE="recode imap kolab" with recode requiring "-imap" and kolab requiring "+imap".
Comment 10 Robin Johnson archtester Gentoo Infrastructure gentoo-dev Security 2010-09-19 20:37:00 UTC
Weird.

1. Can you drop the ACCEPT_KEYWORDS="~amd64" for a moment?
2. Does the same behaviour exist with the 2.2 series of Portage?

dev-portage:
This emerge blocker doesn't make sense that it gave two different blocks for the same command, and we can't trace where the blockers are coming from.
Comment 11 Matti Bickel (RETIRED) gentoo-dev 2010-09-19 22:15:30 UTC
I guess the problem here is dev-lang/php-5.3.3-r1 itself: we use RDEPEND="recode? ( dev-lang/php[-imap,mysqli,mysql] ) kolab? ( dev-lang/php[imap] )"

Agostino has imap, kolab and recode in his global USE. Switching imap off for dev-lang/php in package.use clashes with USE="kolab". This is the second error you see. The first comes from USE="recode".

I'm told (ab)using use deps like this is considered bad style (read: unsupported) and there's a feature underway (REQUIRED_USE) that we want to use here. For the moment, emerging php with USE="-imap -kolab" or USE="-kolab" should allow the build to succeed. I agree that's non-obvious from the error message and could probably made clearer (*winks to portage team* :)
Comment 12 Matti Bickel (RETIRED) gentoo-dev 2010-09-19 22:17:07 UTC
(In reply to comment #11)
> I guess the problem here is dev-lang/php-5.3.3-r1 itself: we use
> RDEPEND="recode? ( dev-lang/php[-imap,mysqli,mysql] ) kolab? (
> dev-lang/php[imap] )"

Sorry, this is actually:
RDEPEND="recode? ( dev-lang/php[-imap,-mysql,-mysqli] ) kolab? ( dev-lang/php[imap] )"
Comment 13 Zac Medico gentoo-dev 2010-09-19 22:22:56 UTC
(In reply to comment #10)
> dev-portage:
> This emerge blocker doesn't make sense that it gave two different blocks for
> the same command, and we can't trace where the blockers are coming from.

The php ebuild has RDEPEND atoms that circularly refer to itself:

  recode? ( =dev-lang/php-5.3.3-r1[-imap,-mysql,-mysqli] )
  kolab? ( =dev-lang/php-5.3.3-r1[imap] )

BTW, circular RDEPEND references aren't PMS-compliant AFAIK. In the upcoming EAPI 4 we have support for a new variable called REQUIRED_USE for doing things like this (bug 332409).
Comment 14 Matti Bickel (RETIRED) gentoo-dev 2010-09-19 22:35:23 UTC
For the record: I'll happily use something else, as long as "else" doesn't involve going back to using a seperate eclass just for this. And I just rechecked PMS and haven't found anything regarding packages specifing themselves as atoms. I might have missed it or PMS authors think nobody would be that stupid ;)

Anyway, I'll happily use REQUIRED_USE once it's available.
Comment 15 Matti Bickel (RETIRED) gentoo-dev 2010-10-08 17:25:38 UTC
So let's leave it at that. dev-lang/php will use REQUIRED_USE as soon as it becomes available.