YDLIDAR / YDLidar-SDK

Driver for receiving YD LiDAR data and more...
Other
119 stars 221 forks source link

Not able to build and install anything, nothing works in arm64, amd64 or windows system. I need just python library which is also I am not able to build #33

Open delhiiitian opened 1 year ago

delhiiitian commented 1 year ago

Processing /root/YDLidar-SDK Preparing metadata (setup.py) ... done Building wheels for collected packages: ydlidar Building wheel for ydlidar (setup.py) ... error error: subprocess-exited-with-error

× python setup.py bdist_wheel did not run successfully. │ exit code: 1 ╰─> [213 lines of output] running bdist_wheel running build running build_ext build: build/temp.linux-x86_64-3.10 CMake Deprecation Warning at CMakeLists.txt:1 (cmake_minimum_required): Compatibility with CMake < 2.8.12 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.

  -- Current platform: Linux
  CMake Deprecation Warning at CMakeLists.txt:50 (cmake_policy):
    The OLD behavior for policy CMP0053 will be removed from a future version
    of CMake.

    The cmake-policies(7) manual explains that the OLD behaviors of all
    policies are deprecated and that a policy should be set to OLD only under
    specific short-term circumstances.  Projects should be ported to the NEW
    behavior and not rely on setting a policy to OLD.

  CMake Deprecation Warning at CMakeLists.txt:53 (cmake_policy):
    The OLD behavior for policy CMP0037 will be removed from a future version
    of CMake.

    The cmake-policies(7) manual explains that the OLD behaviors of all
    policies are deprecated and that a policy should be set to OLD only under
    specific short-term circumstances.  Projects should be ported to the NEW
    behavior and not rely on setting a policy to OLD.

  CMake Deprecation Warning at CMakeLists.txt:56 (cmake_policy):
    The OLD behavior for policy CMP0043 will be removed from a future version
    of CMake.

    The cmake-policies(7) manual explains that the OLD behaviors of all
    policies are deprecated and that a policy should be set to OLD only under
    specific short-term circumstances.  Projects should be ported to the NEW
    behavior and not rely on setting a policy to OLD.

  CMake Deprecation Warning at core/CMakeLists.txt:1 (cmake_minimum_required):
    Compatibility with CMake < 2.8.12 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 src/CMakeLists.txt:12 (add_subdirectory):
    The source directory

      /root/YDLidar-SDK/src/core

    does not contain a CMakeLists.txt file.

  CMake Error at src/CMakeLists.txt:12 (add_subdirectory):
    The source directory

      /root/YDLidar-SDK/src/python

    does not contain a CMakeLists.txt file.

  CMake Error at src/CMakeLists.txt:12 (add_subdirectory):
    The source directory

      /root/YDLidar-SDK/src/samples

    does not contain a CMakeLists.txt file.

  CMake Error at src/CMakeLists.txt:12 (add_subdirectory):
    The source directory

      /root/YDLidar-SDK/src/src

    does not contain a CMakeLists.txt file.

  CMake Error at src/CMakeLists.txt:12 (add_subdirectory):
    The source directory

      /root/YDLidar-SDK/src/test

    does not contain a CMakeLists.txt file.

  CMake Deprecation Warning at samples/CMakeLists.txt:2 (cmake_minimum_required):
    Compatibility with CMake < 2.8.12 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 python API....
  CMake Warning (dev) at /usr/local/lib/python3.10/dist-packages/cmake/data/share/cmake-3.26/Modules/UseSWIG.cmake:809 (message):
    Policy CMP0078 is not set: UseSWIG generates standard target names.  Run
    "cmake --help-policy CMP0078" for policy details.  Use the cmake_policy
    command to set the policy and suppress this warning.

  Call Stack (most recent call first):
    python/CMakeLists.txt:35 (swig_add_library)
  This warning is for project developers.  Use -Wno-dev to suppress it.

  CMake Warning (dev) at /usr/local/lib/python3.10/dist-packages/cmake/data/share/cmake-3.26/Modules/UseSWIG.cmake:651 (message):
    Policy CMP0086 is not set: UseSWIG honors SWIG_MODULE_NAME via -module
    flag.  Run "cmake --help-policy CMP0086" for policy details.  Use the
    cmake_policy command to set the policy and suppress this warning.

  Call Stack (most recent call first):
    /usr/local/lib/python3.10/dist-packages/cmake/data/share/cmake-3.26/Modules/UseSWIG.cmake:922 (SWIG_ADD_SOURCE_TO_MODULE)
    python/CMakeLists.txt:35 (swig_add_library)
  This warning is for project developers.  Use -Wno-dev to suppress it.

  <string>:2: DeprecationWarning: The distutils package is deprecated and slated for removal in Python 3.12. Use setuptools or check PEP 632 for potential alternatives
  <string>:2: DeprecationWarning: The distutils.sysconfig module is deprecated, use sysconfig instead
  -- build test is ON.....
  CMake Deprecation Warning at cmake/install_package.cmake:101 (cmake_policy):
    The OLD behavior for policy CMP0026 will be removed from a future version
    of CMake.

    The cmake-policies(7) manual explains that the OLD behaviors of all
    policies are deprecated and that a policy should be set to OLD only under
    specific short-term circumstances.  Projects should be ported to the NEW
    behavior and not rely on setting a policy to OLD.
  Call Stack (most recent call first):
    CMakeLists.txt:168 (install_package)

  CMake Warning (dev) at cmake/install_package.cmake:191 (install):
    Policy CMP0062 is not set: Disallow install() of export() result.  Run
    "cmake --help-policy CMP0062" for policy details.  Use the cmake_policy
    command to set the policy and suppress this warning.

    The file

      /root/YDLidar-SDK/build/temp.linux-x86_64-3.10/ydlidar_sdkTargets.cmake

    was generated by the export() command.  It should not be installed with the
    install() command.  Use the install(EXPORT) mechanism instead.  See the
    cmake-packages(7) manual for more.

  Call Stack (most recent call first):
    CMakeLists.txt:168 (install_package)
  This warning is for project developers.  Use -Wno-dev to suppress it.

  --
  -- +===========================================================================+
  -- |         Resulting configuration for                             |
  -- +===========================================================================+
  --  _________________________ PLATFORM _____________________________
  --  Host                        : Linux4.4.0-19041-Microsoftx86_64
  --  Is the system big endian?   :  No
  --  Word size (32/64 bit)       : 64
  --  CMake version               : 3.26.1
  --  CMake generator             : Unix Makefiles
  --  CMake build tool            : /usr/bin/gmake
  --  Compiler                    : GNU
  --  Configuration               : Release
  -- C++ flags (Release):     -DVERSION_INFO=\"1.0.2\" -std=c++11 -O3 -DNDEBUG
  --
  --  __________________________ OPTIONS _____________________________
  --  Build YDLidar-SDK as a shared library?   :  No
  --  Build Examples?               : Yes
  --  Build C Sharp API?             :  No
  --  Build TEST?                         : Yes
  --
  --  _________________________ INSTALL _____________________
  --  Install prefix                    : /usr/local
  --
  --  _______________________ WRAPPERS/BINDINGS ______________________
  --  Python bindings (pyydlidar)   : Yes
  --   - dep: Swig found?       : Yes [Version: 4.0.2]
  --   - dep: PythonLibs found?  : Yes [Version: 3.10.6]
  --
  -- Configuring incomplete, errors occurred!
  Traceback (most recent call last):
    File "<string>", line 2, in <module>
    File "<pip-setuptools-caller>", line 34, in <module>
    File "/root/YDLidar-SDK/setup.py", line 71, in <module>
      setup(
    File "/usr/lib/python3/dist-packages/setuptools/__init__.py", line 153, in setup
      return distutils.core.setup(**attrs)
    File "/usr/lib/python3.10/distutils/core.py", line 148, in setup
      dist.run_commands()
    File "/usr/lib/python3.10/distutils/dist.py", line 966, in run_commands
      self.run_command(cmd)
    File "/usr/lib/python3.10/distutils/dist.py", line 985, in run_command
      cmd_obj.run()
    File "/usr/lib/python3/dist-packages/wheel/bdist_wheel.py", line 299, in run
      self.run_command('build')
    File "/usr/lib/python3.10/distutils/cmd.py", line 313, in run_command
      self.distribution.run_command(command)
    File "/usr/lib/python3.10/distutils/dist.py", line 985, in run_command
      cmd_obj.run()
    File "/usr/lib/python3.10/distutils/command/build.py", line 135, in run
      self.run_command(cmd_name)
    File "/usr/lib/python3.10/distutils/cmd.py", line 313, in run_command
      self.distribution.run_command(command)
    File "/usr/lib/python3.10/distutils/dist.py", line 985, in run_command
      cmd_obj.run()
    File "/root/YDLidar-SDK/setup.py", line 36, in run
      self.build_extension(ext)
    File "/root/YDLidar-SDK/setup.py", line 67, in build_extension
      subprocess.check_call(['cmake', ext.sourcedir] + cmake_args, cwd=self.build_temp, env=env)
    File "/usr/lib/python3.10/subprocess.py", line 369, in check_call
      raise CalledProcessError(retcode, cmd)
  subprocess.CalledProcessError: Command '['cmake', '/root/YDLidar-SDK', '-DCMAKE_LIBRARY_OUTPUT_DIRECTORY=/root/YDLidar-SDK/build/lib.linux-x86_64-3.10', '-DPYTHON_EXECUTABLE=/usr/bin/python3', '-DCMAKE_BUILD_TYPE=Release']' 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 ydlidar Running setup.py clean for ydlidar Failed to build ydlidar Installing collected packages: ydlidar Running setup.py install for ydlidar ... error error: subprocess-exited-with-error

× Running setup.py install for ydlidar did not run successfully. │ exit code: 1 ╰─> [233 lines of output] running install /usr/lib/python3/dist-packages/setuptools/command/install.py:34: SetuptoolsDeprecationWarning: setup.py install is deprecated. Use build and pip and other standards-based tools. warnings.warn( running build running build_ext build: build/temp.linux-x86_64-3.10 CMake Deprecation Warning at CMakeLists.txt:1 (cmake_minimum_required): Compatibility with CMake < 2.8.12 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 11.3.0
  -- The CXX compiler identification is GNU 11.3.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
  -- Current platform: Linux
  CMake Deprecation Warning at CMakeLists.txt:50 (cmake_policy):
    The OLD behavior for policy CMP0053 will be removed from a future version
    of CMake.

    The cmake-policies(7) manual explains that the OLD behaviors of all
    policies are deprecated and that a policy should be set to OLD only under
    specific short-term circumstances.  Projects should be ported to the NEW
    behavior and not rely on setting a policy to OLD.

  CMake Deprecation Warning at CMakeLists.txt:53 (cmake_policy):
    The OLD behavior for policy CMP0037 will be removed from a future version
    of CMake.

    The cmake-policies(7) manual explains that the OLD behaviors of all
    policies are deprecated and that a policy should be set to OLD only under
    specific short-term circumstances.  Projects should be ported to the NEW
    behavior and not rely on setting a policy to OLD.

  CMake Deprecation Warning at CMakeLists.txt:56 (cmake_policy):
    The OLD behavior for policy CMP0043 will be removed from a future version
    of CMake.

    The cmake-policies(7) manual explains that the OLD behaviors of all
    policies are deprecated and that a policy should be set to OLD only under
    specific short-term circumstances.  Projects should be ported to the NEW
    behavior and not rely on setting a policy to OLD.

  -- Found SWIG: /usr/bin/swig4.0 (found version "4.0.2")
  -- Found PythonInterp: /usr/bin/python3 (found version "3.10.6")
  -- Found PythonLibs: /usr/lib/x86_64-linux-gnu/libpython3.10.so (found version "3.10.6")
  -- Found GTest: /mnt/d/Users/delhi/anaconda3/Library/lib/cmake/GTest/GTestConfig.cmake (found version "1.10.0")
  CMake Deprecation Warning at core/CMakeLists.txt:1 (cmake_minimum_required):
    Compatibility with CMake < 2.8.12 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 src/CMakeLists.txt:12 (add_subdirectory):
    The source directory

      /root/YDLidar-SDK/src/core

    does not contain a CMakeLists.txt file.

  CMake Error at src/CMakeLists.txt:12 (add_subdirectory):
    The source directory

      /root/YDLidar-SDK/src/python

    does not contain a CMakeLists.txt file.

  CMake Error at src/CMakeLists.txt:12 (add_subdirectory):
    The source directory

      /root/YDLidar-SDK/src/samples

    does not contain a CMakeLists.txt file.

  CMake Error at src/CMakeLists.txt:12 (add_subdirectory):
    The source directory

      /root/YDLidar-SDK/src/src

    does not contain a CMakeLists.txt file.

  CMake Error at src/CMakeLists.txt:12 (add_subdirectory):
    The source directory

      /root/YDLidar-SDK/src/test

    does not contain a CMakeLists.txt file.

  CMake Deprecation Warning at samples/CMakeLists.txt:2 (cmake_minimum_required):
    Compatibility with CMake < 2.8.12 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 python API....
  CMake Warning (dev) at /usr/local/lib/python3.10/dist-packages/cmake/data/share/cmake-3.26/Modules/UseSWIG.cmake:809 (message):
    Policy CMP0078 is not set: UseSWIG generates standard target names.  Run
    "cmake --help-policy CMP0078" for policy details.  Use the cmake_policy
    command to set the policy and suppress this warning.

  Call Stack (most recent call first):
    python/CMakeLists.txt:35 (swig_add_library)
  This warning is for project developers.  Use -Wno-dev to suppress it.

  CMake Warning (dev) at /usr/local/lib/python3.10/dist-packages/cmake/data/share/cmake-3.26/Modules/UseSWIG.cmake:651 (message):
    Policy CMP0086 is not set: UseSWIG honors SWIG_MODULE_NAME via -module
    flag.  Run "cmake --help-policy CMP0086" for policy details.  Use the
    cmake_policy command to set the policy and suppress this warning.

  Call Stack (most recent call first):
    /usr/local/lib/python3.10/dist-packages/cmake/data/share/cmake-3.26/Modules/UseSWIG.cmake:922 (SWIG_ADD_SOURCE_TO_MODULE)
    python/CMakeLists.txt:35 (swig_add_library)
  This warning is for project developers.  Use -Wno-dev to suppress it.

  <string>:2: DeprecationWarning: The distutils package is deprecated and slated for removal in Python 3.12. Use setuptools or check PEP 632 for potential alternatives
  <string>:2: DeprecationWarning: The distutils.sysconfig module is deprecated, use sysconfig instead
  -- build test is ON.....
  CMake Deprecation Warning at cmake/install_package.cmake:101 (cmake_policy):
    The OLD behavior for policy CMP0026 will be removed from a future version
    of CMake.

    The cmake-policies(7) manual explains that the OLD behaviors of all
    policies are deprecated and that a policy should be set to OLD only under
    specific short-term circumstances.  Projects should be ported to the NEW
    behavior and not rely on setting a policy to OLD.
  Call Stack (most recent call first):
    CMakeLists.txt:168 (install_package)

  CMake Warning (dev) at cmake/install_package.cmake:191 (install):
    Policy CMP0062 is not set: Disallow install() of export() result.  Run
    "cmake --help-policy CMP0062" for policy details.  Use the cmake_policy
    command to set the policy and suppress this warning.

    The file

      /root/YDLidar-SDK/build/temp.linux-x86_64-3.10/ydlidar_sdkTargets.cmake

    was generated by the export() command.  It should not be installed with the
    install() command.  Use the install(EXPORT) mechanism instead.  See the
    cmake-packages(7) manual for more.

  Call Stack (most recent call first):
    CMakeLists.txt:168 (install_package)
  This warning is for project developers.  Use -Wno-dev to suppress it.

  --
  -- +===========================================================================+
  -- |         Resulting configuration for                             |
  -- +===========================================================================+
  --  _________________________ PLATFORM _____________________________
  --  Host                        : Linux4.4.0-19041-Microsoftx86_64
  --  Is the system big endian?   :  No
  --  Word size (32/64 bit)       : 64
  --  CMake version               : 3.26.1
  --  CMake generator             : Unix Makefiles
  --  CMake build tool            : /usr/bin/gmake
  --  Compiler                    : GNU
  --  Configuration               : Release
  -- C++ flags (Release):     -DVERSION_INFO=\"1.0.2\" -std=c++11 -O3 -DNDEBUG
  --
  --  __________________________ OPTIONS _____________________________
  --  Build YDLidar-SDK as a shared library?   :  No
  --  Build Examples?               : Yes
  --  Build C Sharp API?             :  No
  --  Build TEST?                         : Yes
  --
  --  _________________________ INSTALL _____________________
  --  Install prefix                    : /usr/local
  --
  --  _______________________ WRAPPERS/BINDINGS ______________________
  --  Python bindings (pyydlidar)   : Yes
  --   - dep: Swig found?       : Yes [Version: 4.0.2]
  --   - dep: PythonLibs found?  : Yes [Version: 3.10.6]
  --
  -- Configuring incomplete, errors occurred!
  Traceback (most recent call last):
    File "<string>", line 2, in <module>
    File "<pip-setuptools-caller>", line 34, in <module>
    File "/root/YDLidar-SDK/setup.py", line 71, in <module>
      setup(
    File "/usr/lib/python3/dist-packages/setuptools/__init__.py", line 153, in setup
      return distutils.core.setup(**attrs)
    File "/usr/lib/python3.10/distutils/core.py", line 148, in setup
      dist.run_commands()
    File "/usr/lib/python3.10/distutils/dist.py", line 966, in run_commands
      self.run_command(cmd)
    File "/usr/lib/python3.10/distutils/dist.py", line 985, in run_command
      cmd_obj.run()
    File "/usr/lib/python3/dist-packages/setuptools/command/install.py", line 68, in run
      return orig.install.run(self)
    File "/usr/lib/python3.10/distutils/command/install.py", line 619, in run
      self.run_command('build')
    File "/usr/lib/python3.10/distutils/cmd.py", line 313, in run_command
      self.distribution.run_command(command)
    File "/usr/lib/python3.10/distutils/dist.py", line 985, in run_command
      cmd_obj.run()
    File "/usr/lib/python3.10/distutils/command/build.py", line 135, in run
      self.run_command(cmd_name)
    File "/usr/lib/python3.10/distutils/cmd.py", line 313, in run_command
      self.distribution.run_command(command)
    File "/usr/lib/python3.10/distutils/dist.py", line 985, in run_command
      cmd_obj.run()
    File "/root/YDLidar-SDK/setup.py", line 36, in run
      self.build_extension(ext)
    File "/root/YDLidar-SDK/setup.py", line 67, in build_extension
      subprocess.check_call(['cmake', ext.sourcedir] + cmake_args, cwd=self.build_temp, env=env)
    File "/usr/lib/python3.10/subprocess.py", line 369, in check_call
      raise CalledProcessError(retcode, cmd)
  subprocess.CalledProcessError: Command '['cmake', '/root/YDLidar-SDK', '-DCMAKE_LIBRARY_OUTPUT_DIRECTORY=/root/YDLidar-SDK/build/lib.linux-x86_64-3.10', '-DPYTHON_EXECUTABLE=/usr/bin/python3', '-DCMAKE_BUILD_TYPE=Release']' 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: legacy-install-failure

× Encountered error while trying to install package. ╰─> ydlidar

note: This is an issue with the package mentioned above, not pip. hint: See above for output from the failure.

OtherBob commented 2 months ago

Same issue, got three units (DFR1030, GS2). Works on windows but I need to run from RPi4. Brand new install Debian Bookwork latest packages. Biggest issue up to this point was that you need to create a VENV for non standard packages. It would be great if you could provide a wheel through normal sources, but any solutions that gets me running will be acceptable.

sanjana1999 commented 1 month ago

Same issue, got three units (DFR1030, GS2). Works on windows but I need to run from RPi4. Brand new install Debian Bookwork latest packages. Biggest issue up to this point was that you need to create a VENV for non standard packages. It would be great if you could provide a wheel through normal sources, but any solutions that gets me running will be acceptable.

Facing the same error. Any solutions?