#911: First dependencies for optional capabilities is ignored ----------------------+----------------------------------------------------- Reporter: eschnett | Owner: Type: defect | Status: new Priority: blocker | Milestone: ET_2012_05 Component: Cactus | Version: Keywords: | ----------------------+----------------------------------------------------- The first optional dependency for a thorn is not taken into account when deciding the build order for capabilities. The reason is a missing space, which accidentally concatenates the names for the last required and the first optional dependency. The patch below corrects this.
{{{ $ svn diff Index: sbin/CreateConfigurationBindings.pl =================================================================== --- sbin/CreateConfigurationBindings.pl (revision 4825) +++ sbin/CreateConfigurationBindings.pl (working copy) @@ -81,7 +81,7 @@ { if ($providedcaps{$optionalcap}) { - $cfg->{"\U$thorn\E REQUIRES"} .= "$optionalcap "; + $cfg->{"\U$thorn\E REQUIRES"} .= " $optionalcap"; } } } }}}
#911: First dependencies for optional capabilities is ignored -----------------------+---------------------------------------------------- Reporter: eschnett | Owner: Type: defect | Status: review Priority: blocker | Milestone: ET_2012_05 Component: Cactus | Version: Resolution: | Keywords: -----------------------+---------------------------------------------------- Changes (by eschnett):
* status: new => review
Comment:
There exists a second problem that makes all optional dependencies be ignored. There is code that unifies optional with required capabilities (for those optional capabilities that are provided), but this code is executed too late.
The attached patch likely corrects this situation. I'm unsure whether to apply it before the release.
#911: First dependencies for optional capabilities is ignored -----------------------+---------------------------------------------------- Reporter: eschnett | Owner: Type: defect | Status: review Priority: major | Milestone: ET_2012_05 Component: Cactus | Version: Resolution: | Keywords: -----------------------+---------------------------------------------------- Changes (by eschnett):
* priority: blocker => major
#911: First dependencies for optional capabilities is ignored -----------------------+---------------------------------------------------- Reporter: eschnett | Owner: Type: defect | Status: review Priority: major | Milestone: ET_2012_05 Component: Cactus | Version: Resolution: | Keywords: -----------------------+----------------------------------------------------
Comment (by knarf):
Please apply the first patch. The second also looks ok to me, but please only commit once an additional maintainer gave its ok.
#911: First dependencies for optional capabilities is ignored -----------------------+---------------------------------------------------- Reporter: eschnett | Owner: Type: defect | Status: review Priority: major | Milestone: ET_2012_11 Component: Cactus | Version: Resolution: | Keywords: -----------------------+---------------------------------------------------- Changes (by knarf):
* milestone: ET_2012_05 => ET_2012_11
#911: First dependencies for optional capabilities is ignored -----------------------+---------------------------------------------------- Reporter: eschnett | Owner: Type: defect | Status: review Priority: major | Milestone: ET_2012_11 Component: Cactus | Version: Resolution: | Keywords: -----------------------+----------------------------------------------------
Comment (by rhaas):
While we are at fixing capabilities: cctk.h does not include cctk_Capabilities in its FCODE section but only in CCODE. This makes the Capabilities invisible to Fortran thorns. Attached please find a patch to fix this.
The patch almost works for me but I had to move the code block further up before the check that all REQUIRES are satisfied since the verification loop set up the thorn dependencies as well. I attach an updated patch.
Other than that: ok to apply the updated second of the two patches.
#911: First dependencies for optional capabilities is ignored -----------------------+---------------------------------------------------- Reporter: eschnett | Owner: Type: defect | Status: closed Priority: major | Milestone: ET_2012_11 Component: Cactus | Version: Resolution: fixed | Keywords: -----------------------+---------------------------------------------------- Changes (by eschnett):
* status: review => closed * resolution: => fixed
Comment:
Applied.
#911: First dependencies for optional capabilities is ignored -----------------------+---------------------------------------------------- Reporter: eschnett | Owner: Type: defect | Status: closed Priority: major | Milestone: ET_2012_11 Component: Cactus | Version: Resolution: fixed | Keywords: -----------------------+----------------------------------------------------
Comment (by rhaas):
I think we now have too much code applied. I had intended optional.patch to be a replacement for optional.diff (but had gotten the file name wrong so trac did not generate a optional.2.diff), not an addition. The second copy of the "Turn optional capabilities..." seems unnecessary. Ok to remove it (and leave only the first one in ConfigurationParser.pl, the one before "verify that all required capabilities are there in the ThornList"?
#911: First dependencies for optional capabilities is ignored -----------------------+---------------------------------------------------- Reporter: eschnett | Owner: Type: defect | Status: closed Priority: major | Milestone: ET_2012_11 Component: Cactus | Version: Resolution: fixed | Keywords: -----------------------+----------------------------------------------------
Comment (by eschnett):
Sorry about the misunderstanding. Please correct.
#911: First dependencies for optional capabilities is ignored -----------------------+---------------------------------------------------- Reporter: eschnett | Owner: Type: defect | Status: closed Priority: major | Milestone: ET_2012_11 Component: Cactus | Version: Resolution: fixed | Keywords: -----------------------+----------------------------------------------------
Comment (by rhaas):
Done in revision 4837 of the flesh. Sorry for the confusion.
trac@lists.einsteintoolkit.org