Multiple package dependencies consistently fail to compile

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!

2 Likes

Are you using a separate project? Please try that first.
For example by typing:

mkdir my_project
cd my_project
julia --project="."
]
add CSV 
add DataFrames # or whatever packages you need

Next time, when you start Julia in a project folder the command julia --project is sufficient.

See also: Working with Julia projects | Julia programming notes

And if you still have a problem with a curtain set of packages, post the output of

]
status

Which shows which packages are in your project.

This really sounds like your Julia installation is messed up. How did you install Julia, and on what OS? Did you use juliaup?

Could you explain the role of university IT in installing Julia? Julia usually does not need to be installed by a central administrator.

The messages suggest corruption of your native compile cache in .julia/compiled/v1.9. You could try renaming v1.9 directory to v1.9_backup and then re-executing Pkg.precompile().

A permission issue is also possible. Is there any kind of shared network profile involved.

Do you have access to the Windows Store? That is how we recommend installing Julia(up) on Windows.

Hello Steven,
Thanks for your reply.
I didn’t use Juliaup, I downloaded from here: Download Julia and ran the native installer (or rather, the IT dept. did). This was how we installed both v1.6.7 & v1.9.2, and as mentioned above, both have similar precompile issues (albeit with different packages failing).
I’ll look into using Juliaup this week and let you know if it works!

Hi ufechner7,
Thanks for your reply, and the link to how to set-up projects, I’ll do this going forward!
Still getting the same issues however, the packages appear to be downloaded and in the project, but consistently fail to compile.
the outputs of ] status are bellow:

(@v1.9) pkg> status
Status `C:\Users\wmw23seu\.julia\environments\v1.9\Project.toml`
  [5d742f6a] CSVFiles v1.0.2
  [34da2185] Compat v4.9.0
  [a93c6f00] DataFrames v1.6.1
  [682c06a0] JSON v0.21.4
  [69de0a69] Parsers v2.7.2
  [aea7be01] PrecompileTools v1.1.2

Hello mkitti,
Thanks for your reply.
Of course: admin rights were needed to run the installers (both Julia-1.9.2-win64.exe and Julia-1.6.7-win64.exe).
Sadly the Microsoft store is blocked by our IT infrastructure, instead we have an internal “software centre” through which we can download specific software without needing admin rights. Julia is not yet available on this platform however, hence needing to download the native Julia installer and get IT to run it.

Thank you for your suggestions, in reply:

  1. permissions issue: I’m not quite sure what a shared network profile is but I have a university username and password that can log onto my university account from any machine, Is that what you mean? You raise an interesting point though, I’ll contact IT today to ask them to try compiling the packages whilst logged in as an administrator to see if the problem is linked with user permissions.
  2. I tried your suggestion of renaming the compiled/v1.9 folder and re-compiling. The error persists:
(@v1.9) pkg> precompile
Precompiling project...
  ✗ ChainRulesCore
  ✗ DataStructures
  ✗ MakieCore
  ✗ FileIO
  ✗ Quadmath
  ✗ DataValues
  ✗ TableTraits
  ✗ PooledArrays
  ✗ Missings
  ✗ CodecZlib
  ✗ PrecompileTools
  ✗ JLLWrappers
  ✗ SortingAlgorithms
  ✗ LogExpFunctions
  ✗ Tables
  ✗ TableTraitsUtils
  ✗ Parsers
  ✗ RecipesBase
  ✗ OpenSSL_jll
  ✗ OpenSpecFun_jll
  ✗ PrettyTables
  ✗ IterableTables
  ✗ Polynomials
  ✗ JSON
  ✗ InlineStrings
  ✗ OpenSSL
  ✗ SpecialFunctions
  ✗ HTTP
  ✗ DoubleFloats
  ✗ DataFrames
  ✗ WeakRefStrings
  ✗ TableShowUtils
  ✗ TextParse
  ✗ CSVFiles
  30 dependencies successfully precompiled in 76 seconds. 5 already precompiled.

ERROR: The following 5 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_EEB7.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_FA6D.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

DataFrames [a93c6f00-e57d-5684-b7b6-d8193f3e46c0]

Failed to precompile DataFrames [a93c6f00-e57d-5684-b7b6-d8193f3e46c0] to "C:\\Users\\wmw23seu\\.julia\\compiled\\v1.9\\DataFrames\\jl_429B.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] include
    @ .\Base.jl:457 [inlined]
  [9] 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
 [10] top-level scope
    @ stdin:3
in expression starting at C:\Users\wmw23seu\.julia\packages\DataFrames\58MUJ\src\DataFrames.jl:1
in expression starting at stdin:3


PrecompileTools [aea7be01-6a6a-4083-8856-8a6e6704d82a]

Failed to precompile PrecompileTools [aea7be01-6a6a-4083-8856-8a6e6704d82a] to "C:\\Users\\wmw23seu\\.julia\\compiled\\v1.9\\PrecompileTools\\jl_DB0D.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::Nothing)
    @ 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


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_1158.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_2853.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_1BC0.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


CSVFiles [5d742f6a-9f54-50ce-8119-2520741973ca]

Failed to precompile CSVFiles [5d742f6a-9f54-50ce-8119-2520741973ca] to "C:\\Users\\wmw23seu\\.julia\\compiled\\v1.9\\CSVFiles\\jl_7001.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] include
    @ .\Base.jl:457 [inlined]
  [9] 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
 [10] top-level scope
    @ stdin:3
in expression starting at C:\Users\wmw23seu\.julia\packages\CodecZlib\rXv4n\src\CodecZlib.jl:1
in expression starting at stdin:3
ERROR: LoadError: Failed to precompile CodecZlib [944b1d66-785c-5afd-91f1-9de20f533193] to "C:\\Users\\wmw23seu\\.julia\\compiled\\v1.9\\CodecZlib\\jl_776D.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
    @ .\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\TextParse\gNKVx\src\TextParse.jl:1
in expression starting at stdin:3
ERROR: LoadError: Failed to precompile TextParse [e0df1984-e451-5cb5-8b61-797a481e67e3] to "C:\\Users\\wmw23seu\\.julia\\compiled\\v1.9\\TextParse\\jl_72BA.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
    @ .\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::Nothing)
    @ Base .\loading.jl:2049
 [11] top-level scope
    @ stdin:3
in expression starting at C:\Users\wmw23seu\.julia\packages\CSVFiles\mNmS7\src\CSVFiles.jl:1
in expression starting at stdin:3

First of all, I do not understand why you need admin permissions to install Julia just for yourself. I was always successful installing Julia without admin permissions.

Additional questions:

  • where is the .julia folder located
  • which file system is used for it
  • does the installation folder name contain a non-ascii character (I see it doesn’t)

You could also try to rename the complete .julia folder and try again.

ufechner7, I’m green with envy… the university is very risk averse when it comes to user permissions:

The .Julia folder is here: “C:\Users\wmw23seu.julia”

RE which file system is used for it. I’m not familiar enough with computing to know what your question refers to but this is the screenshot of the folder:


Does that answer your question?

Finally, the installation folder name: “C:\Program Files (x86)\Julia-1.9.2”
Doesn’t seem to contain any non-ascii characters.

I’ve just tried your suggestion of renaming the .julia folder and adding and compiling the packages again, the same errors persist.

I’ve asked IT to try compiling the packages logged in as an administrator, to see if it is a permissions issue (as mkitti suggested).

Let me know if any of that seems like it could be causing an issue, or if you have any other ideas.
Cheers

I have been through all of this (yes, uni IT). Didn’t get it right before they made an exception for Julia (or maybe just Julia on my machine).

At some intermediate point, I managed to get Julia itself running, but then bumped into problems with some packages.

3 Likes

Could you try (i.e. type ] for for Pkg mode):

pkg> add Parsers@v2.5.7

Because of:

just to rule out that replacement package doesn’t have a bug. I doubt it’s the case (Juliahub still show only the old dependency). You could also try JSON3 (or JSON2) package as a workaround.

I guess then you may need to precompile (manually) again.

I don’t know if this is at all related:

did you see some error similar to here:

Note that OP has been able to install exactly this set of packages on their personal laptop (and I have also just confirmed that I can install and precompile this set on my Win10 machine), so it’s not an issue with the packages themselves or their versions.

1 Like

Right, I doubt it’s the package. It just seemed like too much of a coincidence to have a precompile problem for a package named something like *Precompile*…, and it should be a quick test. It’s not out of the question that a package does something different in different environments, i.e.g in a locked one vs unlocked (or on a different OS).

In case it helps: At one company, ABB (ABB - Wikipedia), the third largest electricity corporation of the world, and at Delft University of Technology, the largest technical university of The Netherlands I could install Julia without admin permissions…

Perhaps that can help you to convince your admin to allow this…

I mean, the Julia installer for Windows is signed with an official key…

1 Like

If you look at Download Julia you will see there are “portable” installs. These are just zip files. These files should not require any permissions to use.

Perhaps there is something wrong with the .julia file itself. You could rename this to move the old one out of the way.

Another way is to set ENV["JULIA_DEPOT_PATH"] to some arbitrary location.

This procedure might be a quick test:

julia> ENV["JULIA_DEPOT_PATH"] = mktempdir()
"/tmp/jl_GtnP5"

julia> Base.julia_cmd() |> run # Julia Inception
1 Like

Also see the note under Windows here:

If the Windows Store is blocked on a system, we have an alternative MSIX App Installer based setup. Note that this is currently experimental, please report back successes and failures here. To use the App Installer version, download this file and open it by double clicking on it.

Another thing you could try is running julia --pkgimages=no. This will sadly disable Julia 1.9’s native caching behavior, but may modify the issue for you.

Do you have some kind of antivirus running? I wonder if that is interfering here.

The OP’s environment does not have permissions to run any executables that have not been pre-approved by IT. So portable or otherwise will not help.

2 Likes

Perhaps the lack of permissions extends to running or loading any freshly compiled pkgimages?

Hello All,
The IT dept. went with the nuclear option of restoring the machine to factory defaults and removing all of the university protocols etc. from it. So it’s essentially a new laptop where I’m the sole/primary user (have admin rights etc.). All the problems are now fixed.
The slightly un-satisfactory element is that, with this approach, we don’t know exactly what was causing the problem. Speculating, It could have been the restrictive user permissions, or caused by restrictions imposed by wider university network.

I notified the faculty and Vice Chancellor of the challenges caused by the university system and submitted this thread as evidence, so thank you for taking the time to respond.
Call this one “solved”.

7 Likes