JuliaIO / MAT.jl

Julia module for reading MATLAB files
MIT License
278 stars 71 forks source link

Precompiling fails in Julia 1.0 #90

Closed halars closed 5 years ago

halars commented 6 years ago

Precompiling fails in Julia 1.0:

`Precompiling MAT [23992714-dd62-5051-b70f-ba57cb901cac]

ERROR: LoadError: LoadError: syntax: extra token "MatlabHDF5File" after end of expression Stacktrace: [1] include at ./boot.jl:317 [inlined] [2] include_relative(::Module, ::String) at ./loading.jl:1038 [3] include at ./sysimg.jl:29 [inlined] [4] include(::String) at /root/.julia/dev/MAT/src/MAT.jl:27 [5] top-level scope at none:0 [6] include at ./boot.jl:317 [inlined] [7] include_relative(::Module, ::String) at ./loading.jl:1038 [8] include(::Module, ::String) at ./sysimg.jl:29 [9] top-level scope at none:2 [10] eval at ./boot.jl:319 [inlined] [11] eval(::Expr) at ./client.jl:389 [12] top-level scope at ./none:3 in expression starting at /root/.julia/dev/MAT/src/MAT_HDF5.jl:39 in expression starting at /root/.julia/dev/MAT/src/MAT.jl:31 ERROR: Failed to precompile MAT [23992714-dd62-5051-b70f-ba57cb901cac] to /root/.julia/compiled/v1.0/MAT/3FHIv.ji. Stacktrace: [1] error(::String) at ./error.jl:33 [2] macro expansion at ./logging.jl:313 [inlined] [3] compilecache(::Base.PkgId, ::String) at ./loading.jl:1184 [4] precompile(::Pkg.Types.Context) at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.0/Pkg/src/API.jl:489 [5] do_precompile!(::Dict{Symbol,Any}, ::Array{String,1}, ::Dict{Symbol,Any}) at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.0/Pkg/src/REPLMode.jl:586 [6] #invokelatest#1(::Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{(),Tuple{}}}, ::Function, ::Any, ::Any, ::Vararg{Any,N} where N) at ./essentials.jl:686 [7] invokelatest(::Any, ::Any, ::Vararg{Any,N} where N) at ./essentials.jl:685 [8] do_cmd!(::Pkg.REPLMode.PkgCommand, ::REPL.LineEditREPL) at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.0/Pkg/src/REPLMode.jl:542 [9] #do_cmd#30(::Bool, ::Function, ::REPL.LineEditREPL, ::String) at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.0/Pkg/src/REPLMode.jl:507 [10] do_cmd at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.0/Pkg/src/REPLMode.jl:503 [inlined] [11] (::getfield(Pkg.REPLMode, Symbol("##41#44")){REPL.LineEditREPL,REPL.LineEdit.Prompt})(::REPL.LineEdit.MIState, ::Base.GenericIOBuffer{Array{UInt8,1}}, ::Bool) at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.0/Pkg/src/REPLMode.jl:842 [12] #invokelatest#1 at ./essentials.jl:686 [inlined] [13] invokelatest at ./essentials.jl:685 [inlined] [14] run_interface(::REPL.Terminals.TextTerminal, ::REPL.LineEdit.ModalInterface, ::REPL.LineEdit.MIState) at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.0/REPL/src/LineEdit.jl:2261 [15] run_frontend(::REPL.LineEditREPL, ::REPL.REPLBackendRef) at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.0/REPL/src/REPL.jl:1029 [16] run_repl(::REPL.AbstractREPL, ::Any) at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.0/REPL/src/REPL.jl:191 [17] (::getfield(Base, Symbol("##720#722")){Bool,Bool,Bool,Bool})(::Module) at ./logging.jl:311 [18] #invokelatest#1 at ./essentials.jl:686 [inlined] [19] invokelatest at ./essentials.jl:685 [inlined] [20] macro expansion at ./logging.jl:308 [inlined] [21] run_main_repl(::Bool, ::Bool, ::Bool, ::Bool, ::Bool) at ./client.jl:330 [22] exec_options(::Base.JLOptions) at ./client.jl:242 [23] _start() at ./client.jl:421`

Precompiling in Julia 0.7, yield the following deprecation warnings:

`Precompiling MAT [ Info: Precompiling MAT [23992714-dd62-5051-b70f-ba57cb901cac]

┌ Warning: Deprecated syntax type at /root/.julia/dev/MAT/src/MAT_HDF5.jl:39. │ Use mutable struct instead. └ @ ~/.julia/dev/MAT/src/MAT_HDF5.jl:39 ┌ Warning: Deprecated syntax type at /root/.julia/dev/MAT/src/MAT_HDF5.jl:535. │ Use mutable struct instead. └ @ ~/.julia/dev/MAT/src/MAT_HDF5.jl:535 ┌ Warning: Deprecated syntax parametric method syntax read_complex{T}(dtype::HDF5Datatype, dset::HDF5Dataset, ::Type{Array{T}}) around /root/.julia/dev/MAT/src/MAT_HDF5.jl:119. │ Use read_complex(dtype::HDF5Datatype, dset::HDF5Dataset, #unused#::Type{Array{T}}) where T instead. └ @ ~/.julia/dev/MAT/src/MAT_HDF5.jl:119 ┌ Warning: Deprecated syntax parametric method syntax m_writetypeattr{T}(dset, ::Type{Complex{T}}) around /root/.julia/dev/MAT/src/MAT_HDF5.jl:298. │ Use m_writetypeattr(dset, #unused#::Type{Complex{T}}) where T instead. └ @ ~/.julia/dev/MAT/src/MAT_HDF5.jl:298 ┌ Warning: Deprecated syntax parametric method syntax m_writearray{T <: HDF5BitsOrBool}(parent::HDF5Parent, name::String, adata::Array{T}) around /root/.julia/dev/MAT/src/MAT_HDF5.jl:328. │ Use m_writearray(parent::HDF5Parent, name::String, adata::Array{T}) where T <: HDF5BitsOrBool instead. └ @ ~/.julia/dev/MAT/src/MAT_HDF5.jl:328 ┌ Warning: Deprecated syntax parametric method syntax m_writearray{T <: HDF5BitsOrBool}(parent::HDF5Parent, name::String, adata::Array{Complex{T}}) around /root/.julia/dev/MAT/src/MAT_HDF5.jl:340. │ Use m_writearray(parent::HDF5Parent, name::String, adata::Array{Complex{T}}) where T <: HDF5BitsOrBool instead. └ @ ~/.julia/dev/MAT/src/MAT_HDF5.jl:340 ┌ Warning: Deprecated syntax parametric method syntax m_write{T <: HDF5BitsOrBool}(mfile::MatlabHDF5File, parent::HDF5Parent, name::String, data::Union{T, Complex{T}, Array{T}, Array{Complex{T}}}) around /root/.julia/dev/MAT/src/MAT_HDF5.jl:362. │ Use m_write(mfile::MatlabHDF5File, parent::HDF5Parent, name::String, data::Union{T, Complex{T}, Array{T}, Array{Complex{T}}}) where T <: HDF5BitsOrBool instead. └ @ ~/.julia/dev/MAT/src/MAT_HDF5.jl:362 ┌ Warning: Deprecated syntax parametric method syntax m_write{T}(mfile::MatlabHDF5File, parent::HDF5Parent, name::String, data::SparseMatrixCSC{T}) around /root/.julia/dev/MAT/src/MAT_HDF5.jl:376. │ Use m_write(mfile::MatlabHDF5File, parent::HDF5Parent, name::String, data::SparseMatrixCSC{T}) where T instead. └ @ ~/.julia/dev/MAT/src/MAT_HDF5.jl:376 WARNING: importing deprecated binding Base.SparseMatrixCSC into MAT_HDF5. WARNING: Base.SparseMatrixCSC is deprecated, run using SparseArrays to load sparse array functionality likely near /root/.julia/dev/MAT/src/MAT_HDF5.jl:375 ┌ Warning: Deprecated syntax parametric method syntax m_write{T}(mfile::MatlabHDF5File, parent::HDF5Parent, name::String, data::Array{T}) around /root/.julia/dev/MAT/src/MAT_HDF5.jl:429. │ Use m_write(mfile::MatlabHDF5File, parent::HDF5Parent, name::String, data::Array{T}) where T instead. └ @ ~/.julia/dev/MAT/src/MAT_HDF5.jl:429 WARNING: importing deprecated binding Base.Associative into MAT_HDF5. WARNING: Base.Associative is deprecated, use AbstractDict instead. likely near /root/.julia/dev/MAT/src/MAT_HDF5.jl:508 ┌ Warning: Deprecated syntax type at /root/.julia/dev/MAT/src/MAT_v5.jl:41. │ Use mutable struct instead. └ @ ~/.julia/dev/MAT/src/MAT_v5.jl:41 ┌ Warning: Deprecated syntax parametric method syntax read_bswap{T}(f::IO, swap_bytes::Bool, ::Type{T}) around /root/.julia/dev/MAT/src/MAT_v5.jl:87. │ Use read_bswap(f::IO, swap_bytes::Bool, #unused#::Type{T}) where T instead. └ @ ~/.julia/dev/MAT/src/MAT_v5.jl:87 ┌ Warning: Deprecated syntax parametric method syntax read_bswap{T}(f::IO, swap_bytes::Bool, ::Type{T}, dim::Union{Int, Tuple{Vararg{Int}}}) around /root/.julia/dev/MAT/src/MAT_v5.jl:90. │ Use read_bswap(f::IO, swap_bytes::Bool, #unused#::Type{T}, dim::Union{Int, Tuple{Vararg{Int}}}) where T instead. └ @ ~/.julia/dev/MAT/src/MAT_v5.jl:90 ┌ Warning: Deprecated syntax parametric method syntax read_element{T}(f::IO, swap_bytes::Bool, ::Type{T}) around /root/.julia/dev/MAT/src/MAT_v5.jl:118. │ Use read_element(f::IO, swap_bytes::Bool, #unused#::Type{T}) where T instead. └ @ ~/.julia/dev/MAT/src/MAT_v5.jl:118 ┌ Warning: Deprecated syntax parametric method syntax read_data{T}(f::IO, swap_bytes::Bool, ::Type{T}, dimensions::Vector{Int32}) around /root/.julia/dev/MAT/src/MAT_v5.jl:137. │ Use read_data(f::IO, swap_bytes::Bool, #unused#::Type{T}, dimensions::Vector{Int32}) where T instead. └ @ ~/.julia/dev/MAT/src/MAT_v5.jl:137 ┌ Warning: Deprecated syntax parametric method syntax matwrite{S, T}(filename::AbstractString, dict::Associative{S, T}) around /root/.julia/dev/MAT/src/MAT.jl:147. │ Use matwrite(filename::AbstractString, dict::Associative{S, T}) where {S, T} instead. └ @ ~/.julia/dev/MAT/src/MAT.jl:147 WARNING: importing deprecated binding Base.Associative into MAT. WARNING: Base.Associative is deprecated, use AbstractDict instead. likely near /root/.julia/dev/MAT/src/MAT.jl:140 WARNING: Base.Associative is deprecated, use AbstractDict instead. likely near /root/.julia/dev/MAT/src/MAT.jl:140`

BoundaryValueProblems commented 6 years ago

I have the exactly the same problem on my 32 bit linux machine with Julia v1.0.0. On the other hand, on my MacBook Pro running v0.7.0, MAT.jl is precompiled without any problems (though many warnings were generated).

Nosferican commented 6 years ago

QuantEcon.jl is updating to 1.0 and has a PR with few deprecations working on 0.7. Wanted to check on the progress here as MAT.jl is one of the last dependencies that needs a 1.0 compat release.

quaertym commented 6 years ago

I have the same problem on macOS High Sierra with Julia v1.0.0.

julia> using MAT
[ Info: Precompiling MAT [23992714-dd62-5051-b70f-ba57cb901cac]
ERROR: LoadError: LoadError: syntax: extra token "MatlabHDF5File" after end of expression
Stacktrace:
 [1] include at ./boot.jl:317 [inlined]
 [2] include_relative(::Module, ::String) at ./loading.jl:1038
 [3] include at ./sysimg.jl:29 [inlined]
 [4] include(::String) at /Users/emre/.julia/dev/MAT/src/MAT.jl:27
 [5] top-level scope at none:0
 [6] include at ./boot.jl:317 [inlined]
 [7] include_relative(::Module, ::String) at ./loading.jl:1038
 [8] include(::Module, ::String) at ./sysimg.jl:29
 [9] top-level scope at none:2
 [10] eval at ./boot.jl:319 [inlined]
 [11] eval(::Expr) at ./client.jl:389
 [12] top-level scope at ./none:3
in expression starting at /Users/emre/.julia/dev/MAT/src/MAT_HDF5.jl:39
in expression starting at /Users/emre/.julia/dev/MAT/src/MAT.jl:31
arbenede commented 6 years ago

I have the same problem on Windows 10 with Julia 1.0:

ERROR: LoadError: LoadError: syntax: extra token "MatlabHDF5File" after end of expression
Stacktrace:
 [1] include at .\boot.jl:317 [inlined]
 [2] include_relative(::Module, ::String) at .\loading.jl:1038
 [3] include at .\sysimg.jl:29 [inlined]
 [4] include(::String) at C:\Users\.julia\packages\MAT\Pn0pR\src\MAT.jl:27
 [5] top-level scope at none:0
 [6] include at .\boot.jl:317 [inlined]
 [7] include_relative(::Module, ::String) at .\loading.jl:1038
 [8] include(::Module, ::String) at .\sysimg.jl:29
 [9] top-level scope at none:2
 [10] eval at .\boot.jl:319 [inlined]
 [11] eval(::Expr) at .\client.jl:389
 [12] top-level scope at .\none:3
in expression starting at C:\Users\.julia\packages\MAT\Pn0pR\src\MAT_HDF5.jl:39
in expression starting at C:\Users\.julia\packages\MAT\Pn0pR\src\MAT.jl:31
ERROR: LoadError: Failed to precompile MAT [23992714-dd62-5051-b70f-ba57cb901cac] to C:\Users\.julia\compiled\v1.0\MAT\3FHIv.ji.
Stacktrace:
 [1] error(::String) at .\error.jl:33
 [2] macro expansion at .\logging.jl:313 [inlined]
 [3] compilecache(::Base.PkgId, ::String) at .\loading.jl:1184
 [4] _require(::Base.PkgId) at .\logging.jl:311
 [5] require(::Base.PkgId) at .\loading.jl:852
 [6] macro expansion at .\logging.jl:311 [inlined]
 [7] require(::Module, ::Symbol) at .\loading.jl:834
 [8] include at .\boot.jl:317 [inlined]
 [9] include_relative(::Module, ::String) at .\loading.jl:1038
 [10] include(::Module, ::String) at .\sysimg.jl:29
 [11] exec_options(::Base.JLOptions) at .\client.jl:229
 [12] _start() at .\client.jl:421
bjarthur commented 5 years ago

see https://github.com/JuliaIO/MAT.jl/pull/86

spaceLem commented 5 years ago

I have this problem with Julia 1.01, MAT v0.4.0, OSX High Sierra. Everything still works in Julia 0.6.4.

brenhinkeller commented 5 years ago

Same here still. Is there any timeline for when MAT.jl will be compatible with 1.0?

in Julia 1.0

julia> using MAT
[ Info: Precompiling MAT [23992714-dd62-5051-b70f-ba57cb901cac]
ERROR: LoadError: LoadError: syntax: extra token "MatlabHDF5File" after end of expression
Stacktrace:
 [1] include at ./boot.jl:317 [inlined]
 [2] include_relative(::Module, ::String) at ./loading.jl:1041
 [3] include at ./sysimg.jl:29 [inlined]
 [4] include(::String) at /Users/me/.julia/packages/MAT/Pn0pR/src/MAT.jl:27
 [5] top-level scope at none:0
 [6] include at ./boot.jl:317 [inlined]
 [7] include_relative(::Module, ::String) at ./loading.jl:1041
 [8] include(::Module, ::String) at ./sysimg.jl:29
 [9] top-level scope at none:2
 [10] eval at ./boot.jl:319 [inlined]
 [11] eval(::Expr) at ./client.jl:389
 [12] top-level scope at ./none:3
in expression starting at /Users/me/.julia/packages/MAT/Pn0pR/src/MAT_HDF5.jl:39
in expression starting at /Users/me/.julia/packages/MAT/Pn0pR/src/MAT.jl:31
ERROR: Failed to precompile MAT [23992714-dd62-5051-b70f-ba57cb901cac] to /Users/me/.julia/compiled/v1.0/MAT/3FHIv.ji.
Stacktrace:
 [1] macro expansion at ./logging.jl:313 [inlined]
 [2] compilecache(::Base.PkgId, ::String) at ./loading.jl:1187
 [3] macro expansion at ./logging.jl:311 [inlined]
 [4] _require(::Base.PkgId) at ./loading.jl:944
 [5] require(::Base.PkgId) at ./loading.jl:855
 [6] macro expansion at ./logging.jl:311 [inlined]
 [7] require(::Module, ::Symbol) at ./loading.jl:837

and in Julia 0.7

julia> using MAT
[ Info: Precompiling MAT [23992714-dd62-5051-b70f-ba57cb901cac]
┌ Warning: Deprecated syntax `type` at /Users/me/.julia/packages/MAT/Pn0pR/src/MAT_HDF5.jl:39.
│ Use `mutable struct` instead.
└ @ ~/.julia/packages/MAT/Pn0pR/src/MAT_HDF5.jl:39
┌ Warning: Deprecated syntax `type` at /Users/me/.julia/packages/MAT/Pn0pR/src/MAT_HDF5.jl:535.
│ Use `mutable struct` instead.
└ @ ~/.julia/packages/MAT/Pn0pR/src/MAT_HDF5.jl:535
┌ Warning: Deprecated syntax `parametric method syntax read_complex{T}(dtype::HDF5Datatype, dset::HDF5Dataset, ::Type{Array{T}})` around /Users/me/.julia/packages/MAT/Pn0pR/src/MAT_HDF5.jl:119.
│ Use `read_complex(dtype::HDF5Datatype, dset::HDF5Dataset, #unused#::Type{Array{T}}) where T` instead.
└ @ ~/.julia/packages/MAT/Pn0pR/src/MAT_HDF5.jl:119
┌ Warning: Deprecated syntax `parametric method syntax m_writetypeattr{T}(dset, ::Type{Complex{T}})` around /Users/me/.julia/packages/MAT/Pn0pR/src/MAT_HDF5.jl:298.
│ Use `m_writetypeattr(dset, #unused#::Type{Complex{T}}) where T` instead.
└ @ ~/.julia/packages/MAT/Pn0pR/src/MAT_HDF5.jl:298
┌ Warning: Deprecated syntax `parametric method syntax m_writearray{T <: HDF5BitsOrBool}(parent::HDF5Parent, name::String, adata::Array{T})` around /Users/me/.julia/packages/MAT/Pn0pR/src/MAT_HDF5.jl:328.
│ Use `m_writearray(parent::HDF5Parent, name::String, adata::Array{T}) where T <: HDF5BitsOrBool` instead.
└ @ ~/.julia/packages/MAT/Pn0pR/src/MAT_HDF5.jl:328
┌ Warning: Deprecated syntax `parametric method syntax m_writearray{T <: HDF5BitsOrBool}(parent::HDF5Parent, name::String, adata::Array{Complex{T}})` around /Users/me/.julia/packages/MAT/Pn0pR/src/MAT_HDF5.jl:340.
│ Use `m_writearray(parent::HDF5Parent, name::String, adata::Array{Complex{T}}) where T <: HDF5BitsOrBool` instead.
└ @ ~/.julia/packages/MAT/Pn0pR/src/MAT_HDF5.jl:340
┌ Warning: Deprecated syntax `parametric method syntax m_write{T <: HDF5BitsOrBool}(mfile::MatlabHDF5File, parent::HDF5Parent, name::String, data::Union{T, Complex{T}, Array{T}, Array{Complex{T}}})` around /Users/me/.julia/packages/MAT/Pn0pR/src/MAT_HDF5.jl:362.
│ Use `m_write(mfile::MatlabHDF5File, parent::HDF5Parent, name::String, data::Union{T, Complex{T}, Array{T}, Array{Complex{T}}}) where T <: HDF5BitsOrBool` instead.
└ @ ~/.julia/packages/MAT/Pn0pR/src/MAT_HDF5.jl:362
┌ Warning: Deprecated syntax `parametric method syntax m_write{T}(mfile::MatlabHDF5File, parent::HDF5Parent, name::String, data::SparseMatrixCSC{T})` around /Users/me/.julia/packages/MAT/Pn0pR/src/MAT_HDF5.jl:376.
│ Use `m_write(mfile::MatlabHDF5File, parent::HDF5Parent, name::String, data::SparseMatrixCSC{T}) where T` instead.
└ @ ~/.julia/packages/MAT/Pn0pR/src/MAT_HDF5.jl:376
WARNING: importing deprecated binding Base.SparseMatrixCSC into MAT_HDF5.
WARNING: Base.SparseMatrixCSC is deprecated, run `using SparseArrays` to load sparse array functionality
  likely near /Users/me/.julia/packages/MAT/Pn0pR/src/MAT_HDF5.jl:375
┌ Warning: Deprecated syntax `parametric method syntax m_write{T}(mfile::MatlabHDF5File, parent::HDF5Parent, name::String, data::Array{T})` around /Users/me/.julia/packages/MAT/Pn0pR/src/MAT_HDF5.jl:429.
│ Use `m_write(mfile::MatlabHDF5File, parent::HDF5Parent, name::String, data::Array{T}) where T` instead.
└ @ ~/.julia/packages/MAT/Pn0pR/src/MAT_HDF5.jl:429
WARNING: importing deprecated binding Base.Associative into MAT_HDF5.
WARNING: Base.Associative is deprecated, use AbstractDict instead.
  likely near /Users/me/.julia/packages/MAT/Pn0pR/src/MAT_HDF5.jl:508
┌ Warning: Deprecated syntax `type` at /Users/me/.julia/packages/MAT/Pn0pR/src/MAT_v5.jl:41.
│ Use `mutable struct` instead.
└ @ ~/.julia/packages/MAT/Pn0pR/src/MAT_v5.jl:41
┌ Warning: Deprecated syntax `parametric method syntax read_bswap{T}(f::IO, swap_bytes::Bool, ::Type{T})` around /Users/me/.julia/packages/MAT/Pn0pR/src/MAT_v5.jl:87.
│ Use `read_bswap(f::IO, swap_bytes::Bool, #unused#::Type{T}) where T` instead.
└ @ ~/.julia/packages/MAT/Pn0pR/src/MAT_v5.jl:87
┌ Warning: Deprecated syntax `parametric method syntax read_bswap{T}(f::IO, swap_bytes::Bool, ::Type{T}, dim::Union{Int, Tuple{Vararg{Int}}})` around /Users/me/.julia/packages/MAT/Pn0pR/src/MAT_v5.jl:90.
│ Use `read_bswap(f::IO, swap_bytes::Bool, #unused#::Type{T}, dim::Union{Int, Tuple{Vararg{Int}}}) where T` instead.
└ @ ~/.julia/packages/MAT/Pn0pR/src/MAT_v5.jl:90
┌ Warning: Deprecated syntax `parametric method syntax read_element{T}(f::IO, swap_bytes::Bool, ::Type{T})` around /Users/me/.julia/packages/MAT/Pn0pR/src/MAT_v5.jl:118.
│ Use `read_element(f::IO, swap_bytes::Bool, #unused#::Type{T}) where T` instead.
└ @ ~/.julia/packages/MAT/Pn0pR/src/MAT_v5.jl:118
┌ Warning: Deprecated syntax `parametric method syntax read_data{T}(f::IO, swap_bytes::Bool, ::Type{T}, dimensions::Vector{Int32})` around /Users/me/.julia/packages/MAT/Pn0pR/src/MAT_v5.jl:137.
│ Use `read_data(f::IO, swap_bytes::Bool, #unused#::Type{T}, dimensions::Vector{Int32}) where T` instead.
└ @ ~/.julia/packages/MAT/Pn0pR/src/MAT_v5.jl:137
┌ Warning: Deprecated syntax `parametric method syntax matwrite{S, T}(filename::AbstractString, dict::Associative{S, T})` around /Users/me/.julia/packages/MAT/Pn0pR/src/MAT.jl:147.
│ Use `matwrite(filename::AbstractString, dict::Associative{S, T}) where {S, T}` instead.
└ @ ~/.julia/packages/MAT/Pn0pR/src/MAT.jl:147
WARNING: importing deprecated binding Base.Associative into MAT.
WARNING: Base.Associative is deprecated, use AbstractDict instead.
  likely near /Users/me/.julia/packages/MAT/Pn0pR/src/MAT.jl:140
WARNING: Base.Associative is deprecated, use AbstractDict instead.
  likely near /Users/me/.julia/packages/MAT/Pn0pR/src/MAT.jl:140
bionicinnovations commented 5 years ago

I am also not getting very far with this on my windows 10 machines.

brenhinkeller commented 5 years ago

Looks like there's a PR to fix this but it's stuck on code review on a pretty obscure issue: https://github.com/JuliaIO/MAT.jl/pull/86#pullrequestreview-157294902

I didn't even know reinterpret made copies under any circumstance

jarlebring commented 5 years ago

Fingers crossed that the extra allocation problems with PR86 can be fixed soon. In the meantime, a workaround is to install the PR specific branch:

julia> ]
(v1.0) pkg> rm MAT
julia> ]
(v1.0) pkg> add https://github.com/halleysfifthinc/MAT.jl#v0.7-update
julia > using MAT
[ Info: Precompiling MAT [23992714-dd62-5051-b70f-ba57cb901cac]
julia> 
brenhinkeller commented 5 years ago

Thanks!

bionicinnovations commented 5 years ago

I didn't have the same luck: Julia 1.0 wasn't so happy when I tried:

(v1.0) pkg> add https://github.com/halleysfifthinc/MAT.jl#v0.7-update Updating registry at C:\Users\jpotas\.julia\registries\General Updating git-repo https://github.com/JuliaRegistries/General.git Cloning git-repo https://github.com/halleysfifthinc/MAT.jl Updating git-repo https://github.com/halleysfifthinc/MAT.jl Resolving package versions... ERROR: Unsatisfiable requirements detected for package GR [28b8d3ca]: GR [28b8d3ca] log: ├─possible versions are: [0.1.0, 0.2.0, 0.3.0, 0.4.0, 0.5.0, 0.6.0, 0.7.0, 0.8.0, 0.9.0-0.9.17, 0.1 0.0, 0.11.0, 0.12.0, 0.13.0, 0.14.0, 0.15.0, 0.16.0, 0.17.0, 0.18.0, 0.19.0, 0.20.0, 0.21.0, 0.22.0, 0.23.0, 0.24.0, 0.25.0, 0.26.0, 0.28.0, 0.29.0, 0.30.0, 0.31.0, 0.32.0-0.32.3, 0.33.1, 0.34.0-0.34. 1, 0.35.0] or uninstalled ├─restricted to versions 0.34.1 by an explicit requirement, leaving only versions 0.34.1 └─restricted by julia compatibility requirements to versions: 0.35.0 or uninstalled — no versions l eft

samsartor commented 5 years ago

@bionicinnovations Explicitly installing ] add GR@0.35.0 before installing MAT fixed it for me.

bionicinnovations commented 5 years ago

still no luck...

(v1.0) pkg> add GR@0.35.0 Updating registry at C:\Users\jason\.julia\registries\General Updating git-repo https://github.com/JuliaRegistries/General.git Resolving package versions... Updating C:\Users\jason\.julia\environments\v1.0\Project.toml [no changes] Updating C:\Users\jason\.julia\environments\v1.0\Manifest.toml [no changes]

julia> using Pkg

julia> Pkg.add("MAT") Resolving package versions... Updating C:\Users\jason\.julia\environments\v1.0\Project.toml [no changes] Updating C:\Users\jason\.julia\environments\v1.0\Manifest.toml [no changes]

julia> using MAT [ Info: Precompiling MAT [23992714-dd62-5051-b70f-ba57cb901cac] ERROR: LoadError: HDF5 not properly installed. Please run Pkg.build("HDF5")

julia> Pkg.build("HDF5") Building LibCURL ─→ C:\Users\jason\.julia\packages\LibCURL\OoXMv\deps\build.log Building WinRPM ──→ C:\Users\jason\.julia\packages\WinRPM\Y9QdZ\deps\build.log Building Homebrew → C:\Users\jason\.julia\packages\Homebrew\l8kUw\deps\build.log Building CMake ───→ C:\Users\jason\.julia\packages\CMake\xNoo8\deps\build.log Building Blosc ───→ C:\Users\jason\.julia\packages\Blosc\lzFr0\deps\build.log Building HDF5 ────→ C:\Users\jason\.julia\packages\HDF5\b6QoH\deps\build.log

julia> using MAT [ Info: Precompiling MAT [23992714-dd62-5051-b70f-ba57cb901cac] ERROR: LoadError: LoadError: syntax: extra token "MatlabHDF5File" after end of expression

Am I doing something wrong?

samsartor commented 5 years ago

@bionicinnovations Try @jarlebring's instructions from the top (including the rm), now that GR@0.35.0 is installed.

bionicinnovations commented 5 years ago

Brilliant, thank you Samsartor and Jarlebring!!

bionicinnovations commented 5 years ago

btw... what is GR@0.35.0? I'd love to understand more!

alexcanepa commented 5 years ago

@bionicinnovations late but that most likely refers to GR.jl.

On another note, is it now safe to mark this issue as resolved?