PATHSolver.jl not working on ARM Linux

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).

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

Thanks
Neal

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.

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…

Did you try it using Windows on your ARM machine?

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

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…

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

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'

These are the platforms we support: Release PATH binaries for v5.0.3 · chkwon/PATHSolver.jl · GitHub

  • aarch64-apple-darwin
  • x86_64-apple-darwin
  • x86_64-linux-gnu
  • x86_64-w64-mingw32

We don’t support 32-bit Windows.

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

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> Sys.WORD_SIZE
64

there is also GitHub - CLeARoboticsLab/MixedComplementarityProblems.jl: A custom interior point solver for mixed complementarity problems.

1 Like

From the documentation this also depends on PATH binaries…

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.

1 Like