There is an annoying aspect of using ROS with curobo when using the setuptools_scm pip package to check for version information: https://github.com/NVlabs/curobo/blob/main/src/curobo/__init__.py
When building with colcon, the following print statement always appears:
--- stderr: isaac_ros_apriltag_interfaces
ERROR setuptools_scm._file_finders.git listing git files failed - pretending there aren't any
---
This error occurs because it clashes with setuptools. I’m not sure what the best solution would be. Maybe the curobo package could check for setuptools_scm and issue a warning if it can’t import it?
Hi @bren1,
I have been facing the same error while building Isaac packages from source.
I found a solution that works, basically it’s replacing setuptools_scm with setuptools. It made nvblox build without errors.
Thank you for your feedback. In the end I just modified the code in src/curobo/__init__.py, So that it doesn’t import setuptools_scm:
def _get_version():
return "v0.7.0-no-tag"
I think the code could easily be changed to have a try and except for:
# Third Party
import setuptools_scm
# See the `setuptools_scm` documentation for the description of the schemes used below.
# https://pypi.org/project/setuptools-scm/
# NOTE: If these values are updated, they need to be also updated in `pyproject.toml`.
return setuptools_scm.get_version(
root=root,
version_scheme="no-guess-dev",
local_scheme="dirty-tag",
)
And return return "v0.7.0-no-tag" The same as the code: from importlib.metadata import version currently handles it.