#1270: Formaline doesn't understand CACTUS_CONFIGS_DIR -----------------------+---------------------------------------------------- Reporter: sbrandt | Owner: Type: defect | Status: new Priority: major | Milestone: ET_2013_05 Component: Other | Version: development version Keywords: Formaline | -----------------------+---------------------------------------------------- When building with Formaline and CACTUS_CONFIGS_DIR one sees error messages of the form seen below. It is easily fixed though. See patch.
COMPILING /home/sbrandt/workspace/funwave2/Cactus/src/main/Parameters.c Updating /home/sbrandt/.mojaveconfig/funwave2/Cfg1/lib/libthorn_Cactus.a Checking status of thorn CactusBindings find: `configs/Cfg1/ThornList': No such file or directory find: `configs/Cfg1/config-data': No such file or directory find: `configs/Cfg1/config-info': No such file or directory
#1270: Formaline doesn't understand CACTUS_CONFIGS_DIR ----------------------+----------------------------------------------------- Reporter: sbrandt | Owner: Type: defect | Status: new Priority: major | Milestone: ET_2013_05 Component: Other | Version: development version Resolution: | Keywords: Formaline ----------------------+-----------------------------------------------------
Comment (by eschnett):
Is CACTUS_CONFIGS_DIR an absolute or a relative path? Could it be a symbolic link? tar and git behave differently (and possibly strangely) in these cases. It may be necessary copy the relevant files from the configuration to a separate place before tarring/gitting them.
#1270: Formaline doesn't understand CACTUS_CONFIGS_DIR ----------------------+----------------------------------------------------- Reporter: sbrandt | Owner: Type: defect | Status: review Priority: major | Milestone: ET_2013_05 Component: Other | Version: development version Resolution: | Keywords: Formaline ----------------------+----------------------------------------------------- Changes (by sbrandt):
* status: new => review
#1270: Formaline doesn't understand CACTUS_CONFIGS_DIR ----------------------+----------------------------------------------------- Reporter: sbrandt | Owner: Type: defect | Status: review Priority: major | Milestone: ET_2013_05 Component: Other | Version: development version Resolution: | Keywords: Formaline ----------------------+-----------------------------------------------------
Comment (by eschnett):
As hinted earlier, this will only work if CACTUS_CONFIGS_DIR is a relative path (i.e. does not start with a slash) that points to a subdirectory (i.e. does not use ".." to escape to a different location). Is that the case here? (Probably not.)
These conditions should also be tested, with errors if they are violated.
The best solution is probably to create a directory "configs" somewhere, copy the files there, and then run the tar/git commands there, and then remove this new "configs" directory again.
On a different note: It is also debatable that this information should be combined with the flesh. Probably, a new tarball named "config" should be created for this.
#1270: Formaline doesn't understand CACTUS_CONFIGS_DIR ----------------------+----------------------------------------------------- Reporter: sbrandt | Owner: Type: defect | Status: review Priority: major | Milestone: ET_2013_05 Component: Other | Version: development version Resolution: | Keywords: Formaline ----------------------+-----------------------------------------------------
Comment (by sbrandt):
I'm a little confused. I do use an absolute path to build, and everything works fine (or seems to, Formaline tarballs get built in the right place). I notice, however, that if I don't use an absolute path then hwloc won't build. Is CACTUS_CONFIGS_DIR meant to accept only an absolute path or is hwloc broken?
#1270: Formaline doesn't understand CACTUS_CONFIGS_DIR ----------------------+----------------------------------------------------- Reporter: sbrandt | Owner: Type: defect | Status: review Priority: major | Milestone: ET_2013_05 Component: Other | Version: development version Resolution: | Keywords: Formaline ----------------------+-----------------------------------------------------
Comment (by eschnett):
If you use an absolute path: Do the Formaline tarballs contain the thorn list? If so, in what subdirectory of the tarball is it?
I do not know why hwloc won't build. What is the error message?
#1270: Formaline doesn't understand CACTUS_CONFIGS_DIR ----------------------+----------------------------------------------------- Reporter: sbrandt | Owner: Type: defect | Status: review Priority: major | Milestone: ET_2013_05 Component: Other | Version: development version Resolution: | Keywords: Formaline ----------------------+-----------------------------------------------------
Comment (by sbrandt):
The ThornList is in flesh-Cactus.tar.gz. It's location is showing up as
home/sbrandt/.mojaveconfig/funwave2/Cfg1/ThornList
About hwloc: On line 113 of configure.sh in hwloc is the command "cd ${SCRATCH_BUILD}". At the time this commmand is invoked, the current directory isn't Cactus root but the config-data directory, so it fails. It is the first of about a half dozen or so commands where an absolute path is required. Maybe this should be it's own ticket?
#1270: Formaline doesn't understand CACTUS_CONFIGS_DIR ----------------------+----------------------------------------------------- Reporter: sbrandt | Owner: Type: defect | Status: closed Priority: major | Milestone: ET_2013_05 Component: Other | Version: development version Resolution: fixed | Keywords: Formaline ----------------------+----------------------------------------------------- Changes (by sbrandt):
* status: review => closed * resolution: => fixed
#1270: Formaline doesn't understand CACTUS_CONFIGS_DIR ----------------------+----------------------------------------------------- Reporter: sbrandt | Owner: Type: defect | Status: closed Priority: major | Milestone: ET_2013_05 Component: Other | Version: development version Resolution: fixed | Keywords: Formaline ----------------------+-----------------------------------------------------
Comment (by eschnett):
The tarball flesh-Cactus.tar.gz should contain the thorn list and related files directly in a directory "configs"; if it is hidden in a subdirectory called "home/...", it will be difficult to find. Note that the leading slash of "/home/sbrandt" has been removed by tar, so that untarring the tarball will create a directory hierarchy that originally didn't even exist...
This is not specific to hwloc; many other thorns do the same. You probably only see the error in hwloc since you either don't build the other thorns, or would build them after hwloc. I assume that CACTUS_CONFIGS_DIR needs to be an absolute path.
Why did you just close this ticket?
#1270: Formaline doesn't understand CACTUS_CONFIGS_DIR ----------------------+----------------------------------------------------- Reporter: sbrandt | Owner: Type: defect | Status: closed Priority: major | Milestone: ET_2013_05 Component: Other | Version: development version Resolution: fixed | Keywords: Formaline ----------------------+-----------------------------------------------------
Comment (by sbrandt):
I didn't close the ticket.
#1270: Formaline doesn't understand CACTUS_CONFIGS_DIR ----------------------+----------------------------------------------------- Reporter: sbrandt | Owner: Type: defect | Status: reopened Priority: major | Milestone: ET_2013_05 Component: Other | Version: development version Resolution: | Keywords: Formaline ----------------------+----------------------------------------------------- Changes (by sbrandt):
* status: closed => reopened * resolution: fixed =>
#1270: Formaline doesn't understand CACTUS_CONFIGS_DIR ----------------------+----------------------------------------------------- Reporter: sbrandt | Owner: Type: defect | Status: review Priority: major | Milestone: ET_2013_05 Component: Other | Version: development version Resolution: | Keywords: Formaline ----------------------+----------------------------------------------------- Changes (by sbrandt):
* status: reopened => review
#1270: Formaline doesn't understand CACTUS_CONFIGS_DIR ----------------------+----------------------------------------------------- Reporter: sbrandt | Owner: Type: defect | Status: review Priority: major | Milestone: ET_2013_05 Component: Other | Version: development version Resolution: | Keywords: Formaline ----------------------+-----------------------------------------------------
Comment (by sbrandt):
I'm not sure what happened with the ticket closing.
#1270: Formaline doesn't understand CACTUS_CONFIGS_DIR ----------------------+----------------------------------------------------- Reporter: sbrandt | Owner: Type: defect | Status: review Priority: major | Milestone: ET_2013_05 Component: Other | Version: development version Resolution: | Keywords: Formaline ----------------------+-----------------------------------------------------
Comment (by sbrandt):
My latest effort at fixing the problem uses tar's --transform option. Please take a look.
#1270: Formaline doesn't understand CACTUS_CONFIGS_DIR ----------------------+----------------------------------------------------- Reporter: sbrandt | Owner: Type: defect | Status: review Priority: major | Milestone: ET_2013_05 Component: Other | Version: development version Resolution: | Keywords: Formaline ----------------------+-----------------------------------------------------
Comment (by eschnett):
On my system: {{{ $ tar --transform tar: Option --transform is not supported Usage: List: tar -tf <archive-filename> Extract: tar -xf <archive-filename> Create: tar -cf <archive-filename> [filenames...] Help: tar --help }}} It seems this is not a standard option.
Also, I notice that you replace >$@ by >>$@; is this intentional?
#1270: Formaline doesn't understand CACTUS_CONFIGS_DIR ----------------------+----------------------------------------------------- Reporter: sbrandt | Owner: Type: defect | Status: review Priority: major | Milestone: ET_2013_05 Component: Other | Version: development version Resolution: | Keywords: Formaline ----------------------+-----------------------------------------------------
Comment (by sbrandt):
An uglier less efficient solution that works with older versions of tar. Sigh.
#1270: Formaline doesn't understand CACTUS_CONFIGS_DIR ----------------------+----------------------------------------------------- Reporter: sbrandt | Owner: Type: defect | Status: review Priority: major | Milestone: ET_2013_05 Component: Other | Version: development version Resolution: | Keywords: Formaline ----------------------+-----------------------------------------------------
Comment (by eschnett):
I think the best way to proceed is to put configuration settings into a tarball of their own. That would clean up the code, since nothing has to be copied, and would also advertise these settings more, as they are not really part of the flesh anyway.
#1270: Formaline doesn't understand CACTUS_CONFIGS_DIR ----------------------+----------------------------------------------------- Reporter: sbrandt | Owner: Type: defect | Status: review Priority: major | Milestone: ET_2013_05 Component: Other | Version: development version Resolution: | Keywords: Formaline ----------------------+-----------------------------------------------------
Comment (by eschnett):
Please try the attached patch.
#1270: Formaline doesn't understand CACTUS_CONFIGS_DIR ----------------------+----------------------------------------------------- Reporter: sbrandt | Owner: Type: defect | Status: review Priority: major | Milestone: Component: Other | Version: development version Resolution: | Keywords: Formaline ----------------------+----------------------------------------------------- Changes (by knarf):
* milestone: ET_2013_05 =>
#1270: Formaline doesn't understand CACTUS_CONFIGS_DIR ----------------------+----------------------------------------------------- Reporter: sbrandt | Owner: Type: defect | Status: reviewed_ok Priority: major | Milestone: Component: Other | Version: development version Resolution: | Keywords: Formaline ----------------------+----------------------------------------------------- Changes (by sbrandt):
* status: review => reviewed_ok
#1270: Formaline doesn't understand CACTUS_CONFIGS_DIR ----------------------+----------------------------------------------------- Reporter: sbrandt | Owner: Type: defect | Status: reviewed_ok Priority: major | Milestone: Component: Other | Version: development version Resolution: | Keywords: Formaline ----------------------+----------------------------------------------------- Changes (by knarf):
* cc: sbrandt@… (added)
Comment:
Hasn't this been applied, Steve? Didn't you mention today, that an update of Formaline should understand this now?
#1270: Formaline doesn't understand CACTUS_CONFIGS_DIR ----------------------+----------------------------------------------------- Reporter: sbrandt | Owner: Type: defect | Status: reviewed_ok Priority: major | Milestone: Component: Other | Version: development version Resolution: | Keywords: Formaline ----------------------+-----------------------------------------------------
Comment (by sbrandt):
It has not yet been applied.
#1270: Formaline doesn't understand CACTUS_CONFIGS_DIR ----------------------+----------------------------------------------------- Reporter: sbrandt | Owner: Type: defect | Status: reviewed_ok Priority: major | Milestone: Component: Other | Version: development version Resolution: | Keywords: Formaline ----------------------+-----------------------------------------------------
Comment (by knarf):
Can you please apply it?
#1270: Formaline doesn't understand CACTUS_CONFIGS_DIR ----------------------+----------------------------------------------------- Reporter: sbrandt | Owner: Type: defect | Status: closed Priority: major | Milestone: Component: Other | Version: development version Resolution: fixed | Keywords: Formaline ----------------------+----------------------------------------------------- Changes (by sbrandt):
* status: reviewed_ok => closed * resolution: => fixed
Comment:
I have applied Erik's patch.
trac@lists.einsteintoolkit.org