Julia: recompiling stale cache file

Created on 16 May 2017  Â·  8Comments  Â·  Source: JuliaLang/julia

New to Julia. I get this message:

INFO: Recompiling stale cache file /Users/.../.julia/lib/v0.5/Atom.ji for module Atom.

I'm on MacOS 10.10.5. I use atom-juno. I have to delete the .julia/lib/ directory content to fix the problem. A tad inconvenient. Below describes problem and workaround.

http://stackoverflow.com/questions/43124887/julia-recompiling-stale-cache-file

This is probably a duplicate, but there are 1,858 open issues and couldn't find a similar one in finite time.

precompile

Most helpful comment

Done :) Welcome to the Julia community if you have a question/issue like that I would encourage you to first post on https://discourse.julialang.org. Github is primarily meant for keeping track of bugs.

All 8 comments

Hi @ptoche, welcome.

.julia/lib is where the cache is stored, so deleting it will reliably cause re-compilation. Does the message appear in every julia session, no matter what? Is it possible the timestamp of the files in .julia/lib somehow doesn't agree with system time? That can sometimes happen if the files are on an NFS volume.

Hi Jeff

and you may call me Patrick!

Thanks for your reply. Deleting the .julia/lib directory solves the problem each time. I've only been using Julia for about a week now, between 2 to 4 hours per day, and I've had the problem about 5 times, something like every 6 hours of use.

I'm on a MacOS and I work on the internal SSD, which is HFS+. No remote NFS.

The problem is almost surely related to updating and/or installing packages. It goes something like this: I'll install a new package, I'll get a message about dependencies being installed and/or a package needing to be updated, and eventually a complaint about the stale cache files.

The next time it happens, I'll write down the steps more carefully and the exact console messages! Watch this space. Or not, if all goes well. Fingers crossed!

If you update packages, naturally does packages need to be recompiled. Does it happen even if you do not update or install any new packages?

So here. I hadn't used Julia for 12 hours or so. Below the sequence of actions that have just led to the "stale cache file" complaint.

    Pkg.add("Distances")
    INFO: No packages to install, update or remove
    INFO: Package database updated
    INFO: METADATA might be out-of-date — you may not have the latest version of Distances
    INFO: Use `Pkg.update()` to get the latest versions of your packages

    Pkg.update()
    INFO: Updating METADATA...
    INFO: Updating cache of WebSockets...
    INFO: Updating cache of PolynomialFactors...
    INFO: Updating cache of LightGraphs...
    INFO: Updating cache of Compat...
    INFO: Updating cache of JSON...
    INFO: Updating cache of Reactive...
    INFO: Updating Gensys master...
    INFO: Updating AiyagariContinuousTime master...
    INFO: Updating Gadfly master...
    INFO: Computing changes...
    INFO: Upgrading Compat: v0.25.0 => v0.25.1
    INFO: Upgrading JSON: v0.11.0 => v0.12.0
    INFO: Upgrading LightGraphs: v0.7.5 => v0.7.6
    INFO: Upgrading PolynomialFactors: v0.0.4 => v0.0.5
    INFO: Upgrading Reactive: v0.4.1 => v0.5.0
    INFO: Upgrading WebSockets: v0.2.2 => v0.2.3
    WARNING: The following packages have been updated but were already imported:
    - Compat
    - JSON
    - WebSockets
    Restart Julia to use the updated versions.
    INFO: Building EzXML
    INFO: Building Rmath
    INFO: Building Homebrew

    Updated 1 tap (homebrew/core).
    ==> New Formulae
    cockroach
    ==> Updated Formulae
    arangodb
    bit
    bitlbee
    certigo
    convox
    datomic
    ffmpeg
    geoip
    ipfs
    libmaxminddb
    linkerd
    miniupnpc
    mldonkey
    quantlib
    rrdtool
    shellshare
    tee-clc
    tiger-vnc
    traildb
    weechat
    ykpers


    INFO: Building Blosc
    INFO: Building HDF5
    INFO: Building HttpParser
    WARNING: BinDeps.shlib_ext is deprecated.
      likely near /Users/.../.julia/v0.5/HttpParser/deps/build.jl:38
    INFO: Building MbedTLS

    Using system libraries...

Now, turn atom/julia off and on again

    Pkg.update()
    INFO: Recompiling stale cache file /Users/.../.julia/lib/v0.5/HttpCommon.ji for module HttpCommon.
    INFO: Recompiling stale cache file /Users/.../.julia/lib/v0.5/HttpServer.ji for module HttpServer.
    INFO: Recompiling stale cache file /Users/.../.julia/lib/v0.5/Atom.ji for module Atom.
    WARNING: using Lazy.remove in module AtomShell conflicts with an existing identifier.
    INFO: Updating METADATA...
    INFO: Updating Gensys master...
    INFO: Updating AiyagariContinuousTime master...
    INFO: Updating Gadfly master...
    INFO: Computing changes...
    INFO: No packages to install, update or remove

That is expected since HttpCommon depends on Compat and you just updated that package with Pkg.update the system will detect that your cachefile is no longer valid (since it might depend on old code) and will re-precompile HttpCommon for you.

@vchuravy So we should not worry about these "stale cache file" messages? In that case, would you submit an alternative answer to http://stackoverflow.com/questions/43124887/julia-recompiling-stale-cache-file, to reflect the idea that these messages are just an expected part of the Pkg.update() experience. Thanks!

Done :) Welcome to the Julia community if you have a question/issue like that I would encourage you to first post on https://discourse.julialang.org. Github is primarily meant for keeping track of bugs.

@vchuravy , alright will do, thanks for the advice.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

arshpreetsingh picture arshpreetsingh  Â·  3Comments

dpsanders picture dpsanders  Â·  3Comments

StefanKarpinski picture StefanKarpinski  Â·  3Comments

tkoolen picture tkoolen  Â·  3Comments

felixrehren picture felixrehren  Â·  3Comments