For this reason, some downstream libraries assume that CCD is compiled using double as a data type, see for example https://github.com/conda-forge/staged-recipes/pull/19049#issuecomment-1139782049 . As the only libraries that depend on libccd are fcl and dart, to avoid that users obtain less precise results with conda-forge packages w.r.t. people that are using apt or homebrew packages and to support mujoco, I think it make sense to switch ccd to use double.
However, clearly the two ABIs not definitely not compatible. A possible idea is to change the name of the package (for example we could call it libccd-double, so that if somebody is really interested in the future we could have a libccd-float) to avoid the problem?
Comment:
In Debian and Homebrew, the
libccd
package is compiled usingdouble
as a data type, see https://salsa.debian.org/science-team/libccd/-/blob/0248b4067ab931453ac5be70716f3b74b8047181/debian/rules#L10 and https://github.com/Homebrew/homebrew-core/blob/HEAD/Formula/libccd.rb#L22 .For this reason, some downstream libraries assume that CCD is compiled using
double
as a data type, see for example https://github.com/conda-forge/staged-recipes/pull/19049#issuecomment-1139782049 . As the only libraries that depend on libccd are fcl and dart, to avoid that users obtain less precise results with conda-forge packages w.r.t. people that are using apt or homebrew packages and to support mujoco, I think it make sense to switch ccd to use double.However, clearly the two ABIs not definitely not compatible. A possible idea is to change the name of the package (for example we could call it
libccd-double
, so that if somebody is really interested in the future we could have alibccd-float
) to avoid the problem?