# Unable to install NeuralPDE

**URL:** <https://discourse.julialang.org/t/unable-to-install-neuralpde/124432>\
**Category:** General Usage\
**Created:** [January 4, 2025, 5:07pm UTC](https://discourse.julialang.org/t/unable-to-install-neuralpde/124432 "2025-01-04T17:07:16Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![StarecZosima](https://avatars.discourse-cdn.com/v4/letter/s/45deac/32.png) [@StarecZosima](https://discourse.julialang.org/u/StarecZosima)\
**Post date:** [January 4, 2025, 5:07pm UTC](https://discourse.julialang.org/t/unable-to-install-neuralpde/124432/1 "2025-01-04T17:07:16Z")

</div>

I am trying to install NeuralPDE on my MacOS M1 machine and regretfully running into an error.  
I first tried

```julia
Pkg.add("NeuralPDE")

```

on a Jupyter notebook and the relevant part of the traceback seems

```julia
Error building `FFMPEG`: 
┌ Warning: Platform `arm64-apple-darwin22.4.0` is not an officially supported platform
└ @ BinaryProvider ~/.julia/packages/BinaryProvider/U2dKK/src/PlatformNames.jl:450
ERROR: LoadError: KeyError: key "unknown" not found

```

as well as, some lines below

```julia
ERROR: LoadError: Failed to precompile BinaryProvider [b99e7846-7c00-51b0-8f62-c81ae34c0232]

```

I understand there are some issues with `BinaryProvider` e.g. [see here](https://github.com/JuliaIO/CodecZlib.jl/issues/58) but it is well above my paygrade.

If I try installing on the Julia REPL

```julia
(@v1.9) pkg> add NeuralPDE

```

and get

```julia
Resolving package versions...
  No Changes to `~/.julia/environments/v1.9/Project.toml`
  No Changes to `~/.julia/environments/v1.9/Manifest.toml`
Precompiling project...
  ✗ BinaryProvider
  ✗ FFMPEG
  ✗ Plots
  ✗ Plots → UnitfulExt
  ✗ Plots → IJuliaExt
  ✗ StatsPlots
  421 dependencies successfully precompiled in 442 seconds. 86 already precompiled.
  6 dependencies errored.

```

I am using Julia 1.9.4.  
The output of `Sys.MACHINE` is

```julia
"arm64-apple-darwin22.4.0"

```

and

```julia
(@v1.9) pkg> status --outdated
Status `~/.julia/environments/v1.9/Project.toml`
⌃ [0c46a032] DifferentialEquations v7.11.0 (<v7.15.0)
⌃ [7073ff75] IJulia v1.24.2 (<v1.26.0)
⌃ [b964fa9f] LaTeXStrings v1.3.1 (<v1.4.0)
⌃ [bdcacae8] LoopVectorization v0.12.166 (<v0.12.171)
⌅ [315f7962] NeuralPDE v5.11.0 (<v5.17.0): julia
⌃ [91a5bcdd] Plots v1.39.0 (<v1.40.9)
⌃ [2913bbd2] StatsBase v0.34.2 (<v0.34.4)
⌃ [f3b207a7] StatsPlots v0.15.6 (<v0.15.7)

```

I am a sporadic Julia user and am struggling to make sense of the above, any hints would be most appreciated, thank you

---

<div class="post-metadata">

**Author:** ![giordano](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/giordano/32/2166_2.png) [@giordano](https://discourse.julialang.org/u/giordano)\
**Post date:** [January 4, 2025, 6:33pm UTC](https://discourse.julialang.org/t/unable-to-install-neuralpde/124432/2 "2025-01-04T18:33:58Z")

</div>

> [@Precompilation errors while adding self-developed package to another package](https://discourse.julialang.org/t/precompilation-errors-while-adding-self-developed-package-to-another-package/124028/3):
>
> My educated guess: you’re using Julia v1.10 or older. And the package manager for some reason decided to favour an incredibly old version of FFMPEG.jl which required the super old package BinaryProvider.jl (when resolving an environment there are often several possible solutions and one has to be picked based on some heuristics, but these heuristics aren’t infallibile). One workaround is to add FFMPEG@0.4 to your environment. Another option is to use Julia v1.11, which doesn’t allow installing B…

> [@Precompilation errors while adding self-developed package to another package](https://discourse.julialang.org/t/precompilation-errors-while-adding-self-developed-package-to-another-package/124028/5):
>
> You didn’t show the full environment (]status -m), but presumably you also got an old version of Plots.jl, so another option is to add compat entry for it (which is always a good idea, besides being mandatory for packages in the General registry) Plots = "1.40" Side question, why does your package depend on Pkg.jl and Plots.jl at all?

---

<div class="post-metadata">

**Author:** ![ufechner7](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ufechner7/32/51363_2.png) [@ufechner7](https://discourse.julialang.org/u/ufechner7)\
**Post date:** [January 4, 2025, 9:33pm UTC](https://discourse.julialang.org/t/unable-to-install-neuralpde/124432/3 "2025-01-04T21:33:53Z")

</div>

Can you try the same using Julia 1.11?

If you use `juliaup` switching between Julia version is trivial.

Installing `juliaup` is a simple as:

```julia
curl -fsSL https://install.julialang.org | sh

```

When you have it installed, you can do:

```julia
juliaup add 1.11
juliaup default 1.11

```

or

```julia
juliaup add 1.9
juliaup default 1.9

```

to switch back to your old version.

And did you try to install it into an empty project?

```bash
mkdir test
cd test
julia --project

```

and then in Julia:

```julia
using Pkg
pkg"add NeuralPDE"

```

?  
Does that work?

---

<div class="post-metadata">

**Author:** ![StarecZosima](https://avatars.discourse-cdn.com/v4/letter/s/45deac/32.png) [@StarecZosima](https://discourse.julialang.org/u/StarecZosima)\
**Post date:** [January 5, 2025, 7:04pm UTC](https://discourse.julialang.org/t/unable-to-install-neuralpde/124432/4 "2025-01-05T19:04:19Z")

</div>

Thanks for this, it worked updating to Julia v1.11.  
Wrt to your last side question,

> why does your package depend on [Pkg.jl](https://juliaregistries.github.io/General/packages/redirect_to_repo/Pkg) and [Plots.jl](https://juliaregistries.github.io/General/packages/redirect_to_repo/Plots) at all?

I do not really know… What could I have messed up?

---

<div class="post-metadata">

**Author:** ![giordano](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/giordano/32/2166_2.png) [@giordano](https://discourse.julialang.org/u/giordano)\
**Post date:** [January 5, 2025, 10:20pm UTC](https://discourse.julialang.org/t/unable-to-install-neuralpde/124432/5 "2025-01-05T22:20:41Z")

</div>

That part of the answer wasn’t too much relevant for you, it was mainly for the other thread 🙂
