New install in progress. stage3-amd64-20210630T214504Z.tar.xz, default/linux/amd64/17.1/no-multilib profile. Already chrooted (reproducing the failure from our install script): sysresccd / # emerge -1av harfbuzz * IMPORTANT: 11 news items need reading for repository 'gentoo'. * Use eselect news read to view new items. These are the packages that would be merged, in order: Calculating dependencies... done! [nomerge ] media-libs/harfbuzz-2.9.1:0/0.9.18::gentoo USE="cairo glib graphite icu introspection truetype -debug -doc -experimental -test" [nomerge ] x11-libs/cairo-1.16.0-r4::gentoo USE="glib svg -X (-aqua) -debug (-gles2-only) -opengl -static-libs -utils -valgrind" [nomerge ] media-libs/fontconfig-2.13.1-r2:1.0::gentoo USE="-doc -static-libs" [ebuild N ] app-eselect/eselect-fontconfig-1.1-r1::gentoo 2 KiB [ebuild N ] media-libs/harfbuzz-2.9.1:0/0.9.18::gentoo USE="cairo glib graphite icu introspection truetype -debug -doc -experimental -test" 18,706 KiB [ebuild N ] x11-libs/cairo-1.16.0-r4::gentoo USE="glib svg -X (-aqua) -debug (-gles2-only) -opengl -static-libs -utils -valgrind" 41,014 KiB [ebuild N ] media-libs/fontconfig-2.13.1-r2:1.0::gentoo USE="-doc -static-libs" 1,684 KiB [ebuild N ] media-libs/freetype-2.11.0-r1:2::gentoo USE="adobe-cff cleartype-hinting harfbuzz png static-libs -X -brotli -bzip2 -debug -doc -fontforge (-infinality) -utils" 2,208 KiB Total: 5 packages (5 new), Size of downloads: 63,611 KiB * Error: circular dependencies: (media-libs/freetype-2.11.0-r1:2/2::gentoo, ebuild scheduled for merge) depends on (media-libs/harfbuzz-2.9.1:0/0.9.18::gentoo, ebuild scheduled for merge) (buildtime) (media-libs/freetype-2.11.0-r1:2/2::gentoo, ebuild scheduled for merge) (buildtime_slot_op) It might be possible to break this cycle by applying the following change: - media-libs/freetype-2.11.0-r1 (Change USE: -harfbuzz) My commit (private git repo) where I flipped freetype[harfbuzz] on states: rrdtool[graph] requires libpango requires freetype[harfbuzz] Looking at the various ebuilds: harfbuzz-2.9.1.ebuild: RDEPEND (and DEPEND) has truetype? ( >=media-libs/freetype-2.5.0.1:2=[${MULTILIB_USEDEP}] ) freetype-2.11.0-r1.ebuild: RDEPEND (and DEPEND) has harfbuzz? ( >=media-libs/harfbuzz-1.3.0[truetype,${MULTILIB_USEDEP}] ) USE=-truetype emerge -1av harfbuzz does not merge. I had to USE=-harfbuzz emerge -av freetype. In the former case the circular dependency just shifts: (x11-libs/cairo-1.16.0-r4:0/0::gentoo, ebuild scheduled for merge) depends on (media-libs/freetype-2.11.0-r1:2/2::gentoo, ebuild scheduled for merge) (buildtime) (media-libs/harfbuzz-2.9.1:0/0.9.18::gentoo, ebuild scheduled for merge) (buildtime) (x11-libs/cairo-1.16.0-r4:0/0::gentoo, ebuild scheduled for merge) (buildtime_slot_op) Not sure if/how this can be sorted in a more generic manner, and I'm not familiar enough with the overall portage infrastructure to know if it's possible to basically sort this out in a generic manner. In this specific case if portage could possibly figure out that it can break the dependency with the following merge order: media-libs/freetype[-harfbuzz] media-libs/harfbuzz[truetype] media-libs/freetype[harfbuzz] I'm not actually sure I require freetype[harfbuzz], so might just end up killing that once I've managed to confirm that. There is already a warning in this regards on the freetype side: + + harfbuzz : Use media-libs/harfbuzz for auto-hinting OpenType fonts. WARNING: may trigger circular dependencies! If possible, please kill the circular dep, if not possible, just close with CANTFIX. Else keep around as a portage wishlist item, of which I'm sure there are many. Reproducible: Always
Pretty sure this is CANTFIX.
This is a pretty common circular dep during installation. Sam made a good guide here to some of the ways to solve this. https://wiki.gentoo.org/wiki/User:Sam/Portage_help/Circular_dependencies