Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 546130 - =dev-util/cmake-3.2.1 and =dev-libs/jsoncpp-0.10.1 - circular dependencies
Summary: =dev-util/cmake-3.2.1 and =dev-libs/jsoncpp-0.10.1 - circular dependencies
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Development (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Gentoo KDE team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-04-10 08:09 UTC by eroen
Modified: 2015-04-14 15:14 UTC (History)
5 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description eroen 2015-04-10 08:09:22 UTC
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
Comment 1 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2015-04-10 08:44:00 UTC
Unless cmake can make json support optional, I guess we need some kind of USE=build or other bootstrap.
Comment 2 Mike Gilbert gentoo-dev 2015-04-10 14:46:21 UTC
cmake can optionally use its own bundled copy of jsoncpp.

-DCMAKE_USE_SYSTEM_LIBRARY_JSONCPP=OFF
Comment 3 devsk 2015-04-11 05:13:31 UTC
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.
Comment 4 Michael Palimaka (kensington) gentoo-dev 2015-04-11 15:13:14 UTC
(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?
Comment 5 Aweal 2015-04-12 21:24:16 UTC
[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
Comment 6 Thomas Capricelli 2015-04-12 21:48:08 UTC
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 .. ?
Comment 7 eroen 2015-04-12 22:01:23 UTC
(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.
Comment 8 Thomas Capricelli 2015-04-12 23:36:56 UTC
or you can do this :
    emerge =dev-libs/jsoncpp-0.6.0_rc2 -1
Comment 9 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2015-04-14 07:42:47 UTC
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
Comment 10 Mike Gilbert gentoo-dev 2015-04-14 15:14:39 UTC
+  14 Apr 2015; Mike Gilbert <floppym@gentoo.org> cmake-3.2.1.ebuild:
+  Fix mgorny's change; wrong variable name.