Hello Julia community,
I’m new to Julia and relatively new to programming.
I am trying to use packages (namely CSVFiles and DataFrames). At the simplest level however, when adding and precompiling these packages in the REPL, certain dependencies fail to precompile.
I’m using Julia v1.9.2 (although also tried v1.6.7 which caused different dependencies to consistently fail…(?)). I’ve tried in both Visual Studio Code and in the native Julia IDE, both produce the same behaviour.
I’m working at a university on a new laptop (without admin rights) so it may be some limitation imposed by the university IT system?
The things I’ve already tried to remedy the issue are illustrated in the mindmap below:
The stacktrace I get from trying to precompile one of the failed dependencies (using “JSON” as an example) is:
julia> Pkg.precompile("JSON")
Precompiling JSON
✗ PrecompileTools
✗ Parsers
✗ JSON
0 dependencies successfully precompiled in 11 seconds. 1 already precompiled.
ERROR: The following 2 direct dependencies failed to precompile:
Parsers [69de0a69-1ddd-5017-9359-2bf0b02dc9f0]
Failed to precompile Parsers [69de0a69-1ddd-5017-9359-2bf0b02dc9f0] to "C:\\Users\\wmw23seu\\.julia\\compiled\\v1.9\\Parsers\\jl_1573.tmp".
ERROR: LoadError: could not load symbol "jl_system_image_data":
The specified procedure could not be found.
Stacktrace:
[1] _include_from_serialized(pkg::Base.PkgId, path::String, ocachepath::String, depmods::Vector{Any})
@ Base .\loading.jl:1052
[2] _require_search_from_serialized(pkg::Base.PkgId, sourcepath::String, build_id::UInt128)
@ Base .\loading.jl:1506
[3] _require(pkg::Base.PkgId, env::String)
@ Base .\loading.jl:1783
[4] _require_prelocked(uuidkey::Base.PkgId, env::String)
@ Base .\loading.jl:1660
[5] macro expansion
@ .\loading.jl:1648 [inlined]
[6] macro expansion
@ .\lock.jl:267 [inlined]
[7] require(into::Module, mod::Symbol)
@ Base .\loading.jl:1611
[8] top-level scope
@ C:\Users\wmw23seu\.julia\packages\PrecompileTools\0yi7r\src\PrecompileTools.jl:4
[9] include
@ .\Base.jl:457 [inlined]
[10] include_package_for_output(pkg::Base.PkgId, input::String, depot_path::Vector{String}, dl_load_path::Vector{String}, load_path::Vector{String}, concrete_deps::Vector{Pair{Base.PkgId, UInt128}}, source::String)
@ Base .\loading.jl:2049
[11] top-level scope
@ stdin:3
in expression starting at C:\Users\wmw23seu\.julia\packages\PrecompileTools\0yi7r\src\PrecompileTools.jl:1
in expression starting at stdin:3
ERROR: LoadError: Failed to precompile PrecompileTools [aea7be01-6a6a-4083-8856-8a6e6704d82a] to "C:\\Users\\wmw23seu\\.julia\\compiled\\v1.9\\PrecompileTools\\jl_1A95.tmp".
Stacktrace:
[1] error(s::String)
@ Base .\error.jl:35
[2] compilecache(pkg::Base.PkgId, path::String, internal_stderr::IO, internal_stdout::IO, keep_loaded_modules::Bool)
@ Base .\loading.jl:2300
[3] compilecache
@ .\loading.jl:2167 [inlined]
[4] _require(pkg::Base.PkgId, env::String)
@ Base .\loading.jl:1805
[5] _require_prelocked(uuidkey::Base.PkgId, env::String)
@ Base .\loading.jl:1660
[6] macro expansion
@ .\loading.jl:1648 [inlined]
[7] macro expansion
@ .\lock.jl:267 [inlined]
[8] require(into::Module, mod::Symbol)
@ Base .\loading.jl:1611
[9] include(mod::Module, _path::String)
@ Base .\Base.jl:457
[10] include(x::String)
@ Parsers C:\Users\wmw23seu\.julia\packages\Parsers\w5O1u\src\Parsers.jl:1
[11] top-level scope
@ C:\Users\wmw23seu\.julia\packages\Parsers\w5O1u\src\Parsers.jl:463
[12] include
@ .\Base.jl:457 [inlined]
[13] include_package_for_output(pkg::Base.PkgId, input::String, depot_path::Vector{String}, dl_load_path::Vector{String}, load_path::Vector{String}, concrete_deps::Vector{Pair{Base.PkgId, UInt128}}, source::Nothing)
@ Base .\loading.jl:2049
[14] top-level scope
@ stdin:3
in expression starting at C:\Users\wmw23seu\.julia\packages\Parsers\w5O1u\src\precompile.jl:1
in expression starting at C:\Users\wmw23seu\.julia\packages\Parsers\w5O1u\src\Parsers.jl:1
in expression starting at stdin:3
JSON [682c06a0-de6a-54ab-a142-c8b1cf79cde6]
Failed to precompile JSON [682c06a0-de6a-54ab-a142-c8b1cf79cde6] to "C:\\Users\\wmw23seu\\.julia\\compiled\\v1.9\\JSON\\jl_237F.tmp".
ERROR: LoadError: could not load symbol "jl_system_image_data":
The specified procedure could not be found.
Stacktrace:
[1] _include_from_serialized(pkg::Base.PkgId, path::String, ocachepath::String, depmods::Vector{Any})
@ Base .\loading.jl:1052
[2] _require_search_from_serialized(pkg::Base.PkgId, sourcepath::String, build_id::UInt128)
@ Base .\loading.jl:1506
[3] _require(pkg::Base.PkgId, env::String)
@ Base .\loading.jl:1783
[4] _require_prelocked(uuidkey::Base.PkgId, env::String)
@ Base .\loading.jl:1660
[5] macro expansion
@ .\loading.jl:1648 [inlined]
[6] macro expansion
@ .\lock.jl:267 [inlined]
[7] require(into::Module, mod::Symbol)
@ Base .\loading.jl:1611
[8] top-level scope
@ C:\Users\wmw23seu\.julia\packages\PrecompileTools\0yi7r\src\PrecompileTools.jl:4
[9] include
@ .\Base.jl:457 [inlined]
[10] include_package_for_output(pkg::Base.PkgId, input::String, depot_path::Vector{String}, dl_load_path::Vector{String}, load_path::Vector{String}, concrete_deps::Vector{Pair{Base.PkgId, UInt128}}, source::String)
@ Base .\loading.jl:2049
[11] top-level scope
@ stdin:3
in expression starting at C:\Users\wmw23seu\.julia\packages\PrecompileTools\0yi7r\src\PrecompileTools.jl:1
in expression starting at stdin:3
ERROR: LoadError: Failed to precompile PrecompileTools [aea7be01-6a6a-4083-8856-8a6e6704d82a] to "C:\\Users\\wmw23seu\\.julia\\compiled\\v1.9\\PrecompileTools\\jl_2C86.tmp".
Stacktrace:
[1] error(s::String)
@ Base .\error.jl:35
[2] compilecache(pkg::Base.PkgId, path::String, internal_stderr::IO, internal_stdout::IO, keep_loaded_modules::Bool)
@ Base .\loading.jl:2300
[3] compilecache
@ .\loading.jl:2167 [inlined]
[4] _require(pkg::Base.PkgId, env::String)
@ Base .\loading.jl:1805
[5] _require_prelocked(uuidkey::Base.PkgId, env::String)
@ Base .\loading.jl:1660
[6] macro expansion
@ .\loading.jl:1648 [inlined]
[7] macro expansion
@ .\lock.jl:267 [inlined]
[8] require(into::Module, mod::Symbol)
@ Base .\loading.jl:1611
[9] include(mod::Module, _path::String)
@ Base .\Base.jl:457
[10] include(x::String)
@ Parsers C:\Users\wmw23seu\.julia\packages\Parsers\w5O1u\src\Parsers.jl:1
[11] top-level scope
@ C:\Users\wmw23seu\.julia\packages\Parsers\w5O1u\src\Parsers.jl:463
[12] include
@ .\Base.jl:457 [inlined]
[13] include_package_for_output(pkg::Base.PkgId, input::String, depot_path::Vector{String}, dl_load_path::Vector{String}, load_path::Vector{String}, concrete_deps::Vector{Pair{Base.PkgId, UInt128}}, source::String)
@ Base .\loading.jl:2049
[14] top-level scope
@ stdin:3
in expression starting at C:\Users\wmw23seu\.julia\packages\Parsers\w5O1u\src\precompile.jl:1
in expression starting at C:\Users\wmw23seu\.julia\packages\Parsers\w5O1u\src\Parsers.jl:1
in expression starting at stdin:3
ERROR: LoadError: Failed to precompile Parsers [69de0a69-1ddd-5017-9359-2bf0b02dc9f0] to "C:\\Users\\wmw23seu\\.julia\\compiled\\v1.9\\Parsers\\jl_26F9.tmp".
Stacktrace:
[1] error(s::String)
@ Base .\error.jl:35
[2] compilecache(pkg::Base.PkgId, path::String, internal_stderr::IO, internal_stdout::IO, keep_loaded_modules::Bool)
@ Base .\loading.jl:2300
[3] compilecache
@ .\loading.jl:2167 [inlined]
[4] _require(pkg::Base.PkgId, env::String)
@ Base .\loading.jl:1805
[5] _require_prelocked(uuidkey::Base.PkgId, env::String)
@ Base .\loading.jl:1660
[6] macro expansion
@ .\loading.jl:1648 [inlined]
[7] macro expansion
@ .\lock.jl:267 [inlined]
[8] require(into::Module, mod::Symbol)
@ Base .\loading.jl:1611
[9] include(mod::Module, _path::String)
@ Base .\Base.jl:457
[10] include(x::String)
@ JSON C:\Users\wmw23seu\.julia\packages\JSON\93Ea8\src\JSON.jl:3
[11] top-level scope
@ C:\Users\wmw23seu\.julia\packages\JSON\93Ea8\src\JSON.jl:11
[12] include
@ .\Base.jl:457 [inlined]
[13] include_package_for_output(pkg::Base.PkgId, input::String, depot_path::Vector{String}, dl_load_path::Vector{String}, load_path::Vector{String}, concrete_deps::Vector{Pair{Base.PkgId, UInt128}}, source::Nothing)
@ Base .\loading.jl:2049
[14] top-level scope
@ stdin:3
in expression starting at C:\Users\wmw23seu\.julia\packages\JSON\93Ea8\src\Parser.jl:1
in expression starting at C:\Users\wmw23seu\.julia\packages\JSON\93Ea8\src\JSON.jl:3
in expression starting at stdin:3
Stacktrace:
[1] pkgerror(msg::String)
@ Pkg.Types C:\Program Files (x86)\Julia-1.9.2\share\julia\stdlib\v1.9\Pkg\src\Types.jl:69
[2] precompile(ctx::Pkg.Types.Context, pkgs::Vector{Pkg.Types.PackageSpec}; internal_call::Bool, strict::Bool, warn_loaded::Bool, already_instantiated::Bool, timing::Bool, kwargs::Base.Pairs{Symbol, Base.TTY, Tuple{Symbol}, NamedTuple{(:io,), Tuple{Base.TTY}}})
@ Pkg.API C:\Program Files (x86)\Julia-1.9.2\share\julia\stdlib\v1.9\Pkg\src\API.jl:1581
[3] precompile(pkgs::Vector{Pkg.Types.PackageSpec}; io::Base.TTY, kwargs::Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}})
@ Pkg.API C:\Program Files (x86)\Julia-1.9.2\share\julia\stdlib\v1.9\Pkg\src\API.jl:156
[4] precompile(pkgs::Vector{Pkg.Types.PackageSpec})
@ Pkg.API C:\Program Files (x86)\Julia-1.9.2\share\julia\stdlib\v1.9\Pkg\src\API.jl:145
[5] #precompile#115
@ C:\Program Files (x86)\Julia-1.9.2\share\julia\stdlib\v1.9\Pkg\src\API.jl:144 [inlined]
[6] precompile
@ C:\Program Files (x86)\Julia-1.9.2\share\julia\stdlib\v1.9\Pkg\src\API.jl:144 [inlined]
[7] #precompile#114
@ C:\Program Files (x86)\Julia-1.9.2\share\julia\stdlib\v1.9\Pkg\src\API.jl:143 [inlined]
[8] precompile(pkg::String)
@ Pkg.API C:\Program Files (x86)\Julia-1.9.2\share\julia\stdlib\v1.9\Pkg\src\API.jl:143
[9] top-level scope
@ REPL[9]:1
Let me know if there is any other information that may help diagnose the issue.
Any advice is greatly appreciated!