JuliaIO / MAT.jl

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

Moved from Libz to CodecZlib #130

Closed sciencesam closed 4 years ago

sciencesam commented 4 years ago

Julia 1.3.0 breaks Libz on Windows; rather than fix Libz, why not move to CodecZlib? Added laserscout's pull request laserscout@c5e972b to the latest version, moving to CodecLibz. This is recommended by the Libz library: https://github.com/BioJulia/Libz.jl

NOTE: If you are starting a new project on Julia 0.6 or later, it is recommended to use the CodecZlib.jl package instead.

Tested on Windows 10, test cases run and my project works again!

timholy commented 4 years ago

I was worried about the test failure on linux 0.7, but I just tested locally and it works. Let's merge this and release a new version. I'll add upper bounds on the dependent packages, since that's required now for automatic merging.

Thanks for the contribution!

AsimHDar commented 4 years ago

I get an error when building 0.7 on julia 1.2. Does this look like a problem on my end? Getting an issue on a debian and windows machine. 0.6 works fine,

(v1.2) pkg> build MAT Building CMake → C:\Users\ahassan\.juliapro\JuliaPro_v1.2.0-2\packages\CMake\nSK2r\deps\build.log Building Blosc → C:\Users\ahassan\.juliapro\JuliaPro_v1.2.0-2\packages\Blosc\lzFr0\deps\build.log ┌ Error: Error building Blosc: │ ┌ Warning: platform_key() is deprecated, use platform_key_abi() from now on │ │ caller = ip:0x0 │ └ @ Core :-1 │ ERROR: LoadError: LibraryProduct(nothing, ["libblosc"], :libblosc, "Prefix(C:\Users\ahassan\.juliapro\JuliaPro_v1.2.0-2\packages\Blosc\lzFr0\deps\usr)") is not satisfied, cannot generate deps.jl! │ Stacktrace: │ [1] error(::String) at .\error.jl:33 │ [2] #write_deps_file#175(::Bool, ::Bool, ::typeof(write_deps_file), ::String, ::Array{LibraryProduct,1}) at C:\Users\julia\AppData\Local\Julia-1.2.0\share\julia\stdlib\v1.2\BinaryProvider\src\Products.jl:419 │ [3] (::getfield(BinaryProvider, Symbol("#kw##write_deps_file")))(::NamedTuple{(:verbose,),Tuple{Bool}}, ::typeof(write_deps_file), ::String, ::Array{LibraryProduct,1}) at .\tuple.jl:0 │ [4] top-level scope at C:\Users\ahassan.juliapro\JuliaPro_v1.2.0-2\packages\Blosc\lzFr0\deps\build.jl:65 │ [5] include at .\boot.jl:328 [inlined] │ [6] include_relative(::Module, ::String) at .\loading.jl:1094 │ [7] include(::Module, ::String) at .\Base.jl:31 │ [8] include(::String) at .\client.jl:431 │ [9] top-level scope at none:5 │ in expression starting at C:\Users\ahassan.juliapro\JuliaPro_v1.2.0-2\packages\Blosc\lzFr0\deps\build.jl:65 └ @ Pkg.Operations C:\Users\julia\AppData\Local\Julia-1.2.0\share\julia\stdlib\v1.2\Pkg\src\Operations.jl:1138 Building HDF5 ─→ C:\Users\ahassan\.juliapro\JuliaPro_v1.2.0-2\packages\HDF5\Zh9on\deps\build.log ┌ Error: Error building HDF5: │ ERROR: LoadError: LoadError: LibraryProduct(nothing, ["libz"], :libz, "Prefix(C:\Users\ahassan\.juliapro\JuliaPro_v1.2.0-2\packages\HDF5\Zh9on\deps\usr)") is not satisfied, cannot generate deps.jl! │ Stacktrace: │ [1] error(::String) at .\error.jl:33 │ [2] #write_deps_file#175(::Bool, ::Bool, ::typeof(write_deps_file), ::String, ::Array{LibraryProduct,1}) at C:\Users\julia\AppData\Local\Julia-1.2.0\share\julia\stdlib\v1.2\BinaryProvider\src\Products.jl:419 │ [3] (::getfield(BinaryProvider, Symbol("#kw##write_deps_file")))(::NamedTuple{(:verbose,),Tuple{Bool}}, ::typeof(write_deps_file), ::String, ::Array{LibraryProduct,1}) at .\tuple.jl:0 │ [4] top-level scope at C:\Users\ahassan.juliapro\JuliaPro_v1.2.0-2\packages\HDF5\Zh9on\deps\build_Zlib.v1.2.11.jl:48 │ [5] include at .\boot.jl:328 [inlined] │ [6] include_relative(::Module, ::String) at .\loading.jl:1094 │ [7] include(::Module, ::String) at .\Base.jl:31 │ [8] include(::String) at .\client.jl:431 │ [9] top-level scope at C:\Users\ahassan.juliapro\JuliaPro_v1.2.0-2\packages\HDF5\Zh9on\deps\build.jl:1 │ [10] include at .\boot.jl:328 [inlined] │ [11] include_relative(::Module, ::String) at .\loading.jl:1094 │ [12] include(::Module, ::String) at .\Base.jl:31 │ [13] include(::String) at .\client.jl:431 │ [14] top-level scope at none:5 │ in expression starting at C:\Users\ahassan.juliapro\JuliaPro_v1.2.0-2\packages\HDF5\Zh9on\deps\build_Zlib.v1.2.11.jl:48 │ in expression starting at C:\Users\ahassan.juliapro\JuliaPro_v1.2.0-2\packages\HDF5\Zh9on\deps\build.jl:1 └ @ Pkg.Operations C:\Users\julia\AppData\Local\Julia-1.2.0\share\julia\stdlib\v1.2\Pkg\src\Operations.jl:1138

AsimHDar commented 4 years ago

Sorry I was wrong, 0.6 isn't working either, something else is broken for me. The common error in Blosc and HDF5 being: ERROR: LoadError: LibraryProduct(nothing, ["libblosc"], :libblosc, "Prefix(C:\\Users\\ahassan\\.juliapro\\JuliaPro_v1.2.0-2\\packages\\Blosc\\lzFr0\\deps\\usr)") is not satisfied, cannot generate deps.jl!