On http://trac.sagemath.org/13826 there is now a workaround. However,
there is currently a problem with where the cache file lives: in
`.sage`. The problem is that running `sage -b` can invalidate the
cache. Indeed `sage -b` removes the cache file from the .sage of the
UID who runs `sage -b`. Other UIDs using that sage still have their
old cache file, which means that `lazy star import` may present the
wrong names as lazily imported.

One solution would be to place the cache file somewhere in SAGE_ROOT.
Then `sage -b` would have to create that cache file. That would
involve running sage as part of `sage -b`. Is it acceptable to do so?
Since the cache file currently gets deleted in setup.py, that would
probably also be the place to create the new one. Hopefully the
original author of lazy_import, Robert, can comment on this?

An alternative would be to check a timestamp during startup, located
somewhere in SAGE_ROOT that gets updated every time `sage -b` gets
run. Then at least a change of the timestamp can be detected and a
rebuild of the cache triggered. Then every UID can synchronize cache
by itself after a `sage -b`. It still means that a cache that really
reflects the particular sage install gets saved in potentially many
UID .sage dirs, but at least they'll be up-to-date.

-- 
You received this message because you are subscribed to the Google Groups 
"sage-devel" group.
To post to this group, send email to sage-devel@googlegroups.com.
To unsubscribe from this group, send email to 
sage-devel+unsubscr...@googlegroups.com.
Visit this group at http://groups.google.com/group/sage-devel?hl=en.


Reply via email to