Skip to content

load data that was saved on a x64 system, on a x86 system  #255

@yakir12

Description

@yakir12

I've saved some data on a x64 system and want to load it on a x86 system (a Raspberry Pi), which I accept might be very challenging. In any case, I got the following error (on the RPI):

julia> @load "tmp.jld2" c
┌ Warning: the following fields are present in type SArray{Tuple{2},Float64,1,2} saved in the file but not present in the type the workspace:
│ 
│ data,
│ 
│ Data in these fields will not be accessible
└ @ JLD2 ~/.julia/packages/JLD2/eU405/src/data.jl:438
┌ Warning: the following fields are present in type LinearAlgebra.Adjoint{Float64,SArray{Tuple{2},Float64,1,2}} saved in the file but not present in the type the workspace:
│ 
│ parent,
│ 
│ Data in these fields will not be accessible
└ @ JLD2 ~/.julia/packages/JLD2/eU405/src/data.jl:438
┌ Warning: type parameters for Interpolations.BSplineInterpolation{LinearAlgebra.Adjoint{Float64,SArray{Tuple{2},Float64,1,2}},2,Array{LinearAlgebra.Adjoint{Float64,SArray{Tuple{2},Float64,1,2}},2},BSpline{Linear},Tuple{Base.OneTo{Int64},Base.OneTo{Int64}}} do not match type Interpolations.BSplineInterpolation in workspace; reconstructing
└ @ JLD2 ~/.julia/packages/JLD2/eU405/src/data.jl:1228
ERROR: MethodError: no method matching Array{Float64,1}(::Array{Float64,1})
Closest candidates are:
  Array{Float64,1}(::AbstractArray{S,N}) where {T, N, S} at array.jl:562
  Array{Float64,1}(::Core.Compiler.BitArray{N}) where {T, N} at bitarray.jl:492
  Array{Float64,1}(::BitArray{N}) where {T, N} at bitarray.jl:492
  ...
Stacktrace:
 [1] convert(::Type{Array{Float64,1}}, ::Array{Float64,1}) at ./array.jl:554
 [2] macro expansion at /home/yakir/.julia/packages/JLD2/eU405/src/data.jl:1384 [inlined]
 [3] jlconvert(::JLD2.ReadRepresentation{NamedTuple{(:tform, :itform, :ϵ),Tuple{Base.var"#66#67"{Interpolations.Extrapolation{LinearAlgebra.Adjoint{Float64,SArray{Tuple{2},Float64,1,2}},2,ScaledInterpolation{LinearAlgebra.Adjoint{Float64,SArray{Tuple{2},Float64,1,2}},2,JLD2.ReconstructedTypes.var"##Interpolations.BSplineInterpolation{LinearAlgebra.Adjoint{Float64,SArray{Tuple{2},Float64,1,2}},2,Array{LinearAlgebra.Adjoint{Float64,SArray{Tuple{2},Float64,1,2}},2},BSpline{Linear},Tuple{Base.OneTo{Int64},Base.OneTo{Int64}}}#254",BSpline{Linear},Tuple{UnitRange{Int64},UnitRange{Int64}}},BSpline{Linear},Flat{Nothing}}},Base.var"#66#67"{Interpolations.Extrapolation{LinearAlgebra.Adjoint{Float64,SArray{Tuple{2},Float64,1,2}},2,ScaledInterpolation{LinearAlgebra.Adjoint{Float64,SArray{Tuple{2},Float64,1,2}},2,JLD2.ReconstructedTypes.var"##Interpolations.BSplineInterpolation{LinearAlgebra.Adjoint{Float64,SArray{Tuple{2},Float64,1,2}},2,Array{LinearAlgebra.Adjoint{Float64,SArray{Tuple{2},Float64,1,2}},2},BSpline{Linear},Tuple{Base.OneTo{Int64},Base.OneTo{Int64}}}#254",BSpline{Linear},Tuple{StepRangeLen{Float32,Float64,Float64},StepRangeLen{Float32,Float64,Float64}}},BSpline{Linear},Flat{Nothing}}},Array{Float64,1}}},JLD2.OnDiskRepresentation{(0, 56, 144),Tuple{Base.var"#66#67"{Interpolations.Extrapolation{LinearAlgebra.Adjoint{Float64,SArray{Tuple{2},Float64,1,2}},2,ScaledInterpolation{LinearAlgebra.Adjoint{Float64,SArray{Tuple{2},Float64,1,2}},2,JLD2.ReconstructedTypes.var"##Interpolations.BSplineInterpolation{LinearAlgebra.Adjoint{Float64,SArray{Tuple{2},Float64,1,2}},2,Array{LinearAlgebra.Adjoint{Float64,SArray{Tuple{2},Float64,1,2}},2},BSpline{Linear},Tuple{Base.OneTo{Int64},Base.OneTo{Int64}}}#254",BSpline{Linear},Tuple{UnitRange{Int64},UnitRange{Int64}}},BSpline{Linear},Flat{Nothing}}},Base.var"#66#67"{Interpolations.Extrapolation{LinearAlgebra.Adjoint{Float64,SArray{Tuple{2},Float64,1,2}},2,ScaledInterpolation{LinearAlgebra.Adjoint{Float64,SArray{Tuple{2},Float64,1,2}},2,JLD2.ReconstructedTypes.var"##Interpolations.BSplineInterpolation{LinearAlgebra.Adjoint{Float64,SArray{Tuple{2},Float64,1,2}},2,Array{LinearAlgebra.Adjoint{Float64,SArray{Tuple{2},Float64,1,2}},2},BSpline{Linear},Tuple{Base.OneTo{Int64},Base.OneTo{Int64}}}#254",BSpline{Linear},Tuple{StepRangeLen{Float32,Float64,Float64},StepRangeLen{Float32,Float64,Float64}}},BSpline{Linear},Flat{Nothing}}},Any},Tuple{JLD2.OnDiskRepresentation{(0,),Tuple{Interpolations.Extrapolation{LinearAlgebra.Adjoint{Float64,SArray{Tuple{2},Float64,1,2}},2,ScaledInterpolation{LinearAlgebra.Adjoint{Float64,SArray{Tuple{2},Float64,1,2}},2,JLD2.ReconstructedTypes.var"##Interpolations.BSplineInterpolation{LinearAlgebra.Adjoint{Float64,SArray{Tuple{2},Float64,1,2}},2,Array{LinearAlgebra.Adjoint{Float64,SArray{Tuple{2},Float64,1,2}},2},BSpline{Linear},Tuple{Base.OneTo{Int64},Base.OneTo{Int64}}}#254",BSpline{Linear},Tuple{UnitRange{Int64},UnitRange{Int64}}},BSpline{Linear},Flat{Nothing}}},Tuple{JLD2.OnDiskRepresentation{(0, 56),Tuple{ScaledInterpolation{LinearAlgebra.Adjoint{Float64,SArray{Tuple{2},Float64,1,2}},2,JLD2.ReconstructedTypes.var"##Interpolations.BSplineInterpolation{LinearAlgebra.Adjoint{Float64,SArray{Tuple{2},Float64,1,2}},2,Array{LinearAlgebra.Adjoint{Float64,SArray{Tuple{2},Float64,1,2}},2},BSpline{Linear},Tuple{Base.OneTo{Int64},Base.OneTo{Int64}}}#254",BSpline{Linear},Tuple{UnitRange{Int64},UnitRange{Int64}}},Flat{Nothing}},Tuple{JLD2.OnDiskRepresentation{(0, 24),Tuple{JLD2.ReconstructedTypes.var"##Interpolations.BSplineInterpolation{LinearAlgebra.Adjoint{Float64,SArray{Tuple{2},Float64,1,2}},2,Array{LinearAlgebra.Adjoint{Float64,SArray{Tuple{2},Float64,1,2}},2},BSpline{Linear},Tuple{Base.OneTo{Int64},Base.OneTo{Int64}}}#254",Tuple{UnitRange{Int64},UnitRange{Int64}}},Tuple{JLD2.OnDiskRepresentation{(0, 8),Tuple{Any,Tuple{Base.OneTo{Int64},Base.OneTo{Int64}}},Tuple{JLD2.RelOffset,Tuple{Base.OneTo{Int64},Base.OneTo{Int64}}}}(),Tuple{UnitRange{Int64},UnitRange{Int64}}}}(),nothing}}()}}(),JLD2.OnDiskRepresentation{(0,),Tuple{Interpolations.Extrapolation{LinearAlgebra.Adjoint{Float64,SArray{Tuple{2},Float64,1,2}},2,ScaledInterpolation{LinearAlgebra.Adjoint{Float64,SArray{Tuple{2},Float64,1,2}},2,JLD2.ReconstructedTypes.var"##Interpolations.BSplineInterpolation{LinearAlgebra.Adjoint{Float64,SArray{Tuple{2},Float64,1,2}},2,Array{LinearAlgebra.Adjoint{Float64,SArray{Tuple{2},Float64,1,2}},2},BSpline{Linear},Tuple{Base.OneTo{Int64},Base.OneTo{Int64}}}#254",BSpline{Linear},Tuple{StepRangeLen{Float32,Float64,Float64},StepRangeLen{Float32,Float64,Float64}}},BSpline{Linear},Flat{Nothing}}},Tuple{JLD2.OnDiskRepresentation{(0, 88),Tuple{ScaledInterpolation{LinearAlgebra.Adjoint{Float64,SArray{Tuple{2},Float64,1,2}},2,JLD2.ReconstructedTypes.var"##Interpolations.BSplineInterpolation{LinearAlgebra.Adjoint{Float64,SArray{Tuple{2},Float64,1,2}},2,Array{LinearAlgebra.Adjoint{Float64,SArray{Tuple{2},Float64,1,2}},2},BSpline{Linear},Tuple{Base.OneTo{Int64},Base.OneTo{Int64}}}#254",BSpline{Linear},Tuple{StepRangeLen{Float32,Float64,Float64},StepRangeLen{Float32,Float64,Float64}}},Flat{Nothing}},Tuple{JLD2.OnDiskRepresentation{(0, 24),Tuple{JLD2.ReconstructedTypes.var"##Interpolations.BSplineInterpolation{LinearAlgebra.Adjoint{Float64,SArray{Tuple{2},Float64,1,2}},2,Array{LinearAlgebra.Adjoint{Float64,SArray{Tuple{2},Float64,1,2}},2},BSpline{Linear},Tuple{Base.OneTo{Int64},Base.OneTo{Int64}}}#254",Tuple{StepRangeLen{Float32,Float64,Float64},StepRangeLen{Float32,Float64,Float64}}},Tuple{JLD2.OnDiskRepresentation{(0, 8),Tuple{Any,Tuple{Base.OneTo{Int64},Base.OneTo{Int64}}},Tuple{JLD2.RelOffset,Tuple{Base.OneTo{Int64},Base.OneTo{Int64}}}}(),JLD2.OnDiskRepresentation{(0, 32),Tuple{StepRangeLen{Float32,Float64,Float64},StepRangeLen{Float32,Float64,Float64}},Tuple{JLD2.OnDiskRepresentation{(0, 8, 16, 24),Tuple{Float64,Float64,Int64,Int64},Tuple{Float64,Float64,Int64,Int64}}(),JLD2.OnDiskRepresentation{(0, 8, 16, 24),Tuple{Float64,Float64,Int64,Int64},Tuple{Float64,Float64,Int64,Int64}}()}}()}}(),nothing}}()}}(),JLD2.RelOffset}}()}, ::JLD2.JLDFile{JLD2.MmapIO}, ::Ptr{Nothing}, ::JLD2.RelOffset) at /home/yakir/.julia/packages/JLD2/eU405/src/data.jl:1329
 [4] read_scalar at /home/yakir/.julia/packages/JLD2/eU405/src/dataio.jl:37 [inlined]
 [5] read_data(::JLD2.JLDFile{JLD2.MmapIO}, ::JLD2.ReadRepresentation{NamedTuple{(:tform, :itform, :ϵ),Tuple{Base.var"#66#67"{Interpolations.Extrapolation{LinearAlgebra.Adjoint{Float64,SArray{Tuple{2},Float64,1,2}},2,ScaledInterpolation{LinearAlgebra.Adjoint{Float64,SArray{Tuple{2},Float64,1,2}},2,JLD2.ReconstructedTypes.var"##Interpolations.BSplineInterpolation{LinearAlgebra.Adjoint{Float64,SArray{Tuple{2},Float64,1,2}},2,Array{LinearAlgebra.Adjoint{Float64,SArray{Tuple{2},Float64,1,2}},2},BSpline{Linear},Tuple{Base.OneTo{Int64},Base.OneTo{Int64}}}#254",BSpline{Linear},Tuple{UnitRange{Int64},UnitRange{Int64}}},BSpline{Linear},Flat{Nothing}}},Base.var"#66#67"{Interpolations.Extrapolation{LinearAlgebra.Adjoint{Float64,SArray{Tuple{2},Float64,1,2}},2,ScaledInterpolation{LinearAlgebra.Adjoint{Float64,SArray{Tuple{2},Float64,1,2}},2,JLD2.ReconstructedTypes.var"##Interpolations.BSplineInterpolation{LinearAlgebra.Adjoint{Float64,SArray{Tuple{2},Float64,1,2}},2,Array{LinearAlgebra.Adjoint{Float64,SArray{Tuple{2},Float64,1,2}},2},BSpline{Linear},Tuple{Base.OneTo{Int64},Base.OneTo{Int64}}}#254",BSpline{Linear},Tuple{StepRangeLen{Float32,Float64,Float64},StepRangeLen{Float32,Float64,Float64}}},BSpline{Linear},Flat{Nothing}}},Array{Float64,1}}},JLD2.OnDiskRepresentation{(0, 56, 144),Tuple{Base.var"#66#67"{Interpolations.Extrapolation{LinearAlgebra.Adjoint{Float64,SArray{Tuple{2},Float64,1,2}},2,ScaledInterpolation{LinearAlgebra.Adjoint{Float64,SArray{Tuple{2},Float64,1,2}},2,JLD2.ReconstructedTypes.var"##Interpolations.BSplineInterpolation{LinearAlgebra.Adjoint{Float64,SArray{Tuple{2},Float64,1,2}},2,Array{LinearAlgebra.Adjoint{Float64,SArray{Tuple{2},Float64,1,2}},2},BSpline{Linear},Tuple{Base.OneTo{Int64},Base.OneTo{Int64}}}#254",BSpline{Linear},Tuple{UnitRange{Int64},UnitRange{Int64}}},BSpline{Linear},Flat{Nothing}}},Base.var"#66#67"{Interpolations.Extrapolation{LinearAlgebra.Adjoint{Float64,SArray{Tuple{2},Float64,1,2}},2,ScaledInterpolation{LinearAlgebra.Adjoint{Float64,SArray{Tuple{2},Float64,1,2}},2,JLD2.ReconstructedTypes.var"##Interpolations.BSplineInterpolation{LinearAlgebra.Adjoint{Float64,SArray{Tuple{2},Float64,1,2}},2,Array{LinearAlgebra.Adjoint{Float64,SArray{Tuple{2},Float64,1,2}},2},BSpline{Linear},Tuple{Base.OneTo{Int64},Base.OneTo{Int64}}}#254",BSpline{Linear},Tuple{StepRangeLen{Float32,Float64,Float64},StepRangeLen{Float32,Float64,Float64}}},BSpline{Linear},Flat{Nothing}}},Any},Tuple{JLD2.OnDiskRepresentation{(0,),Tuple{Interpolations.Extrapolation{LinearAlgebra.Adjoint{Float64,SArray{Tuple{2},Float64,1,2}},2,ScaledInterpolation{LinearAlgebra.Adjoint{Float64,SArray{Tuple{2},Float64,1,2}},2,JLD2.ReconstructedTypes.var"##Interpolations.BSplineInterpolation{LinearAlgebra.Adjoint{Float64,SArray{Tuple{2},Float64,1,2}},2,Array{LinearAlgebra.Adjoint{Float64,SArray{Tuple{2},Float64,1,2}},2},BSpline{Linear},Tuple{Base.OneTo{Int64},Base.OneTo{Int64}}}#254",BSpline{Linear},Tuple{UnitRange{Int64},UnitRange{Int64}}},BSpline{Linear},Flat{Nothing}}},Tuple{JLD2.OnDiskRepresentation{(0, 56),Tuple{ScaledInterpolation{LinearAlgebra.Adjoint{Float64,SArray{Tuple{2},Float64,1,2}},2,JLD2.ReconstructedTypes.var"##Interpolations.BSplineInterpolation{LinearAlgebra.Adjoint{Float64,SArray{Tuple{2},Float64,1,2}},2,Array{LinearAlgebra.Adjoint{Float64,SArray{Tuple{2},Float64,1,2}},2},BSpline{Linear},Tuple{Base.OneTo{Int64},Base.OneTo{Int64}}}#254",BSpline{Linear},Tuple{UnitRange{Int64},UnitRange{Int64}}},Flat{Nothing}},Tuple{JLD2.OnDiskRepresentation{(0, 24),Tuple{JLD2.ReconstructedTypes.var"##Interpolations.BSplineInterpolation{LinearAlgebra.Adjoint{Float64,SArray{Tuple{2},Float64,1,2}},2,Array{LinearAlgebra.Adjoint{Float64,SArray{Tuple{2},Float64,1,2}},2},BSpline{Linear},Tuple{Base.OneTo{Int64},Base.OneTo{Int64}}}#254",Tuple{UnitRange{Int64},UnitRange{Int64}}},Tuple{JLD2.OnDiskRepresentation{(0, 8),Tuple{Any,Tuple{Base.OneTo{Int64},Base.OneTo{Int64}}},Tuple{JLD2.RelOffset,Tuple{Base.OneTo{Int64},Base.OneTo{Int64}}}}(),Tuple{UnitRange{Int64},UnitRange{Int64}}}}(),nothing}}()}}(),JLD2.OnDiskRepresentation{(0,),Tuple{Interpolations.Extrapolation{LinearAlgebra.Adjoint{Float64,SArray{Tuple{2},Float64,1,2}},2,ScaledInterpolation{LinearAlgebra.Adjoint{Float64,SArray{Tuple{2},Float64,1,2}},2,JLD2.ReconstructedTypes.var"##Interpolations.BSplineInterpolation{LinearAlgebra.Adjoint{Float64,SArray{Tuple{2},Float64,1,2}},2,Array{LinearAlgebra.Adjoint{Float64,SArray{Tuple{2},Float64,1,2}},2},BSpline{Linear},Tuple{Base.OneTo{Int64},Base.OneTo{Int64}}}#254",BSpline{Linear},Tuple{StepRangeLen{Float32,Float64,Float64},StepRangeLen{Float32,Float64,Float64}}},BSpline{Linear},Flat{Nothing}}},Tuple{JLD2.OnDiskRepresentation{(0, 88),Tuple{ScaledInterpolation{LinearAlgebra.Adjoint{Float64,SArray{Tuple{2},Float64,1,2}},2,JLD2.ReconstructedTypes.var"##Interpolations.BSplineInterpolation{LinearAlgebra.Adjoint{Float64,SArray{Tuple{2},Float64,1,2}},2,Array{LinearAlgebra.Adjoint{Float64,SArray{Tuple{2},Float64,1,2}},2},BSpline{Linear},Tuple{Base.OneTo{Int64},Base.OneTo{Int64}}}#254",BSpline{Linear},Tuple{StepRangeLen{Float32,Float64,Float64},StepRangeLen{Float32,Float64,Float64}}},Flat{Nothing}},Tuple{JLD2.OnDiskRepresentation{(0, 24),Tuple{JLD2.ReconstructedTypes.var"##Interpolations.BSplineInterpolation{LinearAlgebra.Adjoint{Float64,SArray{Tuple{2},Float64,1,2}},2,Array{LinearAlgebra.Adjoint{Float64,SArray{Tuple{2},Float64,1,2}},2},BSpline{Linear},Tuple{Base.OneTo{Int64},Base.OneTo{Int64}}}#254",Tuple{StepRangeLen{Float32,Float64,Float64},StepRangeLen{Float32,Float64,Float64}}},Tuple{JLD2.OnDiskRepresentation{(0, 8),Tuple{Any,Tuple{Base.OneTo{Int64},Base.OneTo{Int64}}},Tuple{JLD2.RelOffset,Tuple{Base.OneTo{Int64},Base.OneTo{Int64}}}}(),JLD2.OnDiskRepresentation{(0, 32),Tuple{StepRangeLen{Float32,Float64,Float64},StepRangeLen{Float32,Float64,Float64}},Tuple{JLD2.OnDiskRepresentation{(0, 8, 16, 24),Tuple{Float64,Float64,Int64,Int64},Tuple{Float64,Float64,Int64,Int64}}(),JLD2.OnDiskRepresentation{(0, 8, 16, 24),Tuple{Float64,Float64,Int64,Int64},Tuple{Float64,Float64,Int64,Int64}}()}}()}}(),nothing}}()}}(),JLD2.RelOffset}}()}, ::Tuple{JLD2.ReadDataspace,JLD2.RelOffset,Int32,UInt16}, ::Array{JLD2.ReadAttribute,1}) at /home/yakir/.julia/packages/JLD2/eU405/src/datasets.jl:170
 [6] read_data(::JLD2.JLDFile{JLD2.MmapIO}, ::JLD2.ReadDataspace, ::UInt8, ::Int64, ::Int64, ::Int32, ::UInt16, ::JLD2.RelOffset, ::Array{JLD2.ReadAttribute,1}) at /home/yakir/.julia/packages/JLD2/eU405/src/datasets.jl:149
 [7] load_dataset(::JLD2.JLDFile{JLD2.MmapIO}, ::JLD2.RelOffset) at /home/yakir/.julia/packages/JLD2/eU405/src/datasets.jl:92
 [8] getindex(::JLD2.Group{JLD2.JLDFile{JLD2.MmapIO}}, ::String) at /home/yakir/.julia/packages/JLD2/eU405/src/groups.jl:108
 [9] read(::JLD2.JLDFile{JLD2.MmapIO}, ::String) at /home/yakir/.julia/packages/JLD2/eU405/src/JLD2.jl:338
 [10] #3 at /home/yakir/.julia/packages/JLD2/eU405/src/loadsave.jl:145 [inlined]
 [11] jldopen(::var"#3#4", ::String; kws::Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{(),Tuple{}}}) at /home/yakir/.julia/packages/JLD2/eU405/src/loadsave.jl:4
 [12] jldopen(::Function, ::String) at /home/yakir/.julia/packages/JLD2/eU405/src/loadsave.jl:2
 [13] top-level scope at /home/yakir/.julia/packages/JLD2/eU405/src/loadsave.jl:144

The x64 system:

julia> versioninfo()
Julia Version 1.5.2
Commit 539f3ce943 (2020-09-23 23:17 UTC)
Platform Info:
  OS: Linux (x86_64-linux-gnu)
  CPU: AMD Ryzen Threadripper 2950X 16-Core Processor
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-9.0.1 (ORCJIT, znver1)
Environment:
  JULIA_NUM_THREADS = 16

The x86 system:

julia> versioninfo()
Julia Version 1.5.2
Commit 539f3ce* (2020-09-23 23:17 UTC)
Platform Info:
  OS: Linux (arm-linux-gnueabihf)
  CPU: ARMv7 Processor rev 3 (v7l)
  WORD_SIZE: 32
  LIBM: libopenlibm
  LLVM: libLLVM-9.0.1 (ORCJIT, cortex-a72)

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions