3

The following message appears everytime I attempt to use 'Gadfly', 'Bio', or several other packages (I'm using 'Bio' in the example):

julia> using Bio
INFO: Recompiling stale cache file C:\Users\CaitlinG\emacs251\.julia\lib\v0.5\Di
stributions.ji for module Distributions.
INFO: Recompiling stale cache file C:\Users\CaitlinG\emacs251\.julia\lib\v0.5\Bi
o.ji for module Bio. 

Julia 0.5.1 (all packages updated) Windows 10 (fully updated) Emacs 25.1

This is inconvenient since I can only assume it is not a "typical" component of importing a package. Can the issue be resolved by deleting the .julia directory?

Thanks.

CaitlinG
  • 1,955
  • 3
  • 25
  • 35
  • 3
    Deleting the `.julia` directory might be a bit more of a chainsaw than you need. Maybe try deleting `.julia\lib\v0.5` first to empty out all the stored caches. It could be that you ran Julia with elevated permissions at one point, which then created files that it's not normally able to overwrite. – mbauman Mar 30 '17 at 19:01
  • Thank you @MattB. That appears to have solved the problem. The package is now compiled only once with no mention of a "stale cache file". – CaitlinG Mar 30 '17 at 19:38

2 Answers2

5

Moving my comment to an answer since that appears to have resolved the question:

Julia caches its precompiled output within the .julia/lib folder. If any of the files there are older than the original source, it'll recompile them. It seems like Julia was having trouble overwriting the cache for a few specific packages here, so it was persistently recompiling them. By deleting the lib folder, you clear out these caches. Julia will recompile all packages, but it should now write them with the correct permissions that will allow them to be overwritten in the future.

Deleting the entire .julia folder is a much more drastic step that risks losing edits you've made to packages, and you'd need to re-install all the packages you've added.

mbauman
  • 30,958
  • 4
  • 88
  • 123
3

The messages about recompiling a stale cache file are not warnings, but rather for your information. It means that something changed on your system and the current cache file is no longer considered valid, so instead of providing you a potentially old cachefile, Julia automatically cleans up and recompiles the cache.

vchuravy
  • 1,208
  • 10
  • 22