personalrobotics / dartpy

:dart: :snake: Python bindings for the Dynamic Animation and Robotics Toolkit
BSD 2-Clause "Simplified" License
15 stars 5 forks source link

Cannot generate bindings to `nlopt` or `ipopt` #24

Open psigen opened 8 years ago

psigen commented 8 years ago

We are currently suppressing the following solvers:

  'dart::optimizer::IpoptSolver': null
  'dart::optimizer::NloptSolver': null
  'dart::optimizer::DartTNLP': null

This means that running chimera without these optional components causes parsing errors (since these classes are not included if the components are not present.

This issue arose in https://github.com/personalrobotics/dartpy/pull/20#discussion_r59122966

jslee02 commented 7 years ago

Would commenting the lines of the solvers resolve the parsing errors when they are not installed?

dart-optimizer-ipopt-dev is not available on trusty. Could we make the Chimera configuration file to be configured in cmake time to disable ipopt and other optional components when they are not installed (like configuring chimera.yml.in to chimera.yml)?

psigen commented 7 years ago

Yes, I think that would be possible. There is a CMake macro for using Chimera, so we could add a configure_file step as a dependency to that macro. If not, another option would be passing the same information as command line flags.