JuliaHolomorphic / ComplexPhasePortrait.jl

Complex phase portraits for Julia.
Other
25 stars 9 forks source link

Workaround for Observables vs AbstractPlotting clash #11

Open thisrod opened 4 years ago

thisrod commented 4 years ago

I updated ComplexPhasePortrait today, and it failed due to some package versioning snafu:

               _
   _       _ _(_)_     |  Documentation: https://docs.julialang.org
  (_)     | (_) (_)    |
   _ _   _| |_  __ _   |  Type "?" for help, "]?" for Pkg help.
  | | | | | | |/ _` |  |
  | | |_| | | | (_| |  |  Version 1.3.1 (2019-12-30)
 _/ |\__'_|_|_|\__'_|  |  Official https://julialang.org/ release
|__/                   |

julia> using Pkg

julia> pkg"activate ."
Activating new environment at `/private/tmp/foo/Project.toml`

julia> pkg"add ComplexPhasePortrait"
  Updating registry at `~/.julia/registries/General`
  Updating git-repo `https://github.com/JuliaRegistries/General.git`
  Updating registry at `~/.julia/registries/MolSim`
  Updating git-repo `https://github.com/JuliaMolSim/MolSim.git`
 Resolving package versions...
  Updating `/private/tmp/foo/Project.toml`
  [38ac1a67] + ComplexPhasePortrait v0.1.0
  Updating `/private/tmp/foo/Manifest.toml`
  [621f4979] + AbstractFFTs v0.5.0
  [537997a7] + AbstractPlotting v0.9.10
  [13072b0f] + AxisAlgorithms v1.0.0
  [39de3d68] + AxisArrays v0.3.3
  [b99e7846] + BinaryProvider v0.5.8
  [6e34b625] + Bzip2_jll v1.0.6+1
  [aafaddc9] + CatIndices v0.2.1
  [a2cac450] + ColorBrewer v0.4.0
  [3da002f7] + ColorTypes v0.8.1
  [c3611d14] + ColorVectorSpace v0.8.3
  [5ae59095] + Colors v0.9.6
  [34da2185] + Compat v2.2.0
  [e66e0078] + CompilerSupportLibraries_jll v0.2.0+1
  [38ac1a67] + ComplexPhasePortrait v0.1.0
  [ed09eef8] + ComputationalResources v0.3.1
  [d38c429a] + Contour v0.5.1
  [150eb455] + CoordinateTransformations v0.5.0
  [dc8bdbbb] + CustomUnitRanges v1.0.0
  [9a962f9c] + DataAPI v1.1.0
  [864edb3b] + DataStructures v0.17.10
  [e2d170a0] + DataValueInterfaces v1.0.0
  [b4f34e82] + Distances v0.8.2
  [ffbed154] + DocStringExtensions v0.8.1
  [c87230d0] + FFMPEG v0.3.0
  [b22a6f82] + FFMPEG_jll v4.1.0+2
  [4f61f5a4] + FFTViews v0.3.1
  [7a1cc6ca] + FFTW v1.2.0
  [f5851436] + FFTW_jll v3.3.9+4
  [5789e2e9] + FileIO v1.2.2
  [53c48c17] + FixedPointNumbers v0.6.1
  [b38be410] + FreeType v2.1.1
  [d7e528f0] + FreeType2_jll v2.10.1+1
  [663a7486] + FreeTypeAbstraction v0.4.2
  [559328eb] + FriBidi_jll v1.0.5+2
  [4d00f742] + GeometryTypes v0.7.9
  [a2bd30eb] + Graphics v1.0.1
  [bbac6d45] + IdentityRanges v0.3.1
  [2803e5a7] + ImageAxes v0.6.4
  [a09fc81d] + ImageCore v0.8.11
  [51556ac3] + ImageDistances v0.2.7
  [6a3955dd] + ImageFiltering v0.6.9
  [6218d12a] + ImageMagick v1.1.2
  [c73af94c] + ImageMagick_jll v6.9.10-12+0
  [bc367c6b] + ImageMetadata v0.8.0
  [787d08f9] + ImageMorphology v0.2.5
  [4e3cecfd] + ImageShow v0.2.3
  [02fcd773] + ImageTransformations v0.8.3
  [916415d5] + Images v0.19.3
  [9b13fd28] + IndirectArrays v0.5.1
  [1d5cc7b8] + IntelOpenMP_jll v2018.0.3+0
  [a98d9a8b] + Interpolations v0.12.5
  [8197267c] + IntervalSets v0.3.2
  [c8e1da08] + IterTools v1.3.0
  [82899510] + IteratorInterfaceExtensions v1.0.0
  [682c06a0] + JSON v0.21.0
  [aacddb02] + JpegTurbo_jll v2.0.1+0
  [c1c5ebd0] + LAME_jll v3.100.0+0
  [dd192d2f] + LibVPX_jll v1.8.1+1
  [89763e89] + Libtiff_jll v4.0.10+0
  [856f044c] + MKL_jll v2019.0.117+2
  [1914dd2f] + MacroTools v0.5.4
  [dbb5928d] + MappedArrays v0.2.2
  [e1d29d7a] + Missings v0.4.3
  [77ba4419] + NaNMath v0.3.3
  [510215fc] + Observables v0.3.1
  [6fe1bfb0] + OffsetArrays v0.11.4
  [e7412a2a] + Ogg_jll v1.3.3+0
  [458c3c95] + OpenSSL_jll v1.1.1+1
  [efe28fd5] + OpenSpecFun_jll v0.5.3+2
  [91d4177d] + Opus_jll v1.3.1+0
  [bac558e1] + OrderedCollections v1.1.0
  [19eb6ba3] + Packing v0.3.0
  [5432bcbf] + PaddedViews v0.5.1
  [69de0a69] + Parsers v0.3.11
  [995b91a9] + PlotUtils v0.6.3
  [b3c3ace0] + RangeArrays v0.3.2
  [c84ed2f1] + Ratios v0.4.0
  [a223df75] + Reactive v0.8.3
  [3cdcf5f2] + RecipesBase v0.7.0
  [189a3867] + Reexport v0.2.0
  [ae029012] + Requires v1.0.1
  [6038ab10] + Rotations v0.13.0
  [992d4aef] + Showoff v0.3.1
  [73760f76] + SignedDistanceFields v0.4.0
  [699a6c99] + SimpleTraits v0.9.1
  [a2af1166] + SortingAlgorithms v0.3.1
  [276daf66] + SpecialFunctions v0.10.0
  [90137ffa] + StaticArrays v0.12.1
  [2913bbd2] + StatsBase v0.32.1
  [09ab397b] + StructArrays v0.4.2
  [3783bdb8] + TableTraits v1.0.0
  [bd369af6] + Tables v1.0.2
  [06e1c1a7] + TiledIteration v0.2.4
  [1cfade01] + UnicodeFun v0.4.1
  [efce3f68] + WoodburyMatrices v0.5.1
  [83775a58] + Zlib_jll v1.2.11+8
  [3161d3a3] + Zstd_jll v1.4.4+0
  [0ac62f75] + libass_jll v0.14.0+0
  [f638f0a6] + libfdk_aac_jll v0.1.6+1
  [b53b4c65] + libpng_jll v1.6.37+2
  [f27f6e37] + libvorbis_jll v1.3.6+2
  [1270edf5] + x264_jll v2019.5.25+1
  [dfaa095f] + x265_jll v3.0.0+0
  [2a0f44e3] + Base64 
  [ade2ca70] + Dates 
  [8bb1440f] + DelimitedFiles 
  [8ba89e20] + Distributed 
  [b77e0a4c] + InteractiveUtils 
  [76f85450] + LibGit2 
  [8f399da3] + Libdl 
  [37e2e46d] + LinearAlgebra 
  [56ddb016] + Logging 
  [d6f4376e] + Markdown 
  [a63ad114] + Mmap 
  [44cfe95a] + Pkg 
  [de0858da] + Printf 
  [3fa0cd96] + REPL 
  [9a3f8284] + Random 
  [ea8e919c] + SHA 
  [9e88b42a] + Serialization 
  [1a1011a3] + SharedArrays 
  [6462fe0b] + Sockets 
  [2f01184e] + SparseArrays 
  [10745b16] + Statistics 
  [8dfed614] + Test 
  [cf7118a7] + UUIDs 
  [4ec0a83e] + Unicode 
Precompiling project...

julia> using ComplexPhasePortrait
[ Info: Precompiling ComplexPhasePortrait [38ac1a67-8e16-5889-9a62-b2c9995eb50f]
WARNING: Method definition convert(Type{#s55} where #s55<:(Observables.Observable{T} where T), Any) in module Observables at /Users/rpolkinghorne/.julia/packages/Observables/0wrF6/src/Observables.jl:52 overwritten in module AbstractPlotting at /Users/rpolkinghorne/.julia/packages/AbstractPlotting/B5nOF/src/types.jl:288.
  ** incremental compilation may be fatally broken for this module **

WARNING: Method definition copy(Observables.Observable{T}) where {T} in module Observables at /Users/rpolkinghorne/.julia/packages/Observables/0wrF6/src/Observables.jl:30 overwritten in module AbstractPlotting at /Users/rpolkinghorne/.julia/packages/AbstractPlotting/B5nOF/src/interaction/nodes.jl:15.
  ** incremental compilation may be fatally broken for this module **

ERROR: LoadError: LoadError: MethodError: convert(::Type{Observables.Observable}, ::Observables.Observable{Any}) is ambiguous. Candidates:
  convert(::Type{Observables.Observable}, x::Observables.AbstractObservable) in Observables at /Users/rpolkinghorne/.julia/packages/Observables/0wrF6/src/Observables.jl:41
  convert(::Type{T}, x::T) where T<:Observables.Observable in AbstractPlotting at /Users/rpolkinghorne/.julia/packages/AbstractPlotting/B5nOF/src/types.jl:289
Possible fix, define
  convert(::Type{Observables.Observable}, ::Observables.Observable)
Stacktrace:
 [1] setindex!(::Dict{Symbol,Observables.Observable}, ::Observables.Observable{Any}, ::Symbol) at ./dict.jl:380
 [2] Dict{Symbol,Observables.Observable}(::Base.Generator{Base.Iterators.Pairs{Symbol,Array{T,1} where T,NTuple{4,Symbol},NamedTuple{(:color, :marker, :linestyle, :side),Tuple{Array{ColorTypes.RGB{Float64},1},Array{Symbol,1},Array{Union{Nothing, Symbol},1},Array{Symbol,1}}}},typeof(AbstractPlotting.node_pairs)}) at ./dict.jl:103
 [3] #Attributes#6 at /Users/rpolkinghorne/.julia/packages/AbstractPlotting/B5nOF/src/types.jl:292 [inlined]
 [4] (::Core.var"#kw#Type")(::NamedTuple{(:color, :marker, :linestyle, :side),Tuple{Array{ColorTypes.RGB{Float64},1},Array{Symbol,1},Array{Union{Nothing, Symbol},1},Array{Symbol,1}}}, ::Type{AbstractPlotting.Attributes}) at ./none:0
 [5] top-level scope at /Users/rpolkinghorne/.julia/packages/AbstractPlotting/B5nOF/src/theming.jl:16
 [6] include at ./boot.jl:328 [inlined]
 [7] include_relative(::Module, ::String) at ./loading.jl:1105
 [8] include at ./Base.jl:31 [inlined]
 [9] include(::String) at /Users/rpolkinghorne/.julia/packages/AbstractPlotting/B5nOF/src/AbstractPlotting.jl:1
 [10] top-level scope at /Users/rpolkinghorne/.julia/packages/AbstractPlotting/B5nOF/src/AbstractPlotting.jl:37
 [11] include at ./boot.jl:328 [inlined]
 [12] include_relative(::Module, ::String) at ./loading.jl:1105
 [13] include(::Module, ::String) at ./Base.jl:31
 [14] top-level scope at none:2
 [15] eval at ./boot.jl:330 [inlined]
 [16] eval(::Expr) at ./client.jl:425
 [17] top-level scope at ./none:3
in expression starting at /Users/rpolkinghorne/.julia/packages/AbstractPlotting/B5nOF/src/theming.jl:16
in expression starting at /Users/rpolkinghorne/.julia/packages/AbstractPlotting/B5nOF/src/AbstractPlotting.jl:37
ERROR: LoadError: Failed to precompile AbstractPlotting [537997a7-5e4e-5d89-9595-2241ea00577e] to /Users/rpolkinghorne/.julia/compiled/v1.3/AbstractPlotting/6fydZ_eRoYG.ji.
Stacktrace:
 [1] error(::String) at ./error.jl:33
 [2] compilecache(::Base.PkgId, ::String) at ./loading.jl:1283
 [3] _require(::Base.PkgId) at ./loading.jl:1024
 [4] require(::Base.PkgId) at ./loading.jl:922
 [5] require(::Module, ::Symbol) at ./loading.jl:917
 [6] include at ./boot.jl:328 [inlined]
 [7] include_relative(::Module, ::String) at ./loading.jl:1105
 [8] include(::Module, ::String) at ./Base.jl:31
 [9] top-level scope at none:2
 [10] eval at ./boot.jl:330 [inlined]
 [11] eval(::Expr) at ./client.jl:425
 [12] top-level scope at ./none:3
in expression starting at /Users/rpolkinghorne/.julia/packages/ComplexPhasePortrait/k0t2L/src/ComplexPhasePortrait.jl:3
ERROR: Failed to precompile ComplexPhasePortrait [38ac1a67-8e16-5889-9a62-b2c9995eb50f] to /Users/rpolkinghorne/.julia/compiled/v1.3/ComplexPhasePortrait/tkJfA_eRoYG.ji.
Stacktrace:
 [1] error(::String) at ./error.jl:33
 [2] compilecache(::Base.PkgId, ::String) at ./loading.jl:1283
 [3] _require(::Base.PkgId) at ./loading.jl:1024
 [4] require(::Base.PkgId) at ./loading.jl:922
 [5] require(::Module, ::Symbol) at ./loading.jl:917

My workaround was to force the versions that were used in the last successful test on Travis:

julia> pkg"add Observables@0.2.3 AbstractPlotting@0.9.17"
 Resolving package versions...
  Updating `~/.julia/environments/v1.3/Project.toml`
  [537997a7] + AbstractPlotting v0.9.17
  [510215fc] + Observables v0.2.3
  Updating `~/.julia/environments/v1.3/Manifest.toml`
  [85c772de] + AbstractNumbers v0.2.1
  [537997a7] ↑ AbstractPlotting v0.9.10 ⇒ v0.9.17
  [6e34b625] - Bzip2_jll v1.0.6+1
  [35d6a980] + ColorSchemes v3.5.0
  [c87230d0] ↓ FFMPEG v0.3.0 ⇒ v0.2.4
  [b22a6f82] - FFMPEG_jll v4.1.0+2
  [d7e528f0] - FreeType2_jll v2.10.1+1
  [559328eb] - FriBidi_jll v1.0.5+2
  [c1c5ebd0] - LAME_jll v3.100.0+0
  [dd192d2f] - LibVPX_jll v1.8.1+1
  [510215fc] ↓ Observables v0.3.1 ⇒ v0.2.3
  [e7412a2a] - Ogg_jll v1.3.3+0
  [458c3c95] - OpenSSL_jll v1.1.1+1
  [91d4177d] - Opus_jll v1.3.1+0
  [0ac62f75] - libass_jll v0.14.0+0
  [f638f0a6] - libfdk_aac_jll v0.1.6+1
  [f27f6e37] - libvorbis_jll v1.3.6+2
  [1270edf5] - x264_jll v2019.5.25+1
  [dfaa095f] - x265_jll v3.0.0+0

julia> pkg"precompile"
Precompiling project...
Precompiling Observables
[ Info: Precompiling Observables [510215fc-4207-5dde-b226-833fc4488ee2]
Precompiling AbstractPlotting
[ Info: Precompiling AbstractPlotting [537997a7-5e4e-5d89-9595-2241ea00577e]
Precompiling ComplexPhasePortrait
[ Info: Precompiling ComplexPhasePortrait [38ac1a67-8e16-5889-9a62-b2c9995eb50f]

julia> using ComplexPhasePortrait

julia> 

Hopefully this will be fixed soon. If not, it might be worth adding some explicit compatibility rules.