Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bugzilla DB migration completed. Please report issues to Infra team via email via infra@gentoo.org or IRC
Bug 720230 - dev-util/cmake-3.16.5 fails to build with dev-libs/jsoncpp > 1.9.2
Summary: dev-util/cmake-3.16.5 fails to build with dev-libs/jsoncpp > 1.9.2
Status: IN_PROGRESS
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Gentoo KDE team
URL:
Whiteboard: fixed in 3.18.2
Keywords:
: 726302 (view as bug list)
Depends on:
Blocks:
 
Reported: 2020-05-01 07:48 UTC by Ingo Brunberg
Modified: 2020-09-19 20:26 UTC (History)
6 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 Ingo Brunberg 2020-05-01 07:48:51 UTC
cmake-3.16.5 looks for libjsoncpp.so.22, so fails with dev-libs/jsoncpp-1.9.3_pre20200412.

Reproducible: Always
Comment 1 Ingo Brunberg 2020-05-01 09:15:54 UTC
Same problem with cmake-3.17.2. The bootstrap is to blame. The only solution is to unmerge cmake and reemerge, so that it has to use its bundled libraries for bootstrapping.
Comment 2 Aurelien Minet 2020-05-01 11:23:06 UTC
(In reply to Ingo Brunberg from comment #1)
> Same problem with cmake-3.17.2. The bootstrap is to blame. The only solution
> is to unmerge cmake and reemerge, so that it has to use its bundled
> libraries for bootstrapping.

thanks for the tip, it works.
Comment 3 Serge 2020-05-01 15:15:00 UTC
+1 for the tip
Comment 4 Ole Christensen 2020-05-01 17:26:03 UTC
Same here. But work around does fine.
Comment 5 Jeroen Roovers gentoo-dev 2020-06-01 18:38:35 UTC
*** Bug 726302 has been marked as a duplicate of this bug. ***
Comment 6 Ingo Brunberg 2020-08-06 10:09:08 UTC
Same problem with cmake-3.18.1 after updating jsoncpp to 1.9.3.

This is the only package not working correctly with FEATURES="-preserve-libs".
It cannot be so hard to test if the installed cmake is still working. Maintainers, please fix.
Comment 7 Andreas Sturmlechner gentoo-dev 2020-08-06 20:21:51 UTC
Sure, tell me how to reproduce this. I haven't seen this a single time, and I take care of multiple systems. As for preserve-libs, cmake has a slot operator on dev-libs/jsoncpp, so nothing to fix there either.
Comment 8 Ingo Brunberg 2020-08-07 00:41:50 UTC
It happens on every @world update, when jsoncpp is updated to a new subslot, for example from 1.9.1 to 1.9.3, and cmake is rebuild directly afterwards. Then the presently installed cmake is broken because of the missing libjsoncpp.so.XX.

Trying to use that broken cmake binary in cmake_src_configure then fails, of course.
Comment 9 razamatan 2020-08-10 07:26:22 UTC
caveat emptor: you can symlink the new libjsoncpp.so.XX to the old one you need to quickly get cmake building again.  then just re-emerge cmake again after removing the symlink just created, since it'll be now compiled against the latest libjsoncpp.

obviously, this can bork things...

but, worked for me just now.
Comment 10 Andreas Sturmlechner gentoo-dev 2020-09-05 16:45:05 UTC
And yet somehow no one bothered to attach build.log so far.
Comment 11 Larry the Git Cow gentoo-dev 2020-09-06 16:46:14 UTC
The bug has been referenced in the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=deb9c16acf7d2e1d5eeb838bde8c2073f9cb6e7f

commit deb9c16acf7d2e1d5eeb838bde8c2073f9cb6e7f
Author:     Andreas Sturmlechner <asturm@gentoo.org>
AuthorDate: 2020-09-05 17:52:52 +0000
Commit:     Andreas Sturmlechner <asturm@gentoo.org>
CommitDate: 2020-09-06 16:45:36 +0000

    dev-util/cmake: Detect if system cmake binary is broken
    
    cmake binary can be broken if FEATURES="-preserve-libs" is set.
    
    Bug: https://bugs.gentoo.org/720230
    Package-Manager: Portage-3.0.5, Repoman-3.0.1
    Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>

 dev-util/cmake/cmake-3.18.2.ebuild | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)