Skip to content

dockerfile bug while running ./scripts/run_dev.sh in Nvidia Jetson Orin Nano #73

@ZihanWang0422

Description

@ZihanWang0422

Device: Nvidia Jetson Orin Nano(5.15.148-tegra)
Platform: Ubuntu 22.04

While running set up isaac_ros_nvblox

cd $ISAAC_ROS_WS/src/isaac_ros_common && \
./scripts/run_dev.sh

I met this bug:

128.4   × Preparing metadata (pyproject.toml) did not run successfully.
128.4   │ exit code: 1
128.4   ╰─> [30 lines of output]
128.4       Traceback (most recent call last):
128.4         File "/tmp/pip-build-env-60yni415/overlay/local/lib/python3.10/dist-packages/scikit_build_core/_vendor/pyproject_metadata/__init__.py", line 515, in validate
128.4           packaging.utils.canonicalize_name(self.name, validate=True)
128.4       TypeError: canonicalize_name() got an unexpected keyword argument 'validate'
128.4       
128.4       During handling of the above exception, another exception occurred:
128.4       
128.4       Traceback (most recent call last):
128.4         File "/usr/lib/python3/dist-packages/pip/_vendor/pep517/in_process/_in_process.py", line 363, in <module>
128.4           main()
128.4         File "/usr/lib/python3/dist-packages/pip/_vendor/pep517/in_process/_in_process.py", line 345, in main
128.4           json_out['return_val'] = hook(**hook_input['kwargs'])
128.4         File "/usr/lib/python3/dist-packages/pip/_vendor/pep517/in_process/_in_process.py", line 164, in prepare_metadata_for_build_wheel
128.4           return hook(metadata_directory, config_settings)
128.4         File "/tmp/pip-build-env-60yni415/overlay/local/lib/python3.10/dist-packages/scikit_build_core/build/__init__.py", line 96, in prepare_metadata_for_build_wheel
128.4           return _build_wheel_impl(
128.4         File "/tmp/pip-build-env-60yni415/overlay/local/lib/python3.10/dist-packages/scikit_build_core/build/wheel.py", line 174, in _build_wheel_impl
128.4           return _build_wheel_impl_impl(
128.4         File "/tmp/pip-build-env-60yni415/overlay/local/lib/python3.10/dist-packages/scikit_build_core/build/wheel.py", line 231, in _build_wheel_impl_impl
128.4           metadata = get_standard_metadata(pyproject, settings)
128.4         File "/tmp/pip-build-env-60yni415/overlay/local/lib/python3.10/dist-packages/scikit_build_core/build/metadata.py", line 75, in get_standard_metadata
128.4           metadata = StandardMetadata.from_pyproject(
128.4         File "/tmp/pip-build-env-60yni415/overlay/local/lib/python3.10/dist-packages/scikit_build_core/_vendor/pyproject_metadata/__init__.py", line 428, in from_pyproject
128.4           self = cls(
128.4         File "<string>", line 24, in __init__
128.4         File "/tmp/pip-build-env-60yni415/overlay/local/lib/python3.10/dist-packages/scikit_build_core/_vendor/pyproject_metadata/__init__.py", line 293, in __post_init__
128.4           self.validate()
128.4         File "/tmp/pip-build-env-60yni415/overlay/local/lib/python3.10/dist-packages/scikit_build_core/_vendor/pyproject_metadata/__init__.py", line 516, in validate
128.4           except packaging.utils.InvalidName:
128.4       AttributeError: module 'packaging.utils' has no attribute 'InvalidName'
128.4       [end of output]
128.4   
128.4   note: This error originates from a subprocess, and is likely not a problem with pip.
128.4 error: metadata-generation-failed
128.4 
128.4 × Encountered error while generating package metadata.
128.4 ╰─> See above for output.
128.4 
128.4 note: This is an issue with the package mentioned above, not pip.
128.4 hint: See above for details.
------
Dockerfile.aarch64:144
--------------------
 143 |     # Additional Python dependencies
 144 | >>> RUN python3 -m pip install -U \
 145 | >>>     pymongo \
 146 | >>>     scikit-learn \
 147 | >>>     networkx \
 148 | >>>     "numpy>=1.24.4,<2" \
 149 | >>>     numpy-quaternion \
 150 | >>>     pyyaml \
 151 | >>>     "setuptools_scm>=6.2" \
 152 | >>>     trimesh \
 153 | >>>     "yourdfpy>=0.0.53" \
 154 | >>>     "warp-lang>=0.9.0" \
 155 | >>>     "scipy>=1.7.0" \
 156 | >>>     tqdm \
 157 | >>>     importlib_resources\
 158 | >>>     "mapbox_earcut<1.0.2"
 159 |     
--------------------
ERROR: failed to solve: process "/bin/bash -c python3 -m pip install -U     pymongo     scikit-learn     networkx     \"numpy>=1.24.4,<2\"     numpy-quaternion     pyyaml     \"setuptools_scm>=6.2\"     trimesh     \"yourdfpy>=0.0.53\"     \"warp-lang>=0.9.0\"     \"scipy>=1.7.0\"     tqdm     importlib_resources    \"mapbox_earcut<1.0.2\"" did not complete successfully: exit code: 1

So I changed Dockerfile.aarch64 seuptools and buildtools:

RUN python3 -m pip install -U --force-reinstall \
    pip==24.0 \
    setuptools==67.8.0 \
    wheel==0.43.0 \
    packaging==23.2

# Python3 PIP buildtools
RUN python3 -m pip install -U \
    "scikit-build-core==0.7.0" \
    Cython \
    ninja \
    wheel

And then I can run docker successfully.

🤔Could you explain what might cause this problem in Jetson device?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions