Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ERROR: ERROR: Failed to build installable wheels for some pyproject.toml based projects (orbslam3) #2

Open
Shu6hamSingha1 opened this issue Sep 10, 2024 · 2 comments

Comments

@Shu6hamSingha1
Copy link

arena:~/SLAM/ORB-SLAM3-python$ pip install .
Defaulting to user installation because normal site-packages is not writeable
Processing /home/shubham/SLAM/ORB-SLAM3-python
Installing build dependencies ... done
Getting requirements to build wheel ... done
Preparing metadata (pyproject.toml) ... done
Requirement already satisfied: numpy in /home/shubham/.local/lib/python3.8/site-packages (from orbslam3==0.0.0) (1.23.5)
Building wheels for collected packages: orbslam3
Building wheel for orbslam3 (pyproject.toml) ... error
error: subprocess-exited-with-error

× Building wheel for orbslam3 (pyproject.toml) did not run successfully.
│ exit code: 1
╰─> [127 lines of output]
running bdist_wheel
running build
running build_ext
CMake Deprecation Warning at third_party/pybind11/CMakeLists.txt:8 (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.
  
  
  -- pybind11 v2.11.0 dev1
  CMake Warning (dev) at third_party/pybind11/tools/FindPythonLibsNew.cmake:98 (find_package):
    Policy CMP0148 is not set: The FindPythonInterp and FindPythonLibs modules
    are removed.  Run "cmake --help-policy CMP0148" for policy details.  Use
    the cmake_policy command to set the policy and suppress this warning.
  
  Call Stack (most recent call first):
    third_party/pybind11/tools/pybind11Tools.cmake:50 (find_package)
    third_party/pybind11/tools/pybind11Common.cmake:180 (include)
    third_party/pybind11/CMakeLists.txt:208 (include)
  This warning is for project developers.  Use -Wno-dev to suppress it.
  
  CMake Deprecation Warning at third_party/ORB_SLAM3/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.
  
  
  Build type: Release
  -- Using flag -std=c++14.
  OPENCV VERSION:
  4.2.0
  CMake Deprecation Warning at third_party/ORB_SLAM3/Thirdparty/g2o/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.
  
  
  -- BUILD TYPE:Release
  -- Compiling on Unix
  CMake Deprecation Warning at third_party/ORB_SLAM3/Thirdparty/DBoW2/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.
  
  
  CMake Deprecation Warning at third_party/ORB_SLAM3/Thirdparty/Sophus/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.
  
  
  CMake Error at third_party/ORB_SLAM3/CMakeLists.txt:145 (target_link_libraries):
    The keyword signature for target_link_libraries has already been used with
    the target "ORB_SLAM3".  All uses of target_link_libraries with a target
    must be either all-keyword or all-plain.
  
    The uses of the keyword signature are here:
  
     * third_party/ORB_SLAM3/CMakeLists.txt:130 (target_link_libraries)
  
  
  
  -- Configuring incomplete, errors occurred!
  Traceback (most recent call last):
    File "/home/shubham/.local/lib/python3.8/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 353, in <module>
      main()
    File "/home/shubham/.local/lib/python3.8/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 335, in main
      json_out['return_val'] = hook(**hook_input['kwargs'])
    File "/home/shubham/.local/lib/python3.8/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 251, in build_wheel
      return _build_backend().build_wheel(wheel_directory, config_settings,
    File "/tmp/pip-build-env-mf3nm0vt/overlay/lib/python3.8/site-packages/setuptools/build_meta.py", line 421, in build_wheel
      return self._build_with_temp_dir(
    File "/tmp/pip-build-env-mf3nm0vt/overlay/lib/python3.8/site-packages/setuptools/build_meta.py", line 403, in _build_with_temp_dir
      self.run_setup()
    File "/tmp/pip-build-env-mf3nm0vt/overlay/lib/python3.8/site-packages/setuptools/build_meta.py", line 318, in run_setup
      exec(code, locals())
    File "<string>", line 38, in <module>
    File "/tmp/pip-build-env-mf3nm0vt/overlay/lib/python3.8/site-packages/setuptools/__init__.py", line 117, in setup
      return distutils.core.setup(**attrs)
    File "/tmp/pip-build-env-mf3nm0vt/overlay/lib/python3.8/site-packages/setuptools/_distutils/core.py", line 184, in setup
      return run_commands(dist)
    File "/tmp/pip-build-env-mf3nm0vt/overlay/lib/python3.8/site-packages/setuptools/_distutils/core.py", line 200, in run_commands
      dist.run_commands()
    File "/tmp/pip-build-env-mf3nm0vt/overlay/lib/python3.8/site-packages/setuptools/_distutils/dist.py", line 954, in run_commands
      self.run_command(cmd)
    File "/tmp/pip-build-env-mf3nm0vt/overlay/lib/python3.8/site-packages/setuptools/dist.py", line 950, in run_command
      super().run_command(command)
    File "/tmp/pip-build-env-mf3nm0vt/overlay/lib/python3.8/site-packages/setuptools/_distutils/dist.py", line 973, in run_command
      cmd_obj.run()
    File "/tmp/pip-build-env-mf3nm0vt/overlay/lib/python3.8/site-packages/setuptools/command/bdist_wheel.py", line 384, in run
      self.run_command("build")
    File "/tmp/pip-build-env-mf3nm0vt/overlay/lib/python3.8/site-packages/setuptools/_distutils/cmd.py", line 316, in run_command
      self.distribution.run_command(command)
    File "/tmp/pip-build-env-mf3nm0vt/overlay/lib/python3.8/site-packages/setuptools/dist.py", line 950, in run_command
      super().run_command(command)
    File "/tmp/pip-build-env-mf3nm0vt/overlay/lib/python3.8/site-packages/setuptools/_distutils/dist.py", line 973, in run_command
      cmd_obj.run()
    File "/tmp/pip-build-env-mf3nm0vt/overlay/lib/python3.8/site-packages/setuptools/_distutils/command/build.py", line 135, in run
      self.run_command(cmd_name)
    File "/tmp/pip-build-env-mf3nm0vt/overlay/lib/python3.8/site-packages/setuptools/_distutils/cmd.py", line 316, in run_command
      self.distribution.run_command(command)
    File "/tmp/pip-build-env-mf3nm0vt/overlay/lib/python3.8/site-packages/setuptools/dist.py", line 950, in run_command
      super().run_command(command)
    File "/tmp/pip-build-env-mf3nm0vt/overlay/lib/python3.8/site-packages/setuptools/_distutils/dist.py", line 973, in run_command
      cmd_obj.run()
    File "/tmp/pip-build-env-mf3nm0vt/overlay/lib/python3.8/site-packages/setuptools/command/build_ext.py", line 98, in run
      _build_ext.run(self)
    File "/tmp/pip-build-env-mf3nm0vt/overlay/lib/python3.8/site-packages/setuptools/_distutils/command/build_ext.py", line 359, in run
      self.build_extensions()
    File "/tmp/pip-build-env-mf3nm0vt/overlay/lib/python3.8/site-packages/setuptools/_distutils/command/build_ext.py", line 476, in build_extensions
      self._build_extensions_serial()
    File "/tmp/pip-build-env-mf3nm0vt/overlay/lib/python3.8/site-packages/setuptools/_distutils/command/build_ext.py", line 502, in _build_extensions_serial
      self.build_extension(ext)
    File "<string>", line 32, in build_extension
    File "/usr/lib/python3.8/subprocess.py", line 364, in check_call
      raise CalledProcessError(retcode, cmd)
  subprocess.CalledProcessError: Command '['cmake', '/home/shubham/SLAM/ORB-SLAM3-python', '-DCMAKE_LIBRARY_OUTPUT_DIRECTORY=/home/shubham/SLAM/ORB-SLAM3-python/build/lib.linux-x86_64-cpython-38/', '-DPYTHON_EXECUTABLE=/usr/bin/python3', '-DCMAKE_BUILD_TYPE=Release', "-DCMAKE_CXX_FLAGS='-I /tmp/pip-build-env-mf3nm0vt/overlay/lib/python3.8/site-packages/numpy/core/include'"]' returned non-zero exit status 1.
  [end of output]

note: This error originates from a subprocess, and is likely not a problem with pip.
ERROR: Failed building wheel for orbslam3
Failed to build orbslam3
ERROR: ERROR: Failed to build installable wheels for some pyproject.toml based projects (orbslam3)

@awarebayes
Copy link

same

@Tom-Sloan
Copy link

Tom-Sloan commented Jan 26, 2025

I got this working. A couple of things I changed, all in the /third_part/ORB_SLAM3 folder.

  1. Change CMakeLists.txt to be c++14, remove c++11 and C++X
# Check C++14  support
include(CheckCXXCompilerFlag)
CHECK_CXX_COMPILER_FLAG("-std=c++14" COMPILER_SUPPORTS_CXX14)
if(COMPILER_SUPPORTS_CXX14)
   set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++14")
   add_definitions(-DCOMPILEDWITHC14)
   message(STATUS "Using flag -std=c++14.")
else()
   message(FATAL_ERROR "The compiler ${CMAKE_CXX_COMPILER} has no C++14 support. Please use a different C++ compiler.")
endif()
  1. Replace all monotonic_clock with steady_clock. I used a replace all, its several hundred across ~50 files. This comes from here: [ Stable Build ] : Corrects major bugs, and creates buildable repo UZ-SLAMLab/ORB_SLAM3#798 (comment)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants