root@defiant / # ROOT=tmp/prova emerge -pv virtual/libc These are the packages that would be merged, in order: Calculating dependencies !!! All ebuilds that could satisfy "virtual/libc" have been masked. !!! One of the following masked packages is required to complete your request: - sys-libs/glibc-2.4-r3 (masked by: package.mask, missing keyword) # Mask out the GNU versions of various packages. # We want BSD versions wherever possible # Also mask packages that are depending on Linux kernel - sys-libs/glibc-2.3.4.20041102-r2 (masked by: package.mask, missing keyword) - sys-libs/glibc-2.3.4.20041102-r1 (masked by: package.mask, missing keyword) - sys-libs/glibc-2.3.6-r3 (masked by: package.mask, missing keyword) - sys-libs/glibc-2.3.3.20040420-r2 (masked by: package.mask, missing keyword) - sys-libs/glibc-2.3.6-r4 (masked by: package.mask, missing keyword) - sys-libs/glibc-2.3.6-r5 (masked by: package.mask, missing keyword) - sys-libs/glibc-2.3.2-r12 (masked by: package.mask, missing keyword) - sys-libs/glibc-2.3.4.20040619-r2 (masked by: package.mask, missing keyword) - sys-libs/glibc-2.3.4.20040808-r1 (masked by: package.mask, missing keyword) - sys-libs/glibc-2.3.5-r3 (masked by: package.mask, missing keyword) - sys-libs/glibc-2.3.5-r2 (masked by: package.mask, missing keyword) - sys-libs/glibc-2.2.5-r10 (masked by: package.mask, missing keyword) - sys-libs/glibc-2.3.4.20050125-r1 (masked by: package.mask, missing keyword) - sys-libs/glibc-2.5 (masked by: package.mask, missing keyword) - sys-libs/glibc-2.4-r4 (masked by: package.mask, missing keyword) For more information, see MASKED PACKAGES section in the emerge man page or refer to the Gentoo Handbook. root@defiant / # emerge --version Portage 2.1.2_pre2-r5 (default-bsd/fbsd/6.2/x86, gcc-4.1.1, freebsd-lib-6.1-r0, 6.2-BETA1 i386) While merging ROOT=somethingelse, portage seems to ignore at least the virtuals for the profile, breaking catalyst run for instance. This worked fine on at least 2.1.1_pre4-r1 (not sure for the in-between because these I have at hand).
Created attachment 99085 [details, diff] virtual preferences in a profile override the preferences of parents The problem is that "virtual/libc sys-libs/glibc" is inherited from the base profile and the order of preference is reversed. This patch corrects the order so that the preferences of parent profiles are properly overridden. Note that, as a workaround, it's possible for a child profile to negate virtuals that have been defined by parent profiles. You'd simply add a line to default-bsd/fbsd/6.2/x86/virtuals like this: virtual/libc -sys-libs/glibc
This has been released in 2.1.2_pre2-r6.