Sébastien MORAND schreef: >> You clearly know how to clear a block, but your syntax for >> unmerging the blocking packages is wrong, which is why it's not >> working. >> >> If you want to unmerge the specific version of the package (for >> this example, let us assume php-5.0.5), the correct syntax is >> >> emerge -C =dev-php/php-5.0.5 >> >> If you want to unmerge "any or all" versions of the package >> currently installed, letting Portage decide which to unmerge, the >> correct syntax is >> >> emerge -C php > > > Ok, but this will remove php-5, and that's not what I want. I want to > remove dev-php/php any version, but I do that (I think the right > syntax to do it is emerge -C dev-php/php), I got the previous > message, obvisoualy there is an inconsistence on my system: - To > update a package that is blocked by another package is required - The > required package is not installed.
No, the right syntax to do that (remove php any and all versions) is emerge -C php There is no syntax that includes the cat-egory without both a version number and a mathematical symbol, such as emerge -C >=dev-php/php-5.0.5 (unmerges all versions greater than or equal to php-5.0.5) emerge -C =dev-php/php-5.0.5 (unmerges only php-5.0.5) emerge -C <dev-php/php-5.0.5 (unmerges all versions lower than php-5.0.5) emerge -C dev-lang/php is not valid, because it includes the cat-egory (dev-lang) without specifying a version. If you don't want to specify a version, only use the package name, without the category. If you want to specify a version, use a mathematical symbol (for precision, using =, >, and < either alone or in combination with each other), aand the version number. > > It looks like the point is php has migrated. The version 4.x and > below are located in dev-php and the version 5.x and above are locate > in dev-lang, so is there an inconsistency in the portage tree when > unmasking php-5.x and above? Well, yes and no. If you ultimately want php v.5 on your system, unmerge the current version, then re-emerge =dev-lang/php-5.0.5, then see if it still blocks the program you are trying to emerge. It's possible that the block exists because of the php migration to a new category, and the program itself needs to be unmerged and re-emerged with the correct category, rather than a block due to functionality clash between the two programs. If the block remains, it's because the program you're trying to emerge either will emerge php v.5 as a dependency or the program replicates its function in some way, so unmerge 5.0.5 (again), and emerge what was blocked by it, then re-(re-)emerge php-5.0.5 (if you still need to do that). HTH, Holly -- gentoo-user@gentoo.org mailing list