MvNormal method redefinition causing compilation error
odell opened this issue · 2 comments
After a fresh installation of Julia 1.3.1, precompiling fails, returning 2 method redefinition errors. The methods are:
Distributions.MvNormal{T, Cov, Mean} where Mean<:(AbstractArray{T, 1} where T) where Cov<:(PDMats.AbstractPDMat{T} where T<:Real) where T<:Real})(AbstractArray{T<:Real, 1}, AbstractArray{U<:Real, 2}) where {T<:Real, U<:Real}
Distributions.MvNormal{T, Cov, Mean} where Mean<:(AbstractArray{T, 1} where T) where Cov<:(PDMats.AbstractPDMat{T} where T<:Real) where T<:Real})(AbstractArray{T<:Real, 1}, AbstractArray{U<:Real, 1}) where {T<:Real, U<:Real}
When I try to construct a MvNormal
distribution by passing 2 arrays of the same length (mu and sig), I get:
Stacktrace: [1] MvNormal(::Array{Float64,1}, ::Array{Float64,1}) at /home/odell/.julia/packages/Mamba/Jotzr/src/distributions/constructors.jl:22 (repeats 80000 times)
The error message points to Mamba/Jotzr/src/distributions/constructors.jl:19
and Mamba/Jotzr/src/distributions/constructors.jl:22
where the constructors are defined. I removed Mamba, added the Distributions package manually, and commented out lines 19-23 of constructors.jl and tried again. The MvNormal
constructor now works. Of course, this isn't much of a solution.
The failure was reproduced on 2 Linux machines. My Mac doesn't seem to have any problems though.
You might try checking out the current master branch of the package. There is a recent commit for these two MvNormal issues. If that solves the issue for you, I'll plan on releasing an updated version of the package with the fixes.
Thanks!