You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
System image compiled from a package that uses Gadfly.jl to plot a DataFrame object seems unable to be reused in another machine. While the image is fine to be used in the same machine (and the same user), if another machine loads the same image, there is an error:
┌ Warning: Error requiring `DataFrames` from `Gadfly`
│ exception =
│ could not open file C:\Users\CREATOR_ID\.julia\packages\Gadfly\Xnkmc\src\dataframes.jl
│ Stacktrace:
│ [1] include(::Function, ::Module, ::String) at .\Base.jl:380
│ [2] include at .\Base.jl:368 [inlined]
│ [3] include at C:\Users\CREATOR_ID\.julia\packages\Gadfly\Xnkmc\src\Gadfly.jl:1 [inlined]
│ [4] link_dataframes() at C:\Users\CREATOR_ID\.julia\packages\Gadfly\Xnkmc\src\mapping.jl:238
│ [5] top-level scope at none:1
│ [6] eval at .\boot.jl:331 [inlined]
│ [7] eval at C:\Users\CREATOR_ID\.julia\packages\Gadfly\Xnkmc\src\Gadfly.jl:1 [inlined]
│ [8] (::Gadfly.var"#4#11")() at C:\Users\CREATOR_ID\.julia\packages\Requires\035xH\src\require.jl:94
│ [9] err(::Any, ::Module, ::String) at C:\Users\CREATOR_ID\.julia\packages\Requires\035xH\src\require.jl:42
│ [10] (::Gadfly.var"#3#10")() at C:\Users\CREATOR_ID\.julia\packages\Requires\035xH\src\require.jl:93
│ [11] withpath(::Any, ::String) at C:\Users\CREATOR_ID\.julia\packages\Requires\035xH\src\require.jl:32
│ [12] (::Gadfly.var"#2#9")() at C:\Users\CREATOR_ID\.julia\packages\Requires\035xH\src\require.jl:92
│ [13] listenpkg(::Any, ::Base.PkgId) at C:\Users\CREATOR_ID\.julia\packages\Requires\035xH\src\require.jl:15
│ [14] macro expansion at C:\Users\CREATOR_ID\.julia\packages\Requires\035xH\src\require.jl:90 [inlined]
│ [15] __init__() at C:\Users\CREATOR_ID\.julia\packages\Gadfly\Xnkmc\src\Gadfly.jl:66
└ @ Requires C:\Users\CREATOR_ID\.julia\packages\Requires\035xH\src\require.jl:44
ERROR: LoadError: MethodError: no method matching evalmapping(::DataFrames.DataFrame, ::Symbol)
Closest candidates are:
evalmapping(::Any, !Matched::AbstractArray) at C:\Users\CREATOR_ID\.julia\packages\Gadfly\Xnkmc\src\mapping.jl:183
evalmapping(::Any, !Matched::Function) at C:\Users\CREATOR_ID\.julia\packages\Gadfly\Xnkmc\src\mapping.jl:184
evalmapping(::Any, !Matched::Distributions.Distribution) at C:\Users\CREATOR_ID\.julia\packages\Gadfly\Xnkmc\src\mapping.jl:185
...
Stacktrace:
[1] _evalmapping!(::Dict{Symbol,Any}, ::DataFrames.DataFrame, ::Gadfly.Data) at C:\Users\CREATOR_ID\.julia\packages\Gadfly\Xnkmc\src\mapping.jl:204
[2] evalmapping!(::Dict{Symbol,Any}, ::DataFrames.DataFrame, ::Gadfly.Data) at C:\Users\CREATOR_ID\.julia\packages\Gadfly\Xnkmc\src\mapping.jl:233
[3] plot at C:\Users\CREATOR_ID\.julia\packages\Gadfly\Xnkmc\src\Gadfly.jl:331 [inlined]
[4] plot(::DataFrames.DataFrame, ::Type{Gadfly.Geom.PointGeometry}; mapping::Base.Iterators.Pairs{Symbol,Symbol,Tuple{Symbol,Symbol},NamedTuple{(:x, :y),Tuple{Symbol,Symbol}}}) at C:\Users\CREATOR_ID\.julia\packages\Gadfly\Xnkmc\src\Gadfly.jl:293
[5] plot_dataframe at C:\Users\CREATOR_ID\.julia\packages\PackageCompilerDebug\vmtvg\src\PackageCompilerDebug.jl:6 [inlined]
[6] plot_dataframe(::String, ::Array{Int64,1}, ::Array{Int64,1}) at C:\Users\CREATOR_ID\.julia\packages\PackageCompilerDebug\vmtvg\src\PackageCompilerDebug.jl:9
[7] top-level scope at C:\Temp\TestPlot.jl:2
[8] include(::Function, ::Module, ::String) at .\Base.jl:380
[9] include(::Module, ::String) at .\Base.jl:368
[10] exec_options(::Base.JLOptions) at .\client.jl:296
[11] _start() at .\client.jl:506
in expression starting at C:\Temp\TestPlot.jl:2
It appears always looking for the dataframes.jl source code in the user profile directory of the image creator's machine (C:\Users\CREATOR_ID\... above).
I've recreated the issue with a bare minimum package that has only one function plot_dataframe. It specifies the version of Gadfly and DataFrames which I believe are the latest. The CreateSysimage.jl is the script I used to create a new environment, add the package as dependency, and ultimately create the system image. The precompile script can be used to test run the system image such as:
I also tried removing DataFrames to just use Gadfly with non-DataFrame data. It actually worked - and can be found in a different branch of the same repository.
I wonder if this is an issue with PackageCompiler or Gadfly, and whether there is a way to work around it.
Finally, versioninfo() as follows:
Julia Version 1.5.2
Commit 539f3ce943 (2020-09-23 23:17 UTC)
Platform Info:
OS: Windows (x86_64-w64-mingw32)
CPU: Intel(R) Core(TM) i7-8665U CPU @ 1.90GHz
WORD_SIZE: 64
LIBM: libopenlibm
LLVM: libLLVM-9.0.1 (ORCJIT, skylake)
Environment:
JULIA_DEPOT_PATH = %USERPROFILE%\.julia;C:\JuliaPro-1.5.2-1\Julia-1.5.2\local\share\julia;C:\JuliaPro-1.5.2-1\Julia-1.5.2\share\julia JULIA_EDITOR = "C:\JuliaPro-1.5.2-1\app-1.51.0\atom.exe" -a
JULIA_LOAD_PATH = @;@v#.#;@stdlib
JULIA_NUM_THREADS = 4
JULIA_PKG_SERVER = pkg.juliahub.com
JULIA_SPECIALFUNCTIONS_BUILD_SOURCE = false
The text was updated successfully, but these errors were encountered:
System image compiled from a package that uses Gadfly.jl to plot a DataFrame object seems unable to be reused in another machine. While the image is fine to be used in the same machine (and the same user), if another machine loads the same image, there is an error:
It appears always looking for the
dataframes.jl
source code in the user profile directory of the image creator's machine (C:\Users\CREATOR_ID\...
above).I've recreated the issue with a bare minimum package that has only one function
plot_dataframe
. It specifies the version of Gadfly and DataFrames which I believe are the latest. The CreateSysimage.jl is the script I used to create a new environment, add the package as dependency, and ultimately create the system image. The precompile script can be used to test run the system image such as:I also tried removing DataFrames to just use Gadfly with non-DataFrame data. It actually worked - and can be found in a different branch of the same repository.
I wonder if this is an issue with PackageCompiler or Gadfly, and whether there is a way to work around it.
Finally,
versioninfo()
as follows:The text was updated successfully, but these errors were encountered: