# Impossible to add functional packages in Julia v1.9: Plots, Interact, WebIO

**URL:** https://discourse.julialang.org/t/impossible-to-add-functional-packages-in-julia-v1-9-plots-interact-webio/107699
**Category:** New to Julia
**Tags:** package, plotting
**Created:** [December 16, 2023, 7:35am UTC](https://discourse.julialang.org/t/impossible-to-add-functional-packages-in-julia-v1-9-plots-interact-webio/107699 "2023-12-16T07:35:37Z")
**Posts on this page:** 7
**Page:** 1

<div class="post-metadata">

### Author: ![Constant31](https://avatars.discourse-cdn.com/v4/letter/c/53a042/32.png) [@Constant31](https://discourse.julialang.org/u/Constant31)
#### Post date: [December 16, 2023, 7:35am UTC](https://discourse.julialang.org/t/impossible-to-add-functional-packages-in-julia-v1-9-plots-interact-webio/107699/1 "2023-12-16T07:35:37Z")

</div>

Hello everybody,  
I’m new on Julia Discourse, used Julia from version 0.6.4, 1.0 and after 1.6.x LTS  
I tried to jump to one of the last stable versions, so I installed a portable version 1.9.  
My goal was essentially to make functional use of the packages Interact inside a IJulia notebook or labserver.

Unfortunately, it was really impossible to install no one of the implied packages or their dependencies. More exactly, I may add them to Julia, but when I try to charge them by “using…”, I have a lot of precompilation errors, and specific other errors for each case.

BTW, I want to specify the fact that my context is a little bit particular: I’m using Windows 7 SP1, because of legacy constraints with respect to some essential software in my personal development. I have many hardware contexts already using Win 7 SP1 (on laptops or desktops) which work perfectly with Julia 1.6.7 for example.

On the other hand, exasperated because of impossibility for using Conda.jl, I installed Anaconda3 in my system, and also Python v3.7 (working with Win 7 SP1, versions highers than 3.8 have issues for working with, and needs at least Windows 10).

FIRST QUESTION, before detailing my error messages (if not, I will open a too much post there…): it is a ‘common knowledge’ in the Julia community that last versions of Julia are incompatible with the cited packages?  
NB: In the past, I have seen already incompatibilities of CUDAnative and CuArrays, CUDAdrv etc with versions of Julia higher than 1.6.x, because of the new ‘unified’ replacement: CUDA.jl (their creator unified them inside this package).

SECOND QUESTION: Maybe I need to downgrade the versions of some packages, or dependencies? This was a solution for being able to make functional CUDA.jl and other packages in Julia v1.6.7 for example…

I will add the message errors for each package in the next post.  
Thank you by advance.

---

<div class="post-metadata">

### Author: ![Constant31](https://avatars.discourse-cdn.com/v4/letter/c/53a042/32.png) [@Constant31](https://discourse.julialang.org/u/Constant31)
#### Post date: [December 16, 2023, 7:43am UTC](https://discourse.julialang.org/t/impossible-to-add-functional-packages-in-julia-v1-9-plots-interact-webio/107699/2 "2023-12-16T07:43:24Z")

</div>

There are the errors for each one of the cited packages. Excuse me if I packed all of them inside the same post (maybe it would have been better to create an individual ticket for each one, but unfortunately they are intimately related for doing the task of plotting dynamic plots in a Jupither notebook.

Julia inputs and outputs for Plots.jl

> add Plots  
> Info Packages marked with ⌅ have new versions available but compatibility constraints restrict them from upgrading. To see why use `status --outdated -m`  
> Precompiling project…  
> ✗ GR\_jll  
> ✗ Plots  
> ✗ Plots → IJuliaExt  
> ✗ Plots → UnitfulExt  
> 8 dependencies successfully precompiled in 63 seconds. 289 already precompiled. 6 skipped during auto due to previous errors.  
> 4 dependencies errored. To see a full report either run `import Pkg; Pkg.precompile()` or load the packages

> using Plots  
> using Plots  
> [Info: Precompiling Plots [91a5bcdd-55d7-5caf-9e0b-520d859cae80]  
> ERROR: LoadError: InitError: UndefVarError: `GR_jll` not defined  
> Stacktrace:  
> [1] **init** ()  
> @ GR.GRPreferences C:\Users\User.julia\packages\GR\yBe3g\src\preferences.jl:64  
> [2] register\_restored\_modules(sv::Core.SimpleVector, pkg::Base.PkgId, path::String)  
> @ Base .\loading.jl:1074  
> [3] \_include\_from\_serialized(pkg::Base.PkgId, path::String, ocachepath::String, depmods::Vector{Any})  
> @ Base .\loading.jl:1020  
> [4] \_require\_search\_from\_serialized(pkg::Base.PkgId, sourcepath::String, build\_id::UInt128)  
> @ Base .\loading.jl:1471  
> [5] \_require(pkg::Base.PkgId, env::String)  
> @ Base .\loading.jl:1748  
> [6] \_require\_prelocked(uuidkey::Base.PkgId, env::String)  
> @ Base .\loading.jl:1625  
> [7] macro expansion  
> @ .\loading.jl:1613 [inlined]  
> [8] macro expansion  
> @ .\lock.jl:267 [inlined]  
> [9] require(into::Module, mod::Symbol)  
> @ Base .\loading.jl:1576  
> [10] top-level scope  
> @ C:\Users\User.julia\packages\Plots\sxUvK\src\backends.jl:402  
> [11] eval  
> @ .\boot.jl:370 [inlined]  
> [12] \_initialize\_backend(pkg::Plots.GRBackend)  
> @ Plots C:\Users\User.julia\packages\Plots\sxUvK\src\backends.jl:401  
> [13] backend(pkg::Plots.GRBackend)  
> @ Plots C:\Users\User.julia\packages\Plots\sxUvK\src\backends.jl:266  
> [14] backend(sym::Symbol)  
> @ Plots C:\Users\User.julia\packages\Plots\sxUvK\src\backends.jl:276  
> [15] load\_default\_backend()  
> @ Plots C:\Users\User.julia\packages\Plots\sxUvK\src\backends.jl:207  
> [16] backend()  
> @ Plots C:\Users\User.julia\packages\Plots\sxUvK\src\backends.jl:254  
> [17] top-level scope  
> @ C:\Users\User.julia\packages\Plots\sxUvK\src\init.jl:83  
> [18] include(mod::Module, \_path::String)  
> @ Base .\Base.jl:457  
> [19] include(x::String)  
> @ Plots C:\Users\User.julia\packages\Plots\sxUvK\src\Plots.jl:1  
> [20] top-level scope  
> @ C:\Users\User.julia\packages\Plots\sxUvK\src\Plots.jl:176  
> [21] include  
> @ .\Base.jl:457 [inlined]  
> [22] 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  
> @ Base .\loading.jl:2010  
> [23] top-level scope  
> @ stdin:2  
> during initialization of module GRPreferences  
> in expression starting at C:\Users\User.julia\packages\Plots\sxUvK\src\init.jl:83  
> in expression starting at C:\Users\User.julia\packages\Plots\sxUvK\src\Plots.jl:1  
> in expression starting at stdin:2  
> ERROR: Failed to precompile Plots [91a5bcdd-55d7-5caf-9e0b-520d859cae80] to “C:\Users\User\.julia\compiled\v1.9\Plots\jl\_894D.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:2260  
> [3] compilecache  
> @ .\loading.jl:2127 [inlined]  
> [4] \_require(pkg::Base.PkgId, env::String)  
> @ Base .\loading.jl:1770  
> [5] \_require\_prelocked(uuidkey::Base.PkgId, env::String)  
> @ Base .\loading.jl:1625  
> [6] macro expansion  
> @ .\loading.jl:1613 [inlined]  
> [7] macro expansion  
> @ .\lock.jl:267 [inlined]  
> [8] require(into::Module, mod::Symbol)  
> @ Base .\loading.jl:1576

---

<div class="post-metadata">

### Author: ![Constant31](https://avatars.discourse-cdn.com/v4/letter/c/53a042/32.png) [@Constant31](https://discourse.julialang.org/u/Constant31)
#### Post date: [December 16, 2023, 7:46am UTC](https://discourse.julialang.org/t/impossible-to-add-functional-packages-in-julia-v1-9-plots-interact-webio/107699/3 "2023-12-16T07:46:55Z")

</div>

Error messages for Interact.jl

> add Interact  
> (no error messages)

julia\> using Interact  
[Info: Precompiling Interact [c601a237-2ae4-5e1e-952c-7a85b0c7eef1]  
ERROR: LoadError: UndefVarError: `Sockets` not defined  
Stacktrace:  
[1] include(mod::Module, \_path::String)  
@ Base .\Base.jl:457  
[2] include(x::String)  
@ WebIO C:\Users\User.julia\packages\WebIO\cOHMI\src\WebIO.jl:1  
[3] top-level scope  
@ C:\Users\User.julia\packages\WebIO\cOHMI\src\WebIO.jl:44  
[4] include  
@ .\Base.jl:457 [inlined]  
[5] include\_package\_for\_output(pkg::Base.PkgId, input::String, depot\_path::Vector{String}, dl\_load\_path::Vector{String}, load\_pat  
@ Base .\loading.jl:2010  
[6] top-level scope  
@ stdin:2  
in expression starting at C:\Users\User.julia\packages\WebIO\cOHMI\src\scope.jl:17  
in expression starting at C:\Users\User.julia\packages\WebIO\cOHMI\src\WebIO.jl:1  
in expression starting at stdin:2  
ERROR: LoadError: Failed to precompile WebIO [0f1e0344-ec1d-5b48-a673-e5cf874b6c29] to "C:\Users\User\.julia\compiled\v1.9\W  
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:2260  
[3] compilecache  
@ .\loading.jl:2127 [inlined]  
[4] \_require(pkg::Base.PkgId, env::String)  
@ Base .\loading.jl:1770  
[5] \_require\_prelocked(uuidkey::Base.PkgId, env::String)  
@ Base .\loading.jl:1625  
[6] macro expansion  
@ .\loading.jl:1613 [inlined]  
[7] macro expansion  
@ .\lock.jl:267 [inlined]  
[8] require(into::Module, mod::Symbol)  
@ Base .\loading.jl:1576  
[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\_pa  
@ Base .\loading.jl:2010  
[11] top-level scope  
@ stdin:2  
in expression starting at C:\Users\User.julia\packages\InteractBase\LJXv3\src\InteractBase.jl:1  
in expression starting at stdin:2  
ERROR: LoadError: Failed to precompile InteractBase [d3863d7c-f0c8-5437-a7b4-3ae773c01009] to "C:\Users\User\.julia\compiled\  
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:2260  
[3] compilecache  
@ .\loading.jl:2127 [inlined]  
[4] \_require(pkg::Base.PkgId, env::String)  
@ Base .\loading.jl:1770  
[5] \_require\_prelocked(uuidkey::Base.PkgId, env::String)  
@ Base .\loading.jl:1625  
[6] macro expansion  
@ .\loading.jl:1613 [inlined]  
[7] macro expansion  
@ .\lock.jl:267 [inlined]  
[8] require(into::Module, mod::Symbol)  
@ Base .\loading.jl:1576  
[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\_pa  
@ Base .\loading.jl:2010  
[11] top-level scope  
@ stdin:2  
in expression starting at C:\Users\User.julia\packages\Interact\PENUy\src\Interact.jl:1  
in expression starting at stdin:2  
ERROR: Failed to precompile Interact [c601a237-2ae4-5e1e-952c-7a85b0c7eef1] to "C:\Users\User\.julia\compiled\v1.9\Interact  
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:2260  
[3] compilecache  
@ .\loading.jl:2127 [inlined]  
[4] \_require(pkg::Base.PkgId, env::String)  
@ Base .\loading.jl:1770  
[5] \_require\_prelocked(uuidkey::Base.PkgId, env::String)  
@ Base .\loading.jl:1625  
[6] macro expansion  
@ .\loading.jl:1613 [inlined]  
[7] macro expansion  
@ .\lock.jl:267 [inlined]  
[8] require(into::Module, mod::Symbol)  
@ Base .\loading.jl:1576

---

<div class="post-metadata">

### Author: ![Constant31](https://avatars.discourse-cdn.com/v4/letter/c/53a042/32.png) [@Constant31](https://discourse.julialang.org/u/Constant31)
#### Post date: [December 16, 2023, 7:53am UTC](https://discourse.julialang.org/t/impossible-to-add-functional-packages-in-julia-v1-9-plots-interact-webio/107699/4 "2023-12-16T07:53:23Z")

</div>

Message errors for loading WebIO:

(@v1.9) pkg\> add WebIO  
Resolving package versions…  
Updating `C:\Users\User\.julia\environments\v1.9\Project.toml`  
⌃ [0f1e0344] + WebIO v0.8.92  
No Changes to `C:\Users\User\.julia\environments\v1.9\Manifest.toml`

julia\> using WebIO  
[Info: Precompiling WebIO [0f1e0344-ec1d-5b48-a673-e5cf874b6c29]  
ERROR: LoadError: UndefVarError: `Sockets` not defined  
Stacktrace:  
[1] include(mod::Module, \_path::String)  
@ Base .\Base.jl:457  
[2] include(x::String)  
@ WebIO C:\Users\User.julia\packages\WebIO\cOHMI\src\WebIO.jl:1  
[3] top-level scope  
@ C:\Users\User.julia\packages\WebIO\cOHMI\src\WebIO.jl:44  
[4] include  
@ .\Base.jl:457 [inlined]  
[5] include\_package\_for\_output(pkg::Base.PkgId, input::String, depot\_path::Vector{String}, dl\_load\_path::Vector{String}, load\_pat  
h::Vector{String}, concrete\_deps::Vector{Pair{Base.PkgId, UInt128}}, source::Nothing)  
@ Base .\loading.jl:2010  
[6] top-level scope  
@ stdin:2  
in expression starting at C:\Users\User.julia\packages\WebIO\cOHMI\src\scope.jl:17  
in expression starting at C:\Users\User.julia\packages\WebIO\cOHMI\src\WebIO.jl:1  
in expression starting at stdin:2  
ERROR: Failed to precompile WebIO [0f1e0344-ec1d-5b48-a673-e5cf874b6c29] to “C:\Users\User\.julia\compiled\v1.9\WebIO\jl\_6E  
BE.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:2260  
[3] compilecache  
@ .\loading.jl:2127 [inlined]  
[4] \_require(pkg::Base.PkgId, env::String)  
@ Base .\loading.jl:1770  
[5] \_require\_prelocked(uuidkey::Base.PkgId, env::String)  
@ Base .\loading.jl:1625  
[6] macro expansion  
@ .\loading.jl:1613 [inlined]  
[7] macro expansion  
@ .\lock.jl:267 [inlined]  
[8] require(into::Module, mod::Symbol)  
@ Base .\loading.jl:1576

The standard info about WebIO is very heterogenous with respect with its use: some specifies that it is automatically called as dependency, some says that WebIO must be charged at the same time when using Interact, some others specifies the need to install first different dependencies, which will add a lot of mixing conflicts inside higher versions of Julia (which are less compatible with the dependencies of too old packages)

---

<div class="post-metadata">

### Author: ![Tetrakai](https://avatars.discourse-cdn.com/v4/letter/t/4da419/32.png) [@Tetrakai](https://discourse.julialang.org/u/Tetrakai)
#### Post date: [December 16, 2023, 8:53am UTC](https://discourse.julialang.org/t/impossible-to-add-functional-packages-in-julia-v1-9-plots-interact-webio/107699/5 "2023-12-16T08:53:11Z")

</div>

See here:

> [@Precompilation: Why does order matter when "using" packages for the first time?](https://discourse.julialang.org/t/precompilation-why-does-order-matter-when-using-packages-for-the-first-time/107056/):
>
> Last night, I was trying to get a Lux tutorial running. This was the order in the tutorial: using Lux, ComponentArrays, SciMLSensitivity, LuxAMDGPU, LuxCUDA, Optimisers, OrdinaryDiffEq, Random, Statistics, Zygote, OneHotArrays, InteractiveUtils Some I had. Others needed to be installed, which seemed to have worked fine. However, when trying to use the packages, I kept getting a message to restart Julia because one of the packages was not precompiled correctly (ComponentArrays, or some Compone…

Basically, I got it working by removing the packages from all my projects. Then doing this:

> But it appears using a temp directory was insufficient to isolate the problem. What I did is remove all those packages from my project then run `]gc --all`. I saw this did delete them in `~/.julia/packages`.

Then reinstalled the packages one by one. The order maybe matters but if you see an error then remove the last one, do the garbage collection, then try with another.

I think in the end just installing one by one after making sure the packages were actually deleted worked (by the package manager, doing it manually sounded like a bad idea).

**Edit:**  
People who know better than I thought it was an issue with how the package manager deals with the new extension packages introduced in version 1.9. So I assume this issue is being worked on, but for now that worked for me…

---

<div class="post-metadata">

### Author: ![Palli](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/palli/32/3380_2.png) [@Palli](https://discourse.julialang.org/u/Palli)
#### Post date: [December 16, 2023, 2:27pm UTC](https://discourse.julialang.org/t/impossible-to-add-functional-packages-in-julia-v1-9-plots-interact-webio/107699/6 "2023-12-16T14:27:12Z")

</div>

> [@Constant31](#):
>
> I’m using Windows 7 SP1, because of legacy constraints with respect to some essential software in my personal development.

Not too good since no longer supported by Microsoft, nor by Julia. I _think_ it will though still work. What was the last Julia version made for Windows 7? Julia 1.6 LTS maybe or some older unsupported Julia?

> [@Constant31](#):
>
> and also Python v3.7 (working with Win 7 SP1, versions highers than 3.8 have issues for working with, and needs at least Windows 10).

Python 3.7 is no longer supported. You should be using Python 3.8 since it’s supported (but only with security updates up to October 2024). Then:

> **Note that Python 3.9.16 _cannot_ be used on Windows 7 or earlier.**

I believe Python prevents installing on those unsupported versions for some reason, i.e. they know they could either end up not working.

I don’t know that Julia has ever done similar, and hypothetically that could be the reason something is failing for you. Though I doubt it, and think your problem is elsewhere. Would you try all your steps on a Windows 10+ computer first?

---

<div class="post-metadata">

### Author: ![mkitti](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/mkitti/32/12459_2.png) [@mkitti](https://discourse.julialang.org/u/mkitti)
#### Post date: [December 16, 2023, 4:21pm UTC](https://discourse.julialang.org/t/impossible-to-add-functional-packages-in-julia-v1-9-plots-interact-webio/107699/7 "2023-12-16T16:21:19Z")

</div>

> [@Constant31](#):
>
> ERROR: LoadError: UndefVarError: `Sockets` not defined  
> Stacktrace:

This is the common error message across multiple packages. The _standard library package, Sockets, is failing to load._

I would focus on that first. Can you load Sockets?

```julia
using Pkg
Pkg.add("Sockets")
using Sockets
Sockets

```

Try that and report any errors.

An error here is very surprising and suggests a problem with the system image. You might want to try a clean installation. Also consider moving the .julia folder to .julia\_bak.
