This was encountered by pepi in #gentoo on freenode. [nomerge ] dev-util/cmake-3.2.1 [2.8.11.1] USE="ncurses -doc% -emacs -qt4 -qt5 {-test} (-vim-syntax%)" [ebuild N ] dev-libs/jsoncpp-0.10.1 USE="-doc {-test}" 193 kB [ebuild U ] dev-util/cmake-3.2.1 [2.8.11.1] USE="ncurses -doc% -emacs -qt4 -qt5 {-test} (-vim-syntax%)" 6,287 kB Total: 2 packages (1 upgrade, 1 new), Size of downloads: 6,479 kB * Error: circular dependencies: (dev-util/cmake-3.2.1:0/0::gentoo, ebuild scheduled for merge) depends on (dev-libs/jsoncpp-0.10.1:0/0::gentoo, ebuild scheduled for merge) (buildtime) (dev-util/cmake-3.2.1:0/0::gentoo, ebuild scheduled for merge) (buildtime) jsoncpp-0.10.1 requiring cmake was added Tue Apr 7 18:12:01 2015 UTC[1], then cmake-3.2.1 requiring jsoncpp was added Thu Apr 9 17:45:50 2015 UTC[2]. Both are currently highest version in ~amd64. Portage unfortunately does not autoresolve this kind of circular deps, even though any lower version of cmake or jsoncpp should be sufficient. 1: https://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/dev-libs/jsoncpp/jsoncpp-0.10.1.ebuild?revision=1.1&view=markup 2: https://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/dev-util/cmake/cmake-3.2.1.ebuild?revision=1.1&view=markup
Unless cmake can make json support optional, I guess we need some kind of USE=build or other bootstrap.
cmake can optionally use its own bundled copy of jsoncpp. -DCMAKE_USE_SYSTEM_LIBRARY_JSONCPP=OFF
This blocked me for a bit. Why is cmake such a nightmare? another gem: qt depends on cmake and cmake depends on qt...:( At least I can use USE flags to work around it.
(In reply to devsk from comment #3) > This blocked me for a bit. Why is cmake such a nightmare? another gem: qt > depends on cmake and cmake depends on qt...:( At least I can use USE flags > to work around it. Which part of qt requires cmake?
[nomerge ] net-print/cups-2.0.2-r1::gentoo USE="X acl dbus ssl threads usb -debug -java -kerberos -lprng-compat -pam -python (-selinux) -static-libs -systemd -xinetd -zeroconf" ABI_X86="32 (64) (-x32)" LINGUAS="ru -ca -cs -de -es -fr -it -ja -pt_BR" PYTHON_TARGETS="python2_7" [nomerge ] net-print/cups-filters-1.0.66::gentoo USE="dbus foomatic jpeg png tiff -perl -static-libs -zeroconf" [nomerge ] app-text/poppler-0.32.0:0/51::gentoo USE="cairo cxx jpeg lcms png qt5 tiff utils -cjk -curl -debug -doc -introspection -jpeg2k -qt4" [nomerge ] dev-util/cmake-3.2.1::gentoo USE="ncurses qt5 -doc -emacs -qt4 {-test}" [ebuild N ] dev-libs/jsoncpp-0.10.1::gentoo USE="-doc {-test}" 0 KiB [ebuild N ] dev-util/cmake-3.2.1::gentoo USE="ncurses qt5 -doc -emacs -qt4 {-test}" 0 KiB [ebuild N ] net-print/cups-filters-1.0.66::gentoo USE="dbus foomatic jpeg png tiff -perl -static-libs -zeroconf" 1 305 KiB [ebuild N ] app-text/poppler-0.32.0:0/51::gentoo USE="cairo cxx jpeg lcms png qt5 tiff utils -cjk -curl -debug -doc -introspection -jpeg2k -qt4" 1 572 KiB for example enable pam use flag
Hit by this. There's no way to unloop this, even with useflags. What can be done ? I can't update/install anything on the system now .. ?
(In reply to Thomas Capricelli from comment #6) > Hit by this. There's no way to unloop this, even with useflags. What can be > done ? I can't update/install anything on the system now .. ? Try (temporarily) adding >=dev-libs/jsoncpp-0.10.1 to /etc/portage/package.mask until you have upgraded cmake.
or you can do this : emerge =dev-libs/jsoncpp-0.6.0_rc2 -1
Since the ongoing bikeshed is not going to help users... + 14 Apr 2015; Michał Górny <mgorny@gentoo.org> cmake-3.2.1.ebuild, + metadata.xml: + Add USE=internal-jsoncpp to solve circular dependency, bug #546130
+ 14 Apr 2015; Mike Gilbert <floppym@gentoo.org> cmake-3.2.1.ebuild: + Fix mgorny's change; wrong variable name.