Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Warnings related to package precompilation #12252

Closed
yurivish opened this issue Jul 21, 2015 · 8 comments
Closed

Warnings related to package precompilation #12252

yurivish opened this issue Jul 21, 2015 · 8 comments
Labels
compiler:precompilation Precompilation of modules packages Package management and loading

Comments

@yurivish
Copy link
Contributor

I just updated to the latest Julia 0.4 nightly to try out package precompilation and received some strange warnings when using Images immediately after running Base.compile(:Images).

From what I can tell, the package loaded properly, and the errors did not re-occur when I started a new Julia REPL and ran using Images there.

Steps:

  • Downloaded the latest Julia nightly
  • Started a REPL at the command line
  • Pkg.update()
  • Base.compile(:Images)
  • using Images

Here are the errors:

julia> using Images
warning: Module Compat uuid did not match cache file
WARNING: deserialization checks failed while attempting to load cache from /Users/yurivish/.julia/lib/v0.4/Color.ji
warning: Module Compat uuid did not match cache file
WARNING: deserialization checks failed while attempting to load cache from /Users/yurivish/.julia/lib/v0.4/FixedPointNumbers.ji
warning: Module Color uuid did not match cache file
WARNING: deserialization checks failed while attempting to load cache from /Users/yurivish/.julia/lib/v0.4/Images.ji

Here's the full log:


julia> versioninfo()
Julia Version 0.4.0-dev+6099
Commit a93d1eb (2015-07-20 16:18 UTC)
Platform Info:
  System: Darwin (x86_64-apple-darwin13.4.0)
  CPU: Intel(R) Core(TM) i7-3615QM CPU @ 2.30GHz
  WORD_SIZE: 64
  BLAS: libopenblas (USE64BITINT DYNAMIC_ARCH NO_AFFINITY Sandybridge)
  LAPACK: libopenblas
  LIBM: libopenlibm
  LLVM: libLLVM-3.3

julia> Base.compile(:Images)
Warning: New definition 
    convert(Type{Images.Image{#Cdest<:Union{Color.AbstractAlphaColorValue, Color.ColorValue}, N<:Any, A<:AbstractArray}}, Images.AbstractImageDirect{#Csrc<:Union{Color.AbstractAlphaColorValue, Color.ColorValue}, N<:Any}) at /Users/yurivish/.julia/v0.4/Images/src/core.jl:229
is ambiguous with: 
    convert(Type{Images.Image{#T<:Any, N<:Any, A<:AbstractArray}}, Images.Image{#T<:Any, N<:Any, A<:AbstractArray}) at /Users/yurivish/.julia/v0.4/Images/src/core.jl:202.
To fix, define 
    convert(Type{Images.Image{_<:Union{Color.AbstractAlphaColorValue, Color.ColorValue}, N<:Any, A<:AbstractArray}}, Images.Image{_<:Union{Color.AbstractAlphaColorValue, Color.ColorValue}, N<:Any, A<:AbstractArray})
before the new definition.
Warning: New definition 
    -(Images.AbstractImageDirect, Base.Range) at /Users/yurivish/.julia/v0.4/Images/src/algorithms.jl:30
is ambiguous with: 
    -(AbstractArray{#T<:Base.Dates.TimeType, N<:Any}, Base.Range{#T<:Base.Dates.TimeType}) at dates/arithmetic.jl:103.
To fix, define 
    -(Images.AbstractImageDirect{#T<:Base.Dates.TimeType, N<:Any}, Base.Range{#T<:Base.Dates.TimeType})
before the new definition.
Warning: New definition 
    -(Images.AbstractImageDirect, AbstractArray) at /Users/yurivish/.julia/v0.4/Images/src/algorithms.jl:31
is ambiguous with: 
    -(AbstractArray{#T<:Base.Dates.TimeType, N<:Any}, Base.Range{#T<:Base.Dates.TimeType}) at dates/arithmetic.jl:103.
To fix, define 
    -(Images.AbstractImageDirect{#T<:Base.Dates.TimeType, N<:Any}, Base.Range{#T<:Base.Dates.TimeType})
before the new definition.
Warning: New definition 
    -(Images.AbstractImageDirect, AbstractArray) at /Users/yurivish/.julia/v0.4/Images/src/algorithms.jl:31
is ambiguous with: 
    -(AbstractArray{#T<:Base.Dates.TimeType, N<:Any}, Union{DenseArray{#P<:Union{Base.Dates.Period, Base.Dates.CompoundPeriod}, N<:Any}, Base.SubArray{#P<:Union{Base.Dates.Period, Base.Dates.CompoundPeriod}, N<:Any, A<:DenseArray, I<:Tuple{Vararg{Union{Base.Colon, Base.Range{Int64}, Int64}}}, LD<:Any}}) at dates/arithmetic.jl:88.
To fix, define 
    -(Images.AbstractImageDirect{#T<:Base.Dates.TimeType, N<:Any}, Union{DenseArray{#P<:Union{Base.Dates.Period, Base.Dates.CompoundPeriod}, N<:Any}, Base.SubArray{#P<:Union{Base.Dates.Period, Base.Dates.CompoundPeriod}, N<:Any, A<:DenseArray, I<:Tuple{Vararg{Union{Base.Colon, Base.Range{Int64}, Int64}}}, LD<:Any}})
before the new definition.
Warning: New definition 
    -(Images.AbstractImageDirect, AbstractArray) at /Users/yurivish/.julia/v0.4/Images/src/algorithms.jl:31
is ambiguous with: 
    -(AbstractArray{#T<:Base.Dates.TimeType, N<:Any}, AbstractArray{#T<:Base.Dates.TimeType, N<:Any}) at dates/arithmetic.jl:105.
To fix, define 
    -(Images.AbstractImageDirect{#T<:Base.Dates.TimeType, N<:Any}, AbstractArray{#T<:Base.Dates.TimeType, N<:Any})
before the new definition.
"/Users/yurivish/.julia/lib/v0.4/Images.ji"

julia> using Images
warning: Module Compat uuid did not match cache file
WARNING: deserialization checks failed while attempting to load cache from /Users/yurivish/.julia/lib/v0.4/Color.ji
warning: Module Compat uuid did not match cache file
WARNING: deserialization checks failed while attempting to load cache from /Users/yurivish/.julia/lib/v0.4/FixedPointNumbers.ji
warning: Module Color uuid did not match cache file
WARNING: deserialization checks failed while attempting to load cache from /Users/yurivish/.julia/lib/v0.4/Images.ji
Warning: New definition 
    convert(Type{Images.Image{#Cdest<:Union{Color.AbstractAlphaColorValue, Color.ColorValue}, N<:Any, A<:AbstractArray}}, Images.AbstractImageDirect{#Csrc<:Union{Color.AbstractAlphaColorValue, Color.ColorValue}, N<:Any}) at /Users/yurivish/.julia/v0.4/Images/src/core.jl:229
is ambiguous with: 
    convert(Type{Images.Image{#T<:Any, N<:Any, A<:AbstractArray}}, Images.Image{#T<:Any, N<:Any, A<:AbstractArray}) at /Users/yurivish/.julia/v0.4/Images/src/core.jl:202.
To fix, define 
    convert(Type{Images.Image{_<:Union{Color.AbstractAlphaColorValue, Color.ColorValue}, N<:Any, A<:AbstractArray}}, Images.Image{_<:Union{Color.AbstractAlphaColorValue, Color.ColorValue}, N<:Any, A<:AbstractArray})
before the new definition.
Warning: New definition 
    -(Images.AbstractImageDirect, Base.Range) at /Users/yurivish/.julia/v0.4/Images/src/algorithms.jl:30
is ambiguous with: 
    -(AbstractArray{#T<:Base.Dates.TimeType, N<:Any}, Base.Range{#T<:Base.Dates.TimeType}) at dates/arithmetic.jl:103.
To fix, define 
    -(Images.AbstractImageDirect{#T<:Base.Dates.TimeType, N<:Any}, Base.Range{#T<:Base.Dates.TimeType})
before the new definition.
Warning: New definition 
    -(Images.AbstractImageDirect, AbstractArray) at /Users/yurivish/.julia/v0.4/Images/src/algorithms.jl:31
is ambiguous with: 
    -(AbstractArray{#T<:Base.Dates.TimeType, N<:Any}, Base.Range{#T<:Base.Dates.TimeType}) at dates/arithmetic.jl:103.
To fix, define 
    -(Images.AbstractImageDirect{#T<:Base.Dates.TimeType, N<:Any}, Base.Range{#T<:Base.Dates.TimeType})
before the new definition.
Warning: New definition 
    -(Images.AbstractImageDirect, AbstractArray) at /Users/yurivish/.julia/v0.4/Images/src/algorithms.jl:31
is ambiguous with: 
    -(AbstractArray{#T<:Base.Dates.TimeType, N<:Any}, Union{DenseArray{#P<:Union{Base.Dates.Period, Base.Dates.CompoundPeriod}, N<:Any}, Base.SubArray{#P<:Union{Base.Dates.Period, Base.Dates.CompoundPeriod}, N<:Any, A<:DenseArray, I<:Tuple{Vararg{Union{Base.Colon, Base.Range{Int64}, Int64}}}, LD<:Any}}) at dates/arithmetic.jl:88.
To fix, define 
    -(Images.AbstractImageDirect{#T<:Base.Dates.TimeType, N<:Any}, Union{DenseArray{#P<:Union{Base.Dates.Period, Base.Dates.CompoundPeriod}, N<:Any}, Base.SubArray{#P<:Union{Base.Dates.Period, Base.Dates.CompoundPeriod}, N<:Any, A<:DenseArray, I<:Tuple{Vararg{Union{Base.Colon, Base.Range{Int64}, Int64}}}, LD<:Any}})
before the new definition.
Warning: New definition 
    -(Images.AbstractImageDirect, AbstractArray) at /Users/yurivish/.julia/v0.4/Images/src/algorithms.jl:31
is ambiguous with: 
    -(AbstractArray{#T<:Base.Dates.TimeType, N<:Any}, AbstractArray{#T<:Base.Dates.TimeType, N<:Any}) at dates/arithmetic.jl:105.
To fix, define 
    -(Images.AbstractImageDirect{#T<:Base.Dates.TimeType, N<:Any}, AbstractArray{#T<:Base.Dates.TimeType, N<:Any})
before the new definition.

julia> imread
imread (generic function with 8 methods)
@yurivish yurivish changed the title Scary warnings related to package precompilation Warnings related to package precompilation Jul 21, 2015
@vtjnash
Copy link
Sponsor Member

vtjnash commented Jul 21, 2015

Should we add a message to the end of Pkg.update() telling the user they need to restart Julia?

@yurivish
Copy link
Contributor Author

Is there a way to make it so that the user wouldn't have to restart?

@vtjnash
Copy link
Sponsor Member

vtjnash commented Jul 21, 2015

call workspace()

@kshyatt kshyatt added the packages Package management and loading label Jul 21, 2015
@timholy
Copy link
Sponsor Member

timholy commented Jul 21, 2015

All the ambiguity warnings are a consequence of #12115 (recently merged). We're still noodling over how to fix them.

@yurivish
Copy link
Contributor Author

Re-using a package after a call to workspace() still triggers the errors:

julia> versioninfo()
Julia Version 0.4.0-dev+6099
Commit a93d1eb (2015-07-20 16:18 UTC)
Platform Info:
  System: Darwin (x86_64-apple-darwin13.4.0)
  CPU: Intel(R) Core(TM) i7-3615QM CPU @ 2.30GHz
  WORD_SIZE: 64
  BLAS: libopenblas (USE64BITINT DYNAMIC_ARCH NO_AFFINITY Sandybridge)
  LAPACK: libopenblas
  LIBM: libopenlibm
  LLVM: libLLVM-3.3

julia> using Color

julia> workspace()

julia> using Color
warning: Module Main uuid did not match cache file
WARNING: deserialization checks failed while attempting to load cache from /Users/yurivish/.julia/lib/v0.4/Color.ji
warning: Module Main uuid did not match cache file
WARNING: deserialization checks failed while attempting to load cache from /Users/yurivish/.julia/lib/v0.4/FixedPointNumbers.ji
warning: Module Main uuid did not match cache file
WARNING: deserialization checks failed while attempting to load cache from /Users/yurivish/.julia/lib/v0.4/Compat.ji
warning: Module Main uuid did not match cache file
WARNING: deserialization checks failed while attempting to load cache from /Users/yurivish/.julia/lib/v0.4/Graphics.ji

@vtjnash
Copy link
Sponsor Member

vtjnash commented Jul 22, 2015

oh right. i forgot i put some code into workspace() that specifically inhibits this. i guess it might be worth revisiting that.

@stevengj
Copy link
Member

The errors about uuid mismatch are a dup of #12508.

@tkelman tkelman added the compiler:precompilation Precompilation of modules label Aug 17, 2016
@vtjnash
Copy link
Sponsor Member

vtjnash commented Aug 25, 2016

should be much improved by #18150. although we might still want to add a message to the end of Pkg.update suggesting restarting the REPL to pick up the changes

@vtjnash vtjnash closed this as completed Aug 25, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
compiler:precompilation Precompilation of modules packages Package management and loading
Projects
None yet
Development

No branches or pull requests

6 participants