From: Andreas K. <li...@in...> - 2018-12-29 13:53:26
|
Noah, Noah Reddell <noa...@gm...> writes: >> Having it on /tmp on many systems makes the cache non-persistent, which >> kind of defeats the purpose of having a cache in the first place... perhaps >> there is a more suitable place, but i'm not aware of it. >> > There's a complex set of factors to balance for sure. Since the default > behavior is to remove build products, I don't think the default > POCL_CACHE_DIR needs to be persistent storage. $HOME is generally going to > be slower and farther away than $TMPDIR. > Most importantly the behavior is already customizable through > POCL_CACHE_DIR variable. I have a work-around. A general user wouldn't > know to adjust the variable upon encountering this SEGFAULT unless > discovering record of this discussion. ~/.cache (or, really, whatever $XDG_CACHE_HOME points to) is the default location for "user-specific non-essential data files" under the XDG Base Directory Specification [1]. While that's a desktop-focused spec, it establishes a convention that is independent of the desktop use case per se. In particular, all parts of the spec are applicable (in a technical sense) even in a command line context. Arguably, the machine you are using should be configured to put $XDG_CACHE_HOME someplace sensible (ideally, on a per-compute-node FS). IMO, this would be a much preferable outcome compared to inventing yet another convention or reverting to someplace in $TMPDIR, which is insecure in a multi-user workstation/desktop setting. [1] https://specifications.freedesktop.org/basedir-spec/latest/ Andreas |