conda-forge / casadi-feedstock

A conda-smithy repository for casadi.
BSD 3-Clause "New" or "Revised" License
8 stars 12 forks source link

Casadi and ipopt #57

Open jcarpent opened 3 years ago

jcarpent commented 3 years ago

Currently, casadi is provided with Ipopt support. Would it be possible to make this external to casadi. In other words, having casadi and casadi-ipopt outputs of this package?

traversaro commented 3 years ago

Would it be possible to make this external to casadi. In other words, having casadi and casadi-ipopt outputs of this package?

That could be a good idea, but I would suggest to have a casadi-core or similar for casadi without ipopt (or any other solver), casadi-ipopt for the casadi_nlpsol_ipopt library, and casadi package that depends on both packages. In this way, we could permit to depend on casadi-core, while keeping the semantics of the existing casadi package, that installs ipopt as well.

traversaro commented 3 years ago

However, if the goal is just to merge https://github.com/conda-forge/casadi-feedstock/pull/56, an easier alternative may be to just skip the ipopt dependency on arm-osx, and then add it back once ipopt is available for arm-osx .

jcarpent commented 3 years ago

Would it be possible to make this external to casadi. In other words, having casadi and casadi-ipopt outputs of this package?

That could be a good idea, but I would suggest to have a casadi-core or similar for casadi without ipopt (or any other solver), casadi-ipopt for the casadi_nlpsol_ipopt library, and casadi package that depends on both packages. In this way, we could permit to depend on casadi-core, while keeping the semantics of the existing casadi package, that installs ipopt as well.

Seems to be nice and compatible with existing libs.

jcarpent commented 3 years ago

However, if the goal is just to merge #56, an easier alternative may be to just skip the ipopt dependency on arm-osx, and then add it back once ipopt is available for arm-osx .

Yes it will help #56. But at the same time, there is a lot of potential packages (e.g pinocchio-casadi) which needs casadi but does not depend of casadi-ipopt, which would come with further and useless downloads or dependencies.