kde-build-metadata contains cycles
The kde-project-metadata file dependency-data-kf5-qt5 contains a cycle:
*: frameworks/extra-cmake-modules
*: Qt5
What this means is that:
-
frameworks/extra-cmake-modules
depends onQt5
-
Qt5
depends onframeworks/extra-cmake-modules
I.e. a cycle. The only reason this ever 'worked' was because anything beginning with the prefix Qt
is ignored by the dependency parser of kdesrc-build
in ksb::DependencyResolver
. This is kind of bad, because of issue #19 (closed): fixing #19 (closed) must necessarily remove that restriction.
You can verify this by removing this restriction (see issue #19 (closed)) and running:
kdesrc-build --debug kate
Producing the following output:
dep-resolv: Visiting kate
dep-resolv: kate:master depends on Qt5:*
* kate depends on Qt5:*, but no module builds Qt5:* for this run.
dep-resolv: Visiting Qt5
dep-resolv: Qt5:* depends on extra-cmake-modules:*
* Qt5 depends on extra-cmake-modules:*, but no module builds extra-cmake-modules:* for this run.
dep-resolv: Visiting extra-cmake-modules
dep-resolv: extra-cmake-modules:* depends on Qt5:*
* extra-cmake-modules depends on Qt5:*, but no module builds Qt5:* for this run.
dep-resolv: Visiting Qt5
Somehow there is a dependency cycle involving Qt5! :( at /kdesrc-build/bin/modules/ksb/DependencyResolver.pm line 569.
ksb::DependencyResolver::_visitDependencyItemAndDependencies(HASH(0x555b33c78c80), "Qt5", "*", 3, undef) called at /kdesrc-build/bin/modules/ksb/DependencyResolver.pm line 604
ksb::DependencyResolver::_visitDependencyItemAndDependencies(HASH(0x555b33c78c80), "extra-cmake-modules", "*", 2, undef) called at /kdesrc-build/bin/modules/ksb/DependencyResolver.pm line 604
ksb::DependencyResolver::_visitDependencyItemAndDependencies(HASH(0x555b33c78c80), "Qt5", "*", 1, undef) called at /kdesrc-build/bin/modules/ksb/DependencyResolver.pm line 604
ksb::DependencyResolver::_visitDependencyItemAndDependencies(HASH(0x555b33c78c80), "kde/applications/kate", "master", undef, undef) called at /kdesrc-build/bin/modules/ksb/DependencyResolver.pm line 497
ksb::DependencyResolver::_visitModuleAndDependencies(HASH(0x555b33c78c80), ksb::Module=HASH(0x555b33c02788)) called at /kdesrc-build/bin/modules/ksb/DependencyResolver.pm line 673
ksb::DependencyResolver::resolveDependencies(ksb::DependencyResolver=HASH(0x555b33c06c80), ksb::Module=HASH(0x555b33c02788)) called at /kdesrc-build/bin/modules/ksb/Application.pm line 600
eval {...} called at /kdesrc-build/bin/modules/ksb/Application.pm line 585
ksb::Application::_resolveModuleDependencies(ksb::Application=HASH(0x555b3258b910), ARRAY(0x555b32ce0150), ARRAY(0x555b32ce0120)) called at /kdesrc-build/bin/modules/ksb/Application.pm line 496
ksb::Application::generateModuleList(ksb::Application=HASH(0x555b3258b910), "--rc-file=/kdesrc-build/etc/kdesrc-build.rc", "--set-module-option-value", "global,kdedir,/home/prometheus/projects/kde/dist", "--set-module-option-value", "global,qtdir,/home/prometheus/projects/kde/dist/custom/qt", "--set-module-option-value", "global,source-dir,/home/prometheus/projects/kde/src", ...) called at /kdesrc-build/bin/modules/ksb/Application.pm line 68
ksb::Application::new("ksb::Application", "--rc-file=/kdesrc-build/etc/kdesrc-build.rc", "--set-module-option-value", "global,kdedir,/home/prometheus/projects/kde/dist", "--set-module-option-value", "global,qtdir,/home/prometheus/projects/kde/dist/custom/qt", "--set-module-option-value", "global,source-dir,/home/prometheus/projects/kde/src", ...) called at /kdesrc-build/bin/kdesrc-build line 364
eval {...} called at /kdesrc-build/bin/kdesrc-build line 363
* Problems encountered trying to sort modules into correct order:
* Internal Error: 1
* Will attempt to continue.
Edited by Johan Ouwerkerk