Open fingolfin opened 4 years ago
@staticfloat Apologies for bugging you, but since according to git
that line of text was written by you, I am hoping you can clear this up?
I assume for ~portability~ relocatability.
Relocatability of the output of precompilation? I wasn't even aware that's a thing :-). Could you give me a pointer when / how that might happen?
Relocatability is not an absolute measure [...] other (implicit) assumptions, like embedding absolute paths into source code would make the app almost completely non-relocatable since that absolute path is unlikely to exist on another machine.
However, you can construct an example without PackageCompiler too.
Yep. Another example is if you have a depot that gets mounted at different places, e.g. if you mount your depot into a docker container.
The README says: "we typically do not want to bake absolute paths into our precompiled files" but gives no clue as to why.
Could you elaborate? For my particular application, it would tremendously simplify things if I could access the scratch space during precompilation. Background: my scratch space contains symlinks into JLL artifacts. Whenever those JLLs get updated, I need to regenerate the symlinks. By far the easiest way to do this is to simply regenerate the scratch space during precompilation of my package, which AFAIK is guaranteed to happen whenever one of its JLL dependencies changes.
So far this seems to work well, but this off hand remark in the Scratch.jl README.md makes me worry there are issues I am not aware of.