stack-of-tasks / pinocchio

A fast and flexible implementation of Rigid Body Dynamics algorithms and their analytical derivatives
http://stack-of-tasks.github.io/pinocchio/
BSD 2-Clause "Simplified" License
1.76k stars 373 forks source link

Failed to install Pinocchio on Jetson Orin #2148

Open lwygzh opened 6 months ago

lwygzh commented 6 months ago

Bug description

Gives an error when install pinocchio using pip install pin inside an Isaac ROS docker container deployed on a NVIDIA Jetson Orin.

Expected behavior

Installs pinocchio successfully.

Reproduction steps

  1. Follow the steps here to install the Isaac ROS docker
  2. Run run_dev.sh following the steps here to run the docker container
  3. run pip install pin inside the container.

Docker image

See above

Additional context

This is the error message:

python3 -m pip install pin==2.6.21 proxsuite
Collecting pin==2.6.21
  Downloading pin-2.6.21.tar.gz (61.8 MB)
     |████████████████████████████████| 61.8 MB 15.2 MB/s 
  Installing build dependencies ... error
  ERROR: Command errored out with exit status 1:
   command: /usr/bin/python3 /usr/lib/python3/dist-packages/pip install --ignore-installed --no-user --prefix /tmp/pip-build-env-wy7o9b6f/overlay --no-warn-script-location --no-binary :none: --only-binary :none: -i https://pypi.org/simple -- 'cmeel-boost ~= 1.83.0' 'cmeel-urdfdom[build] >= 3.1.0.3, < 4' 'cmeel[build]' 'hpp-fcl[build] >= 2.3.4, < 4'
       cwd: None
  Complete output (296 lines):
  Collecting cmeel-boost~=1.83.0
    Using cached cmeel_boost-1.83.0.tar.gz (4.0 kB)
    Installing build dependencies: started
    Installing build dependencies: finished with status 'done'
    Getting requirements to build wheel: started
    Getting requirements to build wheel: finished with status 'done'
      Preparing wheel metadata: started
      Preparing wheel metadata: still running...
      Preparing wheel metadata: still running...
      Preparing wheel metadata: still running...
      Preparing wheel metadata: still running...
      Preparing wheel metadata: finished with status 'done'
  Collecting cmeel-urdfdom[build]<4,>=3.1.0.3
    Downloading cmeel_urdfdom-3.1.1.1.tar.gz (292 kB)
    Installing build dependencies: started
    Installing build dependencies: finished with status 'done'
    Getting requirements to build wheel: started
    Getting requirements to build wheel: finished with status 'done'
      Preparing wheel metadata: started
      Preparing wheel metadata: finished with status 'done'
  Collecting cmeel[build]
    Using cached cmeel-0.53.3-py3-none-any.whl (20 kB)
  Collecting hpp-fcl[build]<4,>=2.3.4
    Downloading hpp_fcl-2.4.1.tar.gz (3.2 MB)
    Installing build dependencies: started
    Installing build dependencies: still running...
    Installing build dependencies: still running...
    Installing build dependencies: still running...
    Installing build dependencies: still running...
    Installing build dependencies: still running...
    Installing build dependencies: still running...
    Installing build dependencies: still running...
    Installing build dependencies: still running...
    Installing build dependencies: still running...
    Installing build dependencies: still running...
    Installing build dependencies: finished with status 'error'
    ERROR: Command errored out with exit status 1:
     command: /usr/bin/python3 /usr/lib/python3/dist-packages/pip install --ignore-installed --no-user --prefix /tmp/pip-build-env-1tiji5hd/overlay --no-warn-script-location --no-binary :none: --only-binary :none: -i https://pypi.org/simple -- 'cmeel-assimp >= 5.3.1, < 6' 'cmeel-boost ~= 1.83.0' 'cmeel-octomap >= 1.9.8.2, < 2' 'cmeel-qhull >= 8.0.2.1, < 8.0.3' 'cmeel[build]' 'eigenpy[build] >= 3.1, < 4'
         cwd: None
    Complete output (254 lines):
    Collecting cmeel-assimp<6,>=5.3.1
      Downloading cmeel_assimp-5.3.1.tar.gz (52.6 MB)
      Installing build dependencies: started
      Installing build dependencies: finished with status 'done'
      Getting requirements to build wheel: started
      Getting requirements to build wheel: finished with status 'done'
        Preparing wheel metadata: started
        Preparing wheel metadata: still running...
        Preparing wheel metadata: still running...
        Preparing wheel metadata: still running...
        Preparing wheel metadata: still running...
        Preparing wheel metadata: still running...
        Preparing wheel metadata: finished with status 'done'
    WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ProtocolError('Connection aborted.', OSError("(104, 'ECONNRESET')"))': /simple/cmeel-boost/
    Collecting cmeel-boost~=1.83.0
      Using cached cmeel_boost-1.83.0.tar.gz (4.0 kB)
      Installing build dependencies: started
      Installing build dependencies: finished with status 'done'
      Getting requirements to build wheel: started
      Getting requirements to build wheel: finished with status 'done'
        Preparing wheel metadata: started
        Preparing wheel metadata: still running...
        Preparing wheel metadata: still running...
        Preparing wheel metadata: still running...
        Preparing wheel metadata: still running...
        Preparing wheel metadata: finished with status 'done'
    Collecting cmeel-octomap<2,>=1.9.8.2
      WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ProtocolError('Connection aborted.', OSError("(104, 'ECONNRESET')"))': /packages/34/66/a3a9105f2a188bd8c75a3b453e748b9a0a78115be0babc9ac4ba949c2414/cmeel_octomap-1.9.8.2.tar.gz
      Downloading cmeel_octomap-1.9.8.2.tar.gz (1.7 MB)
      Installing build dependencies: started
      Installing build dependencies: finished with status 'done'
      Getting requirements to build wheel: started
      Getting requirements to build wheel: finished with status 'done'
        Preparing wheel metadata: started
        Preparing wheel metadata: finished with status 'error'
        ERROR: Command errored out with exit status 1:
         command: /usr/bin/python3 /tmp/tmpfe2m5gwd prepare_metadata_for_build_wheel /tmp/tmptsnph3rn
             cwd: /tmp/pip-install-e33zyp98/cmeel-octomap
        Complete output (213 lines):
        CMake Deprecation Warning at CMakeLists.txt:1 (CMAKE_MINIMUM_REQUIRED):
          Compatibility with CMake < 3.5 will be removed from a future version of
          CMake.

          Update the VERSION argument <min> value or use a ...<max> suffix to tell
          CMake that the project does not need compatibility with older versions.

        -- The C compiler identification is GNU 9.4.0
        -- The CXX compiler identification is GNU 9.4.0
        -- Detecting C compiler ABI info
        -- Detecting C compiler ABI info - done
        -- Check for working C compiler: /usr/bin/cc - skipped
        -- Detecting C compile features
        -- Detecting C compile features - done
        -- Detecting CXX compiler ABI info
        -- Detecting CXX compiler ABI info - done
        -- Check for working CXX compiler: /usr/bin/c++ - skipped
        -- Detecting CXX compile features
        -- Detecting CXX compile features - done

        -- octomap building as Release
        -- Could NOT find Doxygen (missing: DOXYGEN_EXECUTABLE)

        -- Compile octomap using: make
        -- Install octomap using: make install
        --     (be sure to set the correct CMAKE_INSTALL_PREFIX before)
        -- Compile API-documentation using: make docs

        -- Configuring done (0.7s)
        -- Generating done (0.1s)
        CMake Warning:
          Manually-specified variables were not used by the project:

            Boost_NO_WARN_NEW_VERSIONS
            CMAKE_APPLE_SILICON_PROCESSOR
            CMEEL_JOBS
            PYTHON_SITELIB
            Python3_EXECUTABLE

        -- Build files have been written to: /tmp/cmeel-m3uzoocm/bld
        [  4%] Building CXX object src/math/CMakeFiles/octomath.dir/Vector3.cpp.o
        [  5%] Building CXX object src/math/CMakeFiles/octomath.dir/Pose6D.cpp.o
        [  5%] Building CXX object src/math/CMakeFiles/octomath.dir/Quaternion.cpp.o
        [  5%] Building CXX object src/math/CMakeFiles/octomath-static.dir/Vector3.cpp.o
        [  6%] Building CXX object src/math/CMakeFiles/octomath-static.dir/Quaternion.cpp.o
        [  8%] Building CXX object src/math/CMakeFiles/octomath-static.dir/Pose6D.cpp.o
        [  9%] Linking CXX shared library /tmp/pip-install-e33zyp98/cmeel-octomap/octomap/octomap/lib/liboctomath.so
        [  9%] Built target octomath
        [ 12%] Building CXX object src/CMakeFiles/octomap.dir/AbstractOccupancyOcTree.cpp.o
        [ 12%] Building CXX object src/CMakeFiles/octomap.dir/AbstractOcTree.cpp.o
        [ 13%] Building CXX object src/CMakeFiles/octomap.dir/Pointcloud.cpp.o
        [ 14%] Linking CXX static library /tmp/pip-install-e33zyp98/cmeel-octomap/octomap/octomap/lib/liboctomath.a
        [ 14%] Built target octomath-static
        [ 16%] Building CXX object src/CMakeFiles/octomap.dir/ScanGraph.cpp.o
        [ 17%] Building CXX object src/CMakeFiles/octomap.dir/CountingOcTree.cpp.o
        [ 18%] Building CXX object src/CMakeFiles/octomap.dir/OcTree.cpp.o
        [ 20%] Building CXX object src/CMakeFiles/octomap.dir/OcTreeNode.cpp.o
        [ 21%] Building CXX object src/CMakeFiles/octomap.dir/OcTreeStamped.cpp.o
        [ 22%] Building CXX object src/CMakeFiles/octomap.dir/ColorOcTree.cpp.o
        [ 24%] Building CXX object src/CMakeFiles/octomap-static.dir/AbstractOcTree.cpp.o
        [ 25%] Building CXX object src/CMakeFiles/octomap-static.dir/AbstractOccupancyOcTree.cpp.o
        [ 27%] Building CXX object src/CMakeFiles/octomap-static.dir/Pointcloud.cpp.o
        [ 28%] Building CXX object src/CMakeFiles/octomap-static.dir/ScanGraph.cpp.o
        [ 29%] Building CXX object src/CMakeFiles/octomap-static.dir/CountingOcTree.cpp.o
        [ 31%] Building CXX object src/CMakeFiles/octomap-static.dir/OcTree.cpp.o
        [ 32%] Linking CXX shared library /tmp/pip-install-e33zyp98/cmeel-octomap/octomap/octomap/lib/liboctomap.so
        [ 32%] Built target octomap
        [ 33%] Building CXX object src/CMakeFiles/octomap-static.dir/OcTreeNode.cpp.o
        [ 35%] Building CXX object src/CMakeFiles/octomap-static.dir/OcTreeStamped.cpp.o
        [ 36%] Building CXX object src/CMakeFiles/graph2tree.dir/graph2tree.cpp.o
        [ 37%] Building CXX object src/CMakeFiles/octomap-static.dir/ColorOcTree.cpp.o
        [ 39%] Building CXX object src/CMakeFiles/log2graph.dir/log2graph.cpp.o
        [ 40%] Linking CXX executable /tmp/pip-install-e33zyp98/cmeel-octomap/octomap/octomap/bin/log2graph
        [ 40%] Built target log2graph
        [ 41%] Building CXX object src/CMakeFiles/binvox2bt.dir/binvox2bt.cpp.o
        [ 43%] Building CXX object src/CMakeFiles/bt2vrml.dir/bt2vrml.cpp.o
        [ 44%] Linking CXX executable /tmp/pip-install-e33zyp98/cmeel-octomap/octomap/octomap/bin/graph2tree
        [ 44%] Built target graph2tree
        [ 45%] Building CXX object src/CMakeFiles/edit_octree.dir/edit_octree.cpp.o
        [ 47%] Linking CXX static library /tmp/pip-install-e33zyp98/cmeel-octomap/octomap/octomap/lib/liboctomap.a
        [ 47%] Built target octomap-static
        [ 48%] Building CXX object src/CMakeFiles/convert_octree.dir/convert_octree.cpp.o
        [ 50%] Linking CXX executable /tmp/pip-install-e33zyp98/cmeel-octomap/octomap/octomap/bin/binvox2bt
        [ 50%] Built target binvox2bt
        [ 51%] Building CXX object src/CMakeFiles/eval_octree_accuracy.dir/eval_octree_accuracy.cpp.o
        [ 52%] Linking CXX executable /tmp/pip-install-e33zyp98/cmeel-octomap/octomap/octomap/bin/bt2vrml
        [ 54%] Linking CXX executable /tmp/pip-install-e33zyp98/cmeel-octomap/octomap/octomap/bin/edit_octree
        [ 54%] Built target bt2vrml
        [ 55%] Building CXX object src/CMakeFiles/compare_octrees.dir/compare_octrees.cpp.o
        [ 55%] Built target edit_octree
        [ 56%] Building CXX object src/CMakeFiles/simple_example.dir/simple_example.cpp.o
        [ 58%] Linking CXX executable /tmp/pip-install-e33zyp98/cmeel-octomap/octomap/octomap/bin/convert_octree
        [ 58%] Built target convert_octree
        [ 59%] Building CXX object src/CMakeFiles/normals_example.dir/normals_example.cpp.o
        [ 60%] Linking CXX executable /tmp/pip-install-e33zyp98/cmeel-octomap/octomap/octomap/bin/eval_octree_accuracy
        [ 60%] Built target eval_octree_accuracy
        [ 62%] Building CXX object src/CMakeFiles/intersection_example.dir/intersection_example.cpp.o
        [ 63%] Linking CXX executable /tmp/pip-install-e33zyp98/cmeel-octomap/octomap/octomap/bin/compare_octrees
        [ 63%] Built target compare_octrees
        [ 64%] Building CXX object src/CMakeFiles/octree2pointcloud.dir/octree2pointcloud.cpp.o
        [ 66%] Linking CXX executable /tmp/pip-install-e33zyp98/cmeel-octomap/octomap/octomap/bin/simple_example
        [ 67%] Linking CXX executable /tmp/pip-install-e33zyp98/cmeel-octomap/octomap/octomap/bin/octree2pointcloud
        [ 67%] Built target simple_example
        [ 68%] Building CXX object src/testing/CMakeFiles/test_raycasting.dir/test_raycasting.cpp.o
        [ 68%] Built target octree2pointcloud
        [ 70%] Building CXX object src/testing/CMakeFiles/test_iterators.dir/test_iterators.cpp.o
        [ 71%] Linking CXX executable /tmp/pip-install-e33zyp98/cmeel-octomap/octomap/octomap/bin/normals_example
        [ 71%] Built target normals_example
        [ 72%] Building CXX object src/testing/CMakeFiles/test_io.dir/test_io.cpp.o
        [ 74%] Linking CXX executable /tmp/pip-install-e33zyp98/cmeel-octomap/octomap/octomap/bin/intersection_example
        [ 74%] Built target intersection_example
        [ 75%] Building CXX object src/testing/CMakeFiles/test_changedkeys.dir/test_changedkeys.cpp.o
        [ 77%] Linking CXX executable /tmp/pip-install-e33zyp98/cmeel-octomap/octomap/octomap/bin/test_raycasting
        [ 77%] Built target test_raycasting
        [ 78%] Building CXX object src/testing/CMakeFiles/test_scans.dir/test_scans.cpp.o
        [ 79%] Linking CXX executable /tmp/pip-install-e33zyp98/cmeel-octomap/octomap/octomap/bin/test_changedkeys
        [ 79%] Built target test_changedkeys
        [ 81%] Building CXX object src/testing/CMakeFiles/test_color_tree.dir/test_color_tree.cpp.o
        [ 82%] Linking CXX executable /tmp/pip-install-e33zyp98/cmeel-octomap/octomap/octomap/bin/test_iterators
        [ 82%] Built target test_iterators
        [ 83%] Building CXX object src/testing/CMakeFiles/color_tree_histogram.dir/color_tree_histogram.cpp.o
        [ 85%] Linking CXX executable /tmp/pip-install-e33zyp98/cmeel-octomap/octomap/octomap/bin/test_scans
        [ 85%] Built target test_scans
        [ 86%] Building CXX object src/testing/CMakeFiles/test_mapcollection.dir/test_mapcollection.cpp.o
        [ 87%] Linking CXX executable /tmp/pip-install-e33zyp98/cmeel-octomap/octomap/octomap/bin/test_io
        [ 87%] Built target test_io
        [ 89%] Building CXX object src/testing/CMakeFiles/test_pruning.dir/test_pruning.cpp.o
        [ 90%] Linking CXX executable /tmp/pip-install-e33zyp98/cmeel-octomap/octomap/octomap/bin/color_tree_histogram
        [ 90%] Built target color_tree_histogram
        [ 91%] Building CXX object src/testing/CMakeFiles/test_bbx.dir/test_bbx.cpp.o
        [ 93%] Linking CXX executable /tmp/pip-install-e33zyp98/cmeel-octomap/octomap/octomap/bin/test_color_tree
        [ 93%] Built target test_color_tree
        [ 94%] Building CXX object src/testing/CMakeFiles/unit_tests.dir/unit_tests.cpp.o
        [ 95%] Linking CXX executable /tmp/pip-install-e33zyp98/cmeel-octomap/octomap/octomap/bin/test_mapcollection
        [ 95%] Built target test_mapcollection
        [ 97%] Linking CXX executable /tmp/pip-install-e33zyp98/cmeel-octomap/octomap/octomap/bin/test_bbx
        [ 97%] Built target test_bbx
        [ 98%] Linking CXX executable /tmp/pip-install-e33zyp98/cmeel-octomap/octomap/octomap/bin/test_pruning
        [ 98%] Built target test_pruning
        [100%] Linking CXX executable /tmp/pip-install-e33zyp98/cmeel-octomap/octomap/octomap/bin/unit_tests
        [100%] Built target unit_tests
        Running tests...
        Test project /tmp/cmeel-m3uzoocm/bld
              Start  4: InsertScan
              Start  1: MathVector
              Start  2: MathPose
              Start  3: InsertRay
         1/15 Test  #1: MathVector .......................   Passed    0.00 sec
              Start  6: StampedTree
         2/15 Test  #2: MathPose .........................   Passed    0.00 sec
              Start  7: OcTreeKey
         3/15 Test  #7: OcTreeKey ........................   Passed    0.00 sec
              Start  8: test_scans
         4/15 Test  #8: test_scans .......................   Passed    0.13 sec
              Start  9: test_raycasting
         5/15 Test  #4: InsertScan .......................   Passed    0.62 sec
              Start  5: ReadGraph
         6/15 Test  #5: ReadGraph ........................   Passed    0.02 sec
              Start 10: test_io
         7/15 Test  #3: InsertRay ........................   Passed    0.98 sec
              Start 11: test_pruning
         8/15 Test #11: test_pruning .....................   Passed    0.05 sec
              Start 12: test_iterators
         9/15 Test  #6: StampedTree ......................   Passed    1.05 sec
              Start 13: test_mapcollection
        10/15 Test #10: test_io ..........................   Passed    0.54 sec
              Start 14: test_color_tree
        11/15 Test #14: test_color_tree ..................***Failed    0.10 sec
        test failed: 3431!=1034 in /tmp/pip-install-e33zyp98/cmeel-octomap/octomap/octomap/src/testing/test_color_tree.cpp, line 52

              Start 15: test_bbx
        12/15 Test #15: test_bbx .........................   Passed    0.00 sec
        13/15 Test #13: test_mapcollection ...............   Passed    0.24 sec
        14/15 Test #12: test_iterators ...................   Passed    0.61 sec
        15/15 Test  #9: test_raycasting ..................   Passed    1.59 sec

        93% tests passed, 1 tests failed out of 15

        Total Test time (real) =   1.74 sec

        The following tests FAILED:
             14 - test_color_tree (Failed)
        Errors while running CTest
        make: *** [Makefile:91: test] Error 8
        Traceback (most recent call last):
          File "/tmp/tmpfe2m5gwd", line 126, in prepare_metadata_for_build_wheel
            hook = backend.prepare_metadata_for_build_wheel
        AttributeError: module 'cmeel' has no attribute 'prepare_metadata_for_build_wheel'

        During handling of the above exception, another exception occurred:

        Traceback (most recent call last):
          File "/tmp/tmpfe2m5gwd", line 280, in <module>
            main()
          File "/tmp/tmpfe2m5gwd", line 263, in main
            json_out['return_val'] = hook(**hook_input['kwargs'])
          File "/tmp/tmpfe2m5gwd", line 130, in prepare_metadata_for_build_wheel
            return _get_wheel_metadata_from_wheel(backend, metadata_directory,
          File "/tmp/tmpfe2m5gwd", line 159, in _get_wheel_metadata_from_wheel
            whl_basename = backend.build_wheel(metadata_directory, config_settings)
          File "/tmp/pip-build-env-ji3vfh3k/overlay/lib/python3.8/site-packages/cmeel/build.py", line 26, in build_wheel
            return build_impl(wheel_directory, editable=False)
          File "/tmp/pip-build-env-ji3vfh3k/overlay/lib/python3.8/site-packages/cmeel/impl.py", line 107, in build_impl
            launch_tests(True, run_tests and not run_tests_after_install, pyproject, build)
          File "/tmp/pip-build-env-ji3vfh3k/overlay/lib/python3.8/site-packages/cmeel/utils.py", line 231, in launch_tests
            check_call(cmd, env=test_env)
          File "/usr/lib/python3.8/subprocess.py", line 364, in check_call
            raise CalledProcessError(retcode, cmd)
        subprocess.CalledProcessError: Command '['cmake', '--build', '/tmp/cmeel-m3uzoocm/bld', '-t', 'test']' returned non-zero exit status 2.
        ----------------------------------------
    ERROR: Command errored out with exit status 1: /usr/bin/python3 /tmp/tmpfe2m5gwd prepare_metadata_for_build_wheel /tmp/tmptsnph3rn Check the logs for full command output.
    ----------------------------------------
  ERROR: Command errored out with exit status 1: /usr/bin/python3 /usr/lib/python3/dist-packages/pip install --ignore-installed --no-user --prefix /tmp/pip-build-env-1tiji5hd/overlay --no-warn-script-location --no-binary :none: --only-binary :none: -i https://pypi.org/simple -- 'cmeel-assimp >= 5.3.1, < 6' 'cmeel-boost ~= 1.83.0' 'cmeel-octomap >= 1.9.8.2, < 2' 'cmeel-qhull >= 8.0.2.1, < 8.0.3' 'cmeel[build]' 'eigenpy[build] >= 3.1, < 4' Check the logs for full command output.
  ----------------------------------------
ERROR: Command errored out with exit status 1: /usr/bin/python3 /usr/lib/python3/dist-packages/pip install --ignore-installed --no-user --prefix /tmp/pip-build-env-wy7o9b6f/overlay --no-warn-script-location --no-binary :none: --only-binary :none: -i https://pypi.org/simple -- 'cmeel-boost ~= 1.83.0' 'cmeel-urdfdom[build] >= 3.1.0.3, < 4' 'cmeel[build]' 'hpp-fcl[build] >= 2.3.4, < 4' Check the logs for full command output.

System

lvjonok commented 5 months ago

It looks like you have an issue not directly related to pinocchio itself rather to its dependency.

I think the problem is that cmeel-octomap does not have pre-built package for your architecture and whilst trying to install you encounter some error.

nim65s commented 5 months ago

cmeel-octomap binary packages should be available for python 3.8 on aarch64. I'll double check this on Monday.

nim65s commented 5 months ago

@lwygzh : just to be sure, could you try again after a python3 -m pip install -U --user pip ?

lvjonok commented 5 months ago

Yes, cmeel-octomap seem to contain aarch64 built, may it be the case that it should be something different from manylinux ? image

nim65s commented 5 months ago

My guess is that the pip version is too old for manylinux_2_28. After a pip upgrade, it should be fine.