# PATHSolver.jl not working on ARM Linux

**URL:** <https://discourse.julialang.org/t/pathsolver-jl-not-working-on-arm-linux/124203>\
**Category:** Optimization (Mathematical)\
**Created:** [December 27, 2024, 5:39am UTC](https://discourse.julialang.org/t/pathsolver-jl-not-working-on-arm-linux/124203 "2024-12-27T05:39:05Z")\
**Posts on this page:** 14\
**Page:** 1

<div class="post-metadata">

**Author:** ![nealhughes](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/nealhughes/32/214410_2.png) [@nealhughes](https://discourse.julialang.org/u/nealhughes)\
**Post date:** [December 27, 2024, 5:39am UTC](https://discourse.julialang.org/t/pathsolver-jl-not-working-on-arm-linux/124203/1 "2024-12-27T05:39:05Z")

</div>

I have a JuMP MCP model using PATHSolver.jl which works fine on Windows x86. I am trying to get it working on an ARM laptop in WSL (Ubuntu).

All packages have installed fine out of the box except PATHSolver.jl, which gives this error

`ERROR: LoadError: Cannot locate artifact 'PATHSolver' for aarch64-linux-gnu-libgfortran5-cxx11-libstdcxx30-julia_version+1.11.2 in '/home/nealh/.julia/packages/PATHSolver/I2W8G/Artifacts.toml'`

Having a look on the PATHSolver.jl github page it seems here is no binary for aarch64 Linux (only aarch64 mac).

> **[Release PATH binaries for v5.0.3 · chkwon/PATHSolver.jl](https://github.com/chkwon/PATHSolver.jl/releases/tag/v5.0.3-path-binaries)**
>
> This release is for caching binaries of PATH so that we can reference them in Artifacts.toml.
> They are redistributed here with permission by M. Ferris for the use in PATHSolver.jl only.
> If you are ...

Any chance that arm linux will be added? If not can I attempt to compile locally?

Thanks  
Neal

---

<div class="post-metadata">

**Author:** ![odow](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/odow/32/28685_2.png) [@odow](https://discourse.julialang.org/u/odow)\
**Post date:** [December 27, 2024, 5:59am UTC](https://discourse.julialang.org/t/pathsolver-jl-not-working-on-arm-linux/124203/2 "2024-12-27T05:59:00Z")

</div>

There is no support for ARM on Linux, and PATH is not open source so you cannot compile locally.

There is no timeline for fixing this so I suggest you stick with Windows.

---

<div class="post-metadata">

**Author:** ![nealhughes](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/nealhughes/32/214410_2.png) [@nealhughes](https://discourse.julialang.org/u/nealhughes)\
**Post date:** [December 27, 2024, 10:17pm UTC](https://discourse.julialang.org/t/pathsolver-jl-not-working-on-arm-linux/124203/3 "2024-12-27T22:17:31Z")

</div>

Thanks. So this means that PATH solver can’t be used on any windows ARM machines?

I need Windows x86 or I need an alternative to PATH…

---

<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:** [December 27, 2024, 10:28pm UTC](https://discourse.julialang.org/t/pathsolver-jl-not-working-on-arm-linux/124203/4 "2024-12-27T22:28:23Z")

</div>

Did you try it using Windows on your ARM machine?

---

<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:** [December 27, 2024, 10:32pm UTC](https://discourse.julialang.org/t/pathsolver-jl-not-working-on-arm-linux/124203/5 "2024-12-27T22:32:44Z")

</div>

> [@nealhughes](#):
>
> So this means that PATH solver can’t be used on any windows ARM machines?

Julia itself currently doesn’t work on aarch64 Windows machines.

---

<div class="post-metadata">

**Author:** ![nealhughes](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/nealhughes/32/214410_2.png) [@nealhughes](https://discourse.julialang.org/u/nealhughes)\
**Post date:** [December 27, 2024, 10:43pm UTC](https://discourse.julialang.org/t/pathsolver-jl-not-working-on-arm-linux/124203/6 "2024-12-27T22:43:50Z")

</div>

Julia works through WSL on these machines (only PATH doesn’t). I haven’t tried it on Windows, it won’t run natively but maybe through x86 emulation…

---

<div class="post-metadata">

**Author:** ![odow](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/odow/32/28685_2.png) [@odow](https://discourse.julialang.org/u/odow)\
**Post date:** [December 27, 2024, 11:24pm UTC](https://discourse.julialang.org/t/pathsolver-jl-not-working-on-arm-linux/124203/7 "2024-12-27T23:24:08Z")

</div>

> [@nealhughes](#):
>
> . So this means that PATH solver can’t be used on any windows ARM machines?
> 
> I need Windows x86 or I need an alternative to PATH…

Yes. Note that this is not a Julia-specific issue. There are no ARM builds of PATH other than mac.

---

<div class="post-metadata">

**Author:** ![nealhughes](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/nealhughes/32/214410_2.png) [@nealhughes](https://discourse.julialang.org/u/nealhughes)\
**Post date:** [December 28, 2024, 12:43am UTC](https://discourse.julialang.org/t/pathsolver-jl-not-working-on-arm-linux/124203/8 "2024-12-28T00:43:42Z")

</div>

Update. I have tried installing x86 windows version of Julia on my ARM Windows machine, and it all installs and runs OK via emulation including JuMP. But again I am getting errors trying to install PATHSolver.jl

`ERROR: LoadError: Cannot locate artifact 'PATHSolver' for i686-w64-mingw32-libgfortran5-cxx11-julia_version+1.11.2 in 'C:\Users\hughe\.julia\packages\PATHSolver\I2W8G\Artifacts.toml'`

---

<div class="post-metadata">

**Author:** ![odow](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/odow/32/28685_2.png) [@odow](https://discourse.julialang.org/u/odow)\
**Post date:** [December 28, 2024, 2:11am UTC](https://discourse.julialang.org/t/pathsolver-jl-not-working-on-arm-linux/124203/9 "2024-12-28T02:11:31Z")

</div>

These are the platforms we support: [Release PATH binaries for v5.0.3 · chkwon/PATHSolver.jl · GitHub](https://github.com/chkwon/PATHSolver.jl/releases/tag/v5.0.3-path-binaries)

- aarch64-apple-darwin
- x86\_64-apple-darwin
- x86\_64-linux-gnu
- x86\_64-w64-mingw32

We don’t support 32-bit Windows.

---

<div class="post-metadata">

**Author:** ![nealhughes](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/nealhughes/32/214410_2.png) [@nealhughes](https://discourse.julialang.org/u/nealhughes)\
**Post date:** [December 28, 2024, 4:04am UTC](https://discourse.julialang.org/t/pathsolver-jl-not-working-on-arm-linux/124203/10 "2024-12-28T04:04:29Z")

</div>

Yes, I am now trying to install the x86\_64 version of PATHSolver.jl, running Julia in Windows x86 (via emulation on a Windows ARM laptop). Julia and Jump install and run this way fine but not PATH.

I am not sure why it is looking for a 32bit version this is x86 Julia…

![image](https://global.discourse-cdn.com/julialang/original/3X/7/2/7290f8aa0171e1d6696c66d710bfb633db715f63.png)

---

<div class="post-metadata">

**Author:** ![odow](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/odow/32/28685_2.png) [@odow](https://discourse.julialang.org/u/odow)\
**Post date:** [December 28, 2024, 9:15pm UTC](https://discourse.julialang.org/t/pathsolver-jl-not-working-on-arm-linux/124203/11 "2024-12-28T21:15:40Z")

</div>

The various uses of “86” and “64” and “32” can be confusing. I don’t have Windows, but I assume you want to see `x64` here instead of `x86`.

You can check if you have a 32 or 64 bit version of Julia installed with:

```julia
julia> Sys.WORD_SIZE
64

```

---

<div class="post-metadata">

**Author:** ![longemen3000](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/longemen3000/32/7298_2.png) [@longemen3000](https://discourse.julialang.org/u/longemen3000)\
**Post date:** [December 28, 2024, 9:48pm UTC](https://discourse.julialang.org/t/pathsolver-jl-not-working-on-arm-linux/124203/12 "2024-12-28T21:48:37Z")

</div>

there is also [GitHub - CLeARoboticsLab/MixedComplementarityProblems.jl: A custom interior point solver for mixed complementarity problems.](https://github.com/CLeARoboticsLab/MixedComplementarityProblems.jl)

---

<div class="post-metadata">

**Author:** ![nealhughes](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/nealhughes/32/214410_2.png) [@nealhughes](https://discourse.julialang.org/u/nealhughes)\
**Post date:** [December 29, 2024, 2:29am UTC](https://discourse.julialang.org/t/pathsolver-jl-not-working-on-arm-linux/124203/13 "2024-12-29T02:29:43Z")

</div>

From the documentation this also depends on PATH binaries…

---

<div class="post-metadata">

**Author:** ![nealhughes](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/nealhughes/32/214410_2.png) [@nealhughes](https://discourse.julialang.org/u/nealhughes)\
**Post date:** [December 29, 2024, 2:35am UTC](https://discourse.julialang.org/t/pathsolver-jl-not-working-on-arm-linux/124203/14 "2024-12-29T02:35:53Z")

</div>

Thanks, right as always @odow. PATHSolver.jl installed OK in x64 Julia running in emulation on ARM windows. I’m guessing there will be a fair performance hit doing things this way, will need to run some tests.
