coin-or / pulp

A python Linear Programming API
http://coin-or.github.io/pulp/
Other
2.04k stars 381 forks source link

How to install pulp on ARM computer running Ubuntu 18? #694

Closed DigitalGabriele closed 7 months ago

DigitalGabriele commented 11 months ago

I have a file with linear programming script that I ran on my M1 Mac and it worked fine. Now I am trying to do the same on an ARM computer running ubuntu 18. I installed pulp and had issues with cbc:

OSError: [Errno 8] Exec format error: '/home/ubuntu/c4aarch64_installer/lib/python3.7/site-packages/pulp/solverdir/cbc/linux/64/cbc'

I installed cbc through sudo apt and set the path in my script:

pulp.CBC_CMD = "/usr/bin/cbc"

That didn't work. How can I resolve this issue? I'd appreciate any guidance.

pchtsp commented 11 months ago

Try using the master version.

python -m pip install -U git+https://github.com/coin-or/pulp

Also check

https://coin-or.github.io/pulp/guides/how_to_configure_solvers.html

F.

On Mon, Oct 2, 2023, 17:42 Gabrielė @.***> wrote:

I have a file with linear programming script that I ran on my M1 Mac and it worked fine. Now I am trying to do the same on an ARM computer running ubuntu 18. I installed pulp and had issues with cbc:

OSError: [Errno 8] Exec format error: '/home/ubuntu/c4aarch64_installer/lib/python3.7/site-packages/pulp/solverdir/cbc/linux/64/cbc'

I installed cbc through sudo apt and set the path in my script:

pulp.CBC_CMD = "/usr/bin/cbc"

That didn't work. How can I resolve this issue? I'd appreciate any guidance.

— Reply to this email directly, view it on GitHub https://github.com/coin-or/pulp/issues/694, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABJUZ42B7D36IRKEEB7EKWTX5LOHTAVCNFSM6AAAAAA5PT5I2CVHI2DSMVQWIX3LMV43ASLTON2WKOZRHEZDEMJXGE3TEMI . You are receiving this because you are subscribed to this thread.Message ID: @.***>

connor-makowski commented 11 months ago

On ARM, (in 2.7.0) you also need to install a few extra dev deps for running CBC:

apt install -y coinor-cbc coinor-libcbc-dev

Then you can get the cbc location with:

whereis cbc | sed 's/cbc: //g' | sed 's/\s.*$//'

You can use this path when selecting your solver.

As @pchtsp mentioned the main branch now has CBC support for ARM linux baked in by default, but this was just added last week. I assume this will roll out with 2.8.0 when it drops.

pchtsp commented 7 months ago

I'm closing the issue as v.2.8.0 was just released.