conda-forge / qpsolvers-feedstock

A conda-smithy repository for qpsolvers.
BSD 3-Clause "New" or "Revised" License
1 stars 4 forks source link

Fails to install when any QP solver is not available #42

Open stephane-caron opened 2 days ago

stephane-caron commented 2 days ago

Solution to issue cannot be found in the documentation.

Issue

The package fails to install when any of the QP solvers cannot be installed on the target architecture. For instance, on a Raspberry Pi:

conda-forge/linux-aarch64                                   Using cache
conda-forge/noarch                                          Using cache
nodefaults/linux-aarch64                                      No change
nodefaults/noarch                                             No change
error    libmamba Could not solve for environment specs
    The following package could not be installed
    └─ qpsolvers >=4.2.0  is not installable because it requires
       └─ daqp, which does not exist (perhaps a missing channel).

The same issue motivated not listing QP solvers as dependencies in the upstream package. Opening the discussion here and proposing a corresponding PR.

Installed packages

(empty)

Environment info

(I haven't saved it from the Raspberry Pi)
Tobias-Fischer commented 2 days ago

Personally, I think the better way would be to make sure that the dependencies are available on all platforms. I think it might be confusing for users needing to install all the solvers individually. Getting daqp built for aarch64 should be straightforward.

stephane-caron commented 2 days ago

For DAQP on aarch64, maybe @darnstrom you would be willing to look into it?

For users, the ideal would be be indeed that all open-source solvers are installed straight away with qpsolvers :+1: Making sure the dependencies are available on all platforms puts more responsibility on recipe maintainers, but if they can carry it out I agree it is better towards achieving this goal.

My concern is that it also makes the package more fragile. In this instance we hadn't noticed that aarch64 users were pinned to qpsolvers 2.6.0 (a version dating back to November 2022). There is a similar issue with another solver https://github.com/conda-forge/qpoases-feedstock/issues/3 that was also opened in November 2022 (it is still open today).

Tobias-Fischer commented 1 day ago

qpoases and daqp should both be fixed once the maintainers merge the pull requests; once that is the case, can we close here?

stephane-caron commented 1 day ago

Sure thing, thanks for your work @Tobias-Fischer!