Skip to content

Workaround for Observables vs AbstractPlotting clash #11

@thisrod

Description

@thisrod

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions