MakeThornList issues

Issue #2439 resolved
Steven R. Brandt created an issue

The option -m foo.th does not work (nor its variant -m=foo.th), but --master=foo.th does work. The usage message says the code was written by Ian Kelly. One of the default locations checked for the MasterThornList should be ./repos/manifest/einsteintoolkit.th, and multiple par files (or a directory containing par files) should probably be accepted.

Comments (11)

  1. Roland Haas

    The POD lists authors as:

    AUTHOR:
    
            Roland Haas <rhaas\@illinois.edu>
            Ian Kelley, <ikelley\@aei.mpg.de>
            March 20, 2020
    

    which is correct. The script does use some code of Ian’s older version (admittedly mostly in the POD but still). So I would rather keep Ian listed as an author given that the script is base on his.

    It seems as if the script does not accept any short options (even -v instead of --verbose). Seems like a failure to use Getopt::Long correctly to me.

  2. Steven R. Brandt reporter

    Much better. I would still like to see it look in repos/manifest/einsteintoolkit.th for the master thorn list, and I’d still like to be able to specify multiple par files instead of just one.

  3. Roland Haas

    I cannot really make the script default to repos/manifest/einsteintoolkit.th since the script is in Cactus and not the ET. There are already defaults for the master thornlist (that I am inheriting from Ian’s implementation):

    If this option is not
    used, and the environment variable $CACTUSRC has been set, the
    file $CACTUSRC/.cactus/MasterThornList will be used, otherwise the
    file $HOME/.cactus/MasterThornList will be used.

    and in fact also “ThornList” in that location (again inherited from Ian’s code).

    To clarify: when passing multiple parfiles you would like to create a thornlist that can run any of those parfiles? Note that this can cause conflicts since some thorns cannot be compiled into the same executable (due to conflicting symbols), so making this work with a guarantee of no error messages when building is not quite a simple as just concatenating the parfiles when reading them. To trigger this one also needs to supply a master thorn list with both conflicting thorns listed (which ours is not because it can be compiled).

    Relaxing this restriction then yes, supporting multiple parfiles is easy. I’ll post a pull request.

  4. Log in to comment