Julia: Uninformative error message for non-precompilable module

Created on 19 Oct 2016  路  9Comments  路  Source: JuliaLang/julia

After an update, I tried to use the module Gadfly and got the following error message.

WARNING: Module Compat with uuid 11748883728107 is missing from the cache.

This may mean module Compat does not support precompilation but is imported by a module that does.

ERROR: LoadError: Declaring __precompile__(false) is not allowed in files that are being precompiled.

It took me a few minutes of searching to find issue #12508 and learn that I could work around the error by turning the REPL off and on again.

I would have appreciated being told up front, in the error message, that this was an minor annoyance I could work around easily, rather than a major bug that would make Gadfly unusable until the next release. (I seem to recall from the issue tracker that such catastrophic bugs have been seen before.)

versioninfo():

  • Julia Version 0.5.0
  • Commit 3c9d753 (2016-09-19 18:14 UTC)
  • Platform Info:

    • System: Linux (x86_64-linux-gnu)

    • CPU: Intel(R) Core(TM) i5-6200U CPU @ 2.30GHz

    • WORD_SIZE: 64

    • BLAS: libopenblas (NO_LAPACKE DYNAMIC_ARCH NO_AFFINITY Haswell)

    • LAPACK: liblapack.so.3

    • LIBM: libopenlibm

    • LLVM: libLLVM-3.7.1 (ORCJIT, broadwell)

precompile

Most helpful comment

I suspect what may have happened is you might have already had Compat loaded, done a Pkg.update that upgraded it to a new version, then tried to load a package that depended on it. I think that breaks right now, and should at least be made to warn, if possible.

All 9 comments

What version of julia are you using? versioninfo() ?

I believe this has been fixed on 0.5.

Thanks for the reminder, @tkelman! I'm using 0.5.0. I've added versioninfo() to the issue report.

Can you give full reproduction steps? What else is in Pkg.status() ?

@tkelman: Unfortunately, I can't reproduce, because the error hasn't come back since I restarted the REPL, and I'm not going to push my luck by trying to break my installation again.

For what it's worth, here's my current Pkg.status() output. The struck-through packages, and perhaps others as well, were not yet installed at the time I had the problem.

6 required packages:

  • Compose 0.4.4
  • Elliptic 0.2.0
  • Gadfly 0.5.2
  • Interpolations 0.3.6
  • ODE 0.2.1+ master
  • ValidatedNumerics 0.5.0

44 additional packages:

  • AxisAlgorithms 0.1.5
  • BinDeps 0.4.5
  • CRlibm 0.2.3 67574177 (dirty)
  • Calculus 0.1.15
  • ColorTypes 0.2.12
  • Colors 0.6.9
  • Compat 0.9.3
  • Contour 0.2.0
  • DataArrays 0.3.9
  • DataFrames 0.8.4
  • DataStructures 0.4.6
  • Distances 0.3.2
  • Distributions 0.11.0
  • FileIO 0.2.0
  • FixedPointNumbers 0.2.1
  • FixedSizeArrays 0.2.4
  • ForwardDiff 0.2.5
  • GZip 0.2.20
  • Hexagons 0.0.4
  • Hiccup 0.0.3
  • Iterators 0.2.0
  • JSON 0.8.0
  • Juno 0.2.3
  • KernelDensity 0.3.0
  • Lazy 0.11.4
  • Loess 0.1.0
  • MacroTools 0.3.2
  • Measures 0.0.3
  • Media 0.2.3
  • NaNMath 0.2.1
  • Optim 0.6.1
  • PDMats 0.5.0
  • Polynomials 0.1.0
  • PositiveFactorizations 0.0.2
  • Ratios 0.0.4
  • Reexport 0.0.3
  • Rmath 0.1.4
  • SHA 0.2.1
  • Showoff 0.0.7
  • SortingAlgorithms 0.1.0
  • StatsBase 0.11.1
  • StatsFuns 0.3.1
  • URIParser 0.1.6
  • WoodburyMatrices 0.2.0

I suspect what may have happened is you might have already had Compat loaded, done a Pkg.update that upgraded it to a new version, then tried to load a package that depended on it. I think that breaks right now, and should at least be made to warn, if possible.

That seems consistent with what I experienced.

For what it's worth, Julia just automatically recompiled my Compat and Gadfly cache files, in a freshly started REPL, with no problems. Version info is the same, and I don't think my packages have changed since my last comment.

Ran into the same thing with Gadfly and module Measures. This issue here helped, thank you.

Can this be closed? https://github.com/JuliaLang/julia/issues/19017#issuecomment-256463711 seems to be the solution.

This warns now.

Was this page helpful?
0 / 5 - 0 ratings