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
1. Please include your emerge --info output. 2. What installed packages do you have that bring in PHP?
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
(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
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.
(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 :)
1. grep -r dev-lang/php /var/db/pkg 2. Why are you syncing directly against raven.g.o?
(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
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.
Correction: what's causing the error is USE="recode imap kolab" with recode requiring "-imap" and kolab requiring "+imap".
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.
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* :)
(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] )"
(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).
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.
So let's leave it at that. dev-lang/php will use REQUIRED_USE as soon as it becomes available.