Giter Site home page Giter Site logo

pydubins's Introduction

dubins

Overview

This software finds the shortest paths between configurations for the Dubins' car [Dubins57], the forward only car-like vehicle with a constrained turning radius. A good description of the equations and basic strategies for doing this are described in section 15.3.1 "Dubins Curves" of the book "Planning Algorithms" [LaValle06].

The approach used to find paths is based on the algebraic solutions published in [Shkel01]. However, rather than using angular symmetries to improve performance, the simpler approach to test all possible solutions is used here.

This code is primarily a Cython wrapper of https://github.com/AndrewWalker/Dubins-Curves

Latest documentation Current build status license shield

Installing

You can install the latest stable version from PyPI

$ pip install dubins

Or, you can install the latest development version from GitHub

$ pip install git+git://github.com/AndrewWalker/pydubins.git

Example

Discrete Sampling of a Dubin's path at finite step sizes

import dubins

q0 = (x0, y0, theta0)
q1 = (x1, y1, theta1)
turning_radius = 1.0
step_size = 0.5

path = dubins.shortest_path(q0, q1, turning_radius)
configurations, _ = path.sample_many(step_size)

Acknowledgements

This work was completed as part of [Walker11].

  • Francis Valentinis
  • Royce Smart - who tested early versions of this code while completing his PhD thesis [Smart08].

References

[Dubins57]Dubins, L. E. (July 1957). "On Curves of Minimal Length with a Constraint on Average Curvature, and with Prescribed Initial and Terminal Positions and Tangents". American Journal of Mathematics 79 (3): 497–516
[LaValle06]LaValle, S. M. (2006). "Planning Algorithms". Cambridge University Press
[Shkel01]Shkel, A. M. and Lumelsky, V. (2001). "Classification of the Dubins set". Robotics and Autonomous Systems 34 (2001) 179–202
[Walker11]Walker, A. (2011). "Hard Real-Time Motion Planning for Autonomous Vehicles", PhD thesis, Swinburne University.
[Smart08]Royce, S. (2008). "Evolutionary Control of Autonomous Underwater Vehicles". PhD thesis, RMIT

pydubins's People

Contributors

andrewwalker avatar fredzyda avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

pydubins's Issues

Extension to 3D

This is an awesome implementation!

Would you have any plans on extending to the 3D case (e.g. Dubins airplane)?

Reference: Chitsaz, Hamidreza, and Steven M. LaValle. "Time-optimal paths for a Dubins airplane." 2007 46th IEEE conference on decision and control. IEEE, 2007.

Pip install fails due to missing dependency on Cython

When installing on OSX with pip, the build fails if Cython is not installed. This is probably fixable by declaring Cython as a build-time dependency in the setup.py.

Build log:

$ sudo pip install dubins
Password:
Downloading/unpacking dubins
  Downloading dubins-0.8.tar.gz
  Running setup.py egg_info for package dubins
    Could not find cython, install it first
    Traceback (most recent call last):
      File "<string>", line 16, in <module>
      File "/private/tmp/pip_build_root/dubins/setup.py", line 4, in <module>
        from Cython.Build import cythonize
    ImportError: No module named Cython.Build
    Complete output from command python setup.py egg_info:
    Could not find cython, install it first

Traceback (most recent call last):

  File "<string>", line 16, in <module>

  File "/private/tmp/pip_build_root/dubins/setup.py", line 4, in <module>

    from Cython.Build import cythonize

ImportError: No module named Cython.Build

----------------------------------------
Cleaning up...
Command python setup.py egg_info failed with error code 1 in /private/tmp/pip_build_root/dubins
Storing complete log in /Users/hendrix/Library/Logs/pip.log

An error occurred while installing with source code

running install
D:\anaconda\conda\lib\site-packages\setuptools\command\install.py:34: SetuptoolsDeprecationWarning: setup.py install is deprecated. Use build and pip and other standards-based tools.
warnings.warn(
D:\anaconda\conda\lib\site-packages\setuptools\command\easy_install.py:144: EasyInstallDeprecationWarning: easy_install command is deprecated. Use build and pip and other standards-based tools.
warnings.warn(
running bdist_egg
running egg_info
writing dubins.egg-info\PKG-INFO
writing dependency_links to dubins.egg-info\dependency_links.txt
writing top-level names to dubins.egg-info\top_level.txt
reading manifest file 'dubins.egg-info\SOURCES.txt'
reading manifest template 'MANIFEST.in'
adding license file 'LICENSE.txt'
writing manifest file 'dubins.egg-info\SOURCES.txt'
installing library code to build\bdist.win-amd64\egg
running install_lib
running build_ext
building 'dubins' extension
"C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Tools\MSVC\14.36.32532\bin\HostX86\x64\cl.exe" /c /nologo /O2 /W3 /GL /DNDEBUG /MD -Idubins/include -ID:\anaconda\conda\include -ID:\anaconda\conda\Include "-IC:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Tools\MSVC\14.36.32532\include" "-IC:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Tools\MSVC\14.36.32532\ATLMFC\include" "-IC:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Auxiliary\VS\include" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.22621.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.22621.0\um" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.22621.0\shared" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.22621.0\winrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.22621.0\cppwinrt" "-IC:\Program Files (x86)\Windows Kits\NETFXSDK\4.8\include\um" /Tcdubins/dubins.c /Fobuild\temp.win-amd64-cpython-310\Release\dubins/dubins.obj
dubins.c
dubins/dubins.c(3875): error C2105: “++”需要左值
dubins/dubins.c(3877): error C2105: “--”需要左值
dubins/dubins.c(4497): error C2039: "tp_print": 不是 "_typeobject" 的成员
D:\anaconda\conda\include\cpython/object.h(191): note: 参见“_typeobject”的声明
dubins/dubins.c(4502): error C2039: "tp_print": 不是 "_typeobject" 的成员
D:\anaconda\conda\include\cpython/object.h(191): note: 参见“_typeobject”的声明
dubins/dubins.c(5107): warning C4996: '_PyUnicode_get_wstr_length': deprecated in 3.3
dubins/dubins.c(5123): warning C4996: '_PyUnicode_get_wstr_length': deprecated in 3.3
error: command 'C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Tools\MSVC\14.36.32532\bin\HostX86\x64\cl.exe' failed with exit code 2

Fails to Build on Apple Silicon on Python 3.9 and 3.10

Dubins fails to build on Python 3.9 and 3.10 on Apple Silicon (haven't tried an Intel Mac), but it works on Python 3.8. I'll put the errors messages for each version of Python below:

Python 3.9:

pip install dubins
Collecting dubins
  Using cached dubins-1.0.1.tar.gz (46 kB)
  Preparing metadata (setup.py) ... done
Using legacy 'setup.py install' for dubins, since package 'wheel' is not installed.
Installing collected packages: dubins
  Running setup.py install for dubins ... error
  error: subprocess-exited-with-error
  
  × Running setup.py install for dubins did not run successfully.
  │ exit code: 1
  ╰─> [185 lines of output]
      running install
      running build
      running build_ext
      building 'dubins' extension
      creating build
      creating build/temp.macosx-12.5-arm64-3.9
      creating build/temp.macosx-12.5-arm64-3.9/dubins
      creating build/temp.macosx-12.5-arm64-3.9/dubins/src
      clang -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include -Idubins/include -I/Users/user/venv-test/include -I/Users/user/.pyenv/versions/3.9.13/include/python3.9 -c dubins/dubins.c -o build/temp.macosx-12.5-arm64-3.9/dubins/dubins.o
      dubins/dubins.c:4221:34: error: no member named 'tp_print' in 'struct _typeobject'
        __pyx_type_6dubins__DubinsPath.tp_print = 0;
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^
      dubins/dubins.c:4226:54: error: no member named 'tp_print' in 'struct _typeobject'
        __pyx_type_6dubins___pyx_scope_struct__sample_many.tp_print = 0;
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^
      dubins/dubins.c:4819:22: warning: '_PyUnicode_get_wstr_length' is deprecated [-Wdeprecated-declarations]
                          (PyUnicode_GET_SIZE(**name) != PyUnicode_GET_SIZE(key)) ? 1 :
                           ^
      /Users/user/.pyenv/versions/3.9.13/include/python3.9/cpython/unicodeobject.h:261:7: note: expanded from macro 'PyUnicode_GET_SIZE'
            PyUnicode_WSTR_LENGTH(op) :                    \
            ^
      /Users/user/.pyenv/versions/3.9.13/include/python3.9/cpython/unicodeobject.h:451:35: note: expanded from macro 'PyUnicode_WSTR_LENGTH'
      #define PyUnicode_WSTR_LENGTH(op) _PyUnicode_get_wstr_length((PyObject*)op)
                                        ^
      /Users/user/.pyenv/versions/3.9.13/include/python3.9/cpython/unicodeobject.h:445:1: note: '_PyUnicode_get_wstr_length' has been explicitly marked deprecated here
      Py_DEPRECATED(3.3)
      ^
      /Users/user/.pyenv/versions/3.9.13/include/python3.9/pyport.h:508:54: note: expanded from macro 'Py_DEPRECATED'
      #define Py_DEPRECATED(VERSION_UNUSED) __attribute__((__deprecated__))
                                                           ^
      dubins/dubins.c:4819:22: warning: 'PyUnicode_AsUnicode' is deprecated [-Wdeprecated-declarations]
                          (PyUnicode_GET_SIZE(**name) != PyUnicode_GET_SIZE(key)) ? 1 :
                           ^
      /Users/user/.pyenv/versions/3.9.13/include/python3.9/cpython/unicodeobject.h:262:14: note: expanded from macro 'PyUnicode_GET_SIZE'
            ((void)PyUnicode_AsUnicode(_PyObject_CAST(op)),\
                   ^
      /Users/user/.pyenv/versions/3.9.13/include/python3.9/cpython/unicodeobject.h:580:1: note: 'PyUnicode_AsUnicode' has been explicitly marked deprecated here
      Py_DEPRECATED(3.3) PyAPI_FUNC(Py_UNICODE *) PyUnicode_AsUnicode(
      ^
      /Users/user/.pyenv/versions/3.9.13/include/python3.9/pyport.h:508:54: note: expanded from macro 'Py_DEPRECATED'
      #define Py_DEPRECATED(VERSION_UNUSED) __attribute__((__deprecated__))
                                                           ^
      dubins/dubins.c:4819:22: warning: '_PyUnicode_get_wstr_length' is deprecated [-Wdeprecated-declarations]
                          (PyUnicode_GET_SIZE(**name) != PyUnicode_GET_SIZE(key)) ? 1 :
                           ^
      /Users/user/.pyenv/versions/3.9.13/include/python3.9/cpython/unicodeobject.h:264:8: note: expanded from macro 'PyUnicode_GET_SIZE'
             PyUnicode_WSTR_LENGTH(op)))
             ^
      /Users/user/.pyenv/versions/3.9.13/include/python3.9/cpython/unicodeobject.h:451:35: note: expanded from macro 'PyUnicode_WSTR_LENGTH'
      #define PyUnicode_WSTR_LENGTH(op) _PyUnicode_get_wstr_length((PyObject*)op)
                                        ^
      /Users/user/.pyenv/versions/3.9.13/include/python3.9/cpython/unicodeobject.h:445:1: note: '_PyUnicode_get_wstr_length' has been explicitly marked deprecated here
      Py_DEPRECATED(3.3)
      ^
      /Users/user/.pyenv/versions/3.9.13/include/python3.9/pyport.h:508:54: note: expanded from macro 'Py_DEPRECATED'
      #define Py_DEPRECATED(VERSION_UNUSED) __attribute__((__deprecated__))
                                                           ^
      dubins/dubins.c:4819:52: warning: '_PyUnicode_get_wstr_length' is deprecated [-Wdeprecated-declarations]
                          (PyUnicode_GET_SIZE(**name) != PyUnicode_GET_SIZE(key)) ? 1 :
                                                         ^
      /Users/user/.pyenv/versions/3.9.13/include/python3.9/cpython/unicodeobject.h:261:7: note: expanded from macro 'PyUnicode_GET_SIZE'
            PyUnicode_WSTR_LENGTH(op) :                    \
            ^
      /Users/user/.pyenv/versions/3.9.13/include/python3.9/cpython/unicodeobject.h:451:35: note: expanded from macro 'PyUnicode_WSTR_LENGTH'
      #define PyUnicode_WSTR_LENGTH(op) _PyUnicode_get_wstr_length((PyObject*)op)
                                        ^
      /Users/user/.pyenv/versions/3.9.13/include/python3.9/cpython/unicodeobject.h:445:1: note: '_PyUnicode_get_wstr_length' has been explicitly marked deprecated here
      Py_DEPRECATED(3.3)
      ^
      /Users/user/.pyenv/versions/3.9.13/include/python3.9/pyport.h:508:54: note: expanded from macro 'Py_DEPRECATED'
      #define Py_DEPRECATED(VERSION_UNUSED) __attribute__((__deprecated__))
                                                           ^
      dubins/dubins.c:4819:52: warning: 'PyUnicode_AsUnicode' is deprecated [-Wdeprecated-declarations]
                          (PyUnicode_GET_SIZE(**name) != PyUnicode_GET_SIZE(key)) ? 1 :
                                                         ^
      /Users/user/.pyenv/versions/3.9.13/include/python3.9/cpython/unicodeobject.h:262:14: note: expanded from macro 'PyUnicode_GET_SIZE'
            ((void)PyUnicode_AsUnicode(_PyObject_CAST(op)),\
                   ^
      /Users/user/.pyenv/versions/3.9.13/include/python3.9/cpython/unicodeobject.h:580:1: note: 'PyUnicode_AsUnicode' has been explicitly marked deprecated here
      Py_DEPRECATED(3.3) PyAPI_FUNC(Py_UNICODE *) PyUnicode_AsUnicode(
      ^
      /Users/user/.pyenv/versions/3.9.13/include/python3.9/pyport.h:508:54: note: expanded from macro 'Py_DEPRECATED'
      #define Py_DEPRECATED(VERSION_UNUSED) __attribute__((__deprecated__))
                                                           ^
      dubins/dubins.c:4819:52: warning: '_PyUnicode_get_wstr_length' is deprecated [-Wdeprecated-declarations]
                          (PyUnicode_GET_SIZE(**name) != PyUnicode_GET_SIZE(key)) ? 1 :
                                                         ^
      /Users/user/.pyenv/versions/3.9.13/include/python3.9/cpython/unicodeobject.h:264:8: note: expanded from macro 'PyUnicode_GET_SIZE'
             PyUnicode_WSTR_LENGTH(op)))
             ^
      /Users/user/.pyenv/versions/3.9.13/include/python3.9/cpython/unicodeobject.h:451:35: note: expanded from macro 'PyUnicode_WSTR_LENGTH'
      #define PyUnicode_WSTR_LENGTH(op) _PyUnicode_get_wstr_length((PyObject*)op)
                                        ^
      /Users/user/.pyenv/versions/3.9.13/include/python3.9/cpython/unicodeobject.h:445:1: note: '_PyUnicode_get_wstr_length' has been explicitly marked deprecated here
      Py_DEPRECATED(3.3)
      ^
      /Users/user/.pyenv/versions/3.9.13/include/python3.9/pyport.h:508:54: note: expanded from macro 'Py_DEPRECATED'
      #define Py_DEPRECATED(VERSION_UNUSED) __attribute__((__deprecated__))
                                                           ^
      dubins/dubins.c:4835:26: warning: '_PyUnicode_get_wstr_length' is deprecated [-Wdeprecated-declarations]
                              (PyUnicode_GET_SIZE(**argname) != PyUnicode_GET_SIZE(key)) ? 1 :
                               ^
      /Users/user/.pyenv/versions/3.9.13/include/python3.9/cpython/unicodeobject.h:261:7: note: expanded from macro 'PyUnicode_GET_SIZE'
            PyUnicode_WSTR_LENGTH(op) :                    \
            ^
      /Users/user/.pyenv/versions/3.9.13/include/python3.9/cpython/unicodeobject.h:451:35: note: expanded from macro 'PyUnicode_WSTR_LENGTH'
      #define PyUnicode_WSTR_LENGTH(op) _PyUnicode_get_wstr_length((PyObject*)op)
                                        ^
      /Users/user/.pyenv/versions/3.9.13/include/python3.9/cpython/unicodeobject.h:445:1: note: '_PyUnicode_get_wstr_length' has been explicitly marked deprecated here
      Py_DEPRECATED(3.3)
      ^
      /Users/user/.pyenv/versions/3.9.13/include/python3.9/pyport.h:508:54: note: expanded from macro 'Py_DEPRECATED'
      #define Py_DEPRECATED(VERSION_UNUSED) __attribute__((__deprecated__))
                                                           ^
      dubins/dubins.c:4835:26: warning: 'PyUnicode_AsUnicode' is deprecated [-Wdeprecated-declarations]
                              (PyUnicode_GET_SIZE(**argname) != PyUnicode_GET_SIZE(key)) ? 1 :
                               ^
      /Users/user/.pyenv/versions/3.9.13/include/python3.9/cpython/unicodeobject.h:262:14: note: expanded from macro 'PyUnicode_GET_SIZE'
            ((void)PyUnicode_AsUnicode(_PyObject_CAST(op)),\
                   ^
      /Users/user/.pyenv/versions/3.9.13/include/python3.9/cpython/unicodeobject.h:580:1: note: 'PyUnicode_AsUnicode' has been explicitly marked deprecated here
      Py_DEPRECATED(3.3) PyAPI_FUNC(Py_UNICODE *) PyUnicode_AsUnicode(
      ^
      /Users/user/.pyenv/versions/3.9.13/include/python3.9/pyport.h:508:54: note: expanded from macro 'Py_DEPRECATED'
      #define Py_DEPRECATED(VERSION_UNUSED) __attribute__((__deprecated__))
                                                           ^
      dubins/dubins.c:4835:26: warning: '_PyUnicode_get_wstr_length' is deprecated [-Wdeprecated-declarations]
                              (PyUnicode_GET_SIZE(**argname) != PyUnicode_GET_SIZE(key)) ? 1 :
                               ^
      /Users/user/.pyenv/versions/3.9.13/include/python3.9/cpython/unicodeobject.h:264:8: note: expanded from macro 'PyUnicode_GET_SIZE'
             PyUnicode_WSTR_LENGTH(op)))
             ^
      /Users/user/.pyenv/versions/3.9.13/include/python3.9/cpython/unicodeobject.h:451:35: note: expanded from macro 'PyUnicode_WSTR_LENGTH'
      #define PyUnicode_WSTR_LENGTH(op) _PyUnicode_get_wstr_length((PyObject*)op)
                                        ^
      /Users/user/.pyenv/versions/3.9.13/include/python3.9/cpython/unicodeobject.h:445:1: note: '_PyUnicode_get_wstr_length' has been explicitly marked deprecated here
      Py_DEPRECATED(3.3)
      ^
      /Users/user/.pyenv/versions/3.9.13/include/python3.9/pyport.h:508:54: note: expanded from macro 'Py_DEPRECATED'
      #define Py_DEPRECATED(VERSION_UNUSED) __attribute__((__deprecated__))
                                                           ^
      dubins/dubins.c:4835:59: warning: '_PyUnicode_get_wstr_length' is deprecated [-Wdeprecated-declarations]
                              (PyUnicode_GET_SIZE(**argname) != PyUnicode_GET_SIZE(key)) ? 1 :
                                                                ^
      /Users/user/.pyenv/versions/3.9.13/include/python3.9/cpython/unicodeobject.h:261:7: note: expanded from macro 'PyUnicode_GET_SIZE'
            PyUnicode_WSTR_LENGTH(op) :                    \
            ^
      /Users/user/.pyenv/versions/3.9.13/include/python3.9/cpython/unicodeobject.h:451:35: note: expanded from macro 'PyUnicode_WSTR_LENGTH'
      #define PyUnicode_WSTR_LENGTH(op) _PyUnicode_get_wstr_length((PyObject*)op)
                                        ^
      /Users/user/.pyenv/versions/3.9.13/include/python3.9/cpython/unicodeobject.h:445:1: note: '_PyUnicode_get_wstr_length' has been explicitly marked deprecated here
      Py_DEPRECATED(3.3)
      ^
      /Users/user/.pyenv/versions/3.9.13/include/python3.9/pyport.h:508:54: note: expanded from macro 'Py_DEPRECATED'
      #define Py_DEPRECATED(VERSION_UNUSED) __attribute__((__deprecated__))
                                                           ^
      dubins/dubins.c:4835:59: warning: 'PyUnicode_AsUnicode' is deprecated [-Wdeprecated-declarations]
                              (PyUnicode_GET_SIZE(**argname) != PyUnicode_GET_SIZE(key)) ? 1 :
                                                                ^
      /Users/user/.pyenv/versions/3.9.13/include/python3.9/cpython/unicodeobject.h:262:14: note: expanded from macro 'PyUnicode_GET_SIZE'
            ((void)PyUnicode_AsUnicode(_PyObject_CAST(op)),\
                   ^
      /Users/user/.pyenv/versions/3.9.13/include/python3.9/cpython/unicodeobject.h:580:1: note: 'PyUnicode_AsUnicode' has been explicitly marked deprecated here
      Py_DEPRECATED(3.3) PyAPI_FUNC(Py_UNICODE *) PyUnicode_AsUnicode(
      ^
      /Users/user/.pyenv/versions/3.9.13/include/python3.9/pyport.h:508:54: note: expanded from macro 'Py_DEPRECATED'
      #define Py_DEPRECATED(VERSION_UNUSED) __attribute__((__deprecated__))
                                                           ^
      dubins/dubins.c:4835:59: warning: '_PyUnicode_get_wstr_length' is deprecated [-Wdeprecated-declarations]
                              (PyUnicode_GET_SIZE(**argname) != PyUnicode_GET_SIZE(key)) ? 1 :
                                                                ^
      /Users/user/.pyenv/versions/3.9.13/include/python3.9/cpython/unicodeobject.h:264:8: note: expanded from macro 'PyUnicode_GET_SIZE'
             PyUnicode_WSTR_LENGTH(op)))
             ^
      /Users/user/.pyenv/versions/3.9.13/include/python3.9/cpython/unicodeobject.h:451:35: note: expanded from macro 'PyUnicode_WSTR_LENGTH'
      #define PyUnicode_WSTR_LENGTH(op) _PyUnicode_get_wstr_length((PyObject*)op)
                                        ^
      /Users/user/.pyenv/versions/3.9.13/include/python3.9/cpython/unicodeobject.h:445:1: note: '_PyUnicode_get_wstr_length' has been explicitly marked deprecated here
      Py_DEPRECATED(3.3)
      ^
      /Users/user/.pyenv/versions/3.9.13/include/python3.9/pyport.h:508:54: note: expanded from macro 'Py_DEPRECATED'
      #define Py_DEPRECATED(VERSION_UNUSED) __attribute__((__deprecated__))
                                                           ^
      12 warnings and 2 errors generated.
      error: command '/usr/bin/clang' failed with exit code 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.
╰─> dubins

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

Python 3.10:

pip install dubins
Collecting dubins
  Using cached dubins-1.0.1.tar.gz (46 kB)
Using legacy 'setup.py install' for dubins, since package 'wheel' is not installed.
Installing collected packages: dubins
    Running setup.py install for dubins ... error
    ERROR: Command errored out with exit status 1:
     command: /Users/user/venv-test/bin/python -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/private/var/folders/6l/9vzhg6jd1q72t83jmn6_kc3m0000gp/T/pip-install-itz781xb/dubins_691de856faf6468ebc02f592b0c4dda1/setup.py'"'"'; __file__='"'"'/private/var/folders/6l/9vzhg6jd1q72t83jmn6_kc3m0000gp/T/pip-install-itz781xb/dubins_691de856faf6468ebc02f592b0c4dda1/setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /private/var/folders/6l/9vzhg6jd1q72t83jmn6_kc3m0000gp/T/pip-record-vyynneuh/install-record.txt --single-version-externally-managed --compile --install-headers /Users/user/venv-test/include/site/python3.10/dubins
         cwd: /private/var/folders/6l/9vzhg6jd1q72t83jmn6_kc3m0000gp/T/pip-install-itz781xb/dubins_691de856faf6468ebc02f592b0c4dda1/
    Complete output (191 lines):
    running install
    running build
    running build_ext
    building 'dubins' extension
    creating build
    creating build/temp.macosx-12.2-arm64-3.10
    creating build/temp.macosx-12.2-arm64-3.10/dubins
    creating build/temp.macosx-12.2-arm64-3.10/dubins/src
    clang -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include -Idubins/include -I/Users/user/venv-test/include -I/Users/user/.pyenv/versions/3.10.2/include/python3.10 -c dubins/dubins.c -o build/temp.macosx-12.2-arm64-3.10/dubins/dubins.o
    dubins/dubins.c:3614:5: error: expression is not assignable
        ++Py_REFCNT(o);
        ^ ~~~~~~~~~~~~
    dubins/dubins.c:3616:5: error: expression is not assignable
        --Py_REFCNT(o);
        ^ ~~~~~~~~~~~~
    dubins/dubins.c:4221:34: error: no member named 'tp_print' in 'struct _typeobject'
      __pyx_type_6dubins__DubinsPath.tp_print = 0;
      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^
    dubins/dubins.c:4226:54: error: no member named 'tp_print' in 'struct _typeobject'
      __pyx_type_6dubins___pyx_scope_struct__sample_many.tp_print = 0;
      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^
    dubins/dubins.c:4819:22: warning: '_PyUnicode_get_wstr_length' is deprecated [-Wdeprecated-declarations]
                        (PyUnicode_GET_SIZE(**name) != PyUnicode_GET_SIZE(key)) ? 1 :
                         ^
    /Users/user/.pyenv/versions/3.10.2/include/python3.10/cpython/unicodeobject.h:261:7: note: expanded from macro 'PyUnicode_GET_SIZE'
          PyUnicode_WSTR_LENGTH(op) :                    \
          ^
    /Users/user/.pyenv/versions/3.10.2/include/python3.10/cpython/unicodeobject.h:451:35: note: expanded from macro 'PyUnicode_WSTR_LENGTH'
    #define PyUnicode_WSTR_LENGTH(op) _PyUnicode_get_wstr_length((PyObject*)op)
                                      ^
    /Users/user/.pyenv/versions/3.10.2/include/python3.10/cpython/unicodeobject.h:445:1: note: '_PyUnicode_get_wstr_length' has been explicitly marked deprecated here
    Py_DEPRECATED(3.3)
    ^
    /Users/user/.pyenv/versions/3.10.2/include/python3.10/pyport.h:513:54: note: expanded from macro 'Py_DEPRECATED'
    #define Py_DEPRECATED(VERSION_UNUSED) __attribute__((__deprecated__))
                                                         ^
    dubins/dubins.c:4819:22: warning: 'PyUnicode_AsUnicode' is deprecated [-Wdeprecated-declarations]
                        (PyUnicode_GET_SIZE(**name) != PyUnicode_GET_SIZE(key)) ? 1 :
                         ^
    /Users/user/.pyenv/versions/3.10.2/include/python3.10/cpython/unicodeobject.h:262:14: note: expanded from macro 'PyUnicode_GET_SIZE'
          ((void)PyUnicode_AsUnicode(_PyObject_CAST(op)),\
                 ^
    /Users/user/.pyenv/versions/3.10.2/include/python3.10/cpython/unicodeobject.h:580:1: note: 'PyUnicode_AsUnicode' has been explicitly marked deprecated here
    Py_DEPRECATED(3.3) PyAPI_FUNC(Py_UNICODE *) PyUnicode_AsUnicode(
    ^
    /Users/user/.pyenv/versions/3.10.2/include/python3.10/pyport.h:513:54: note: expanded from macro 'Py_DEPRECATED'
    #define Py_DEPRECATED(VERSION_UNUSED) __attribute__((__deprecated__))
                                                         ^
    dubins/dubins.c:4819:22: warning: '_PyUnicode_get_wstr_length' is deprecated [-Wdeprecated-declarations]
                        (PyUnicode_GET_SIZE(**name) != PyUnicode_GET_SIZE(key)) ? 1 :
                         ^
    /Users/user/.pyenv/versions/3.10.2/include/python3.10/cpython/unicodeobject.h:264:8: note: expanded from macro 'PyUnicode_GET_SIZE'
           PyUnicode_WSTR_LENGTH(op)))
           ^
    /Users/user/.pyenv/versions/3.10.2/include/python3.10/cpython/unicodeobject.h:451:35: note: expanded from macro 'PyUnicode_WSTR_LENGTH'
    #define PyUnicode_WSTR_LENGTH(op) _PyUnicode_get_wstr_length((PyObject*)op)
                                      ^
    /Users/user/.pyenv/versions/3.10.2/include/python3.10/cpython/unicodeobject.h:445:1: note: '_PyUnicode_get_wstr_length' has been explicitly marked deprecated here
    Py_DEPRECATED(3.3)
    ^
    /Users/user/.pyenv/versions/3.10.2/include/python3.10/pyport.h:513:54: note: expanded from macro 'Py_DEPRECATED'
    #define Py_DEPRECATED(VERSION_UNUSED) __attribute__((__deprecated__))
                                                         ^
    dubins/dubins.c:4819:52: warning: '_PyUnicode_get_wstr_length' is deprecated [-Wdeprecated-declarations]
                        (PyUnicode_GET_SIZE(**name) != PyUnicode_GET_SIZE(key)) ? 1 :
                                                       ^
    /Users/user/.pyenv/versions/3.10.2/include/python3.10/cpython/unicodeobject.h:261:7: note: expanded from macro 'PyUnicode_GET_SIZE'
          PyUnicode_WSTR_LENGTH(op) :                    \
          ^
    /Users/user/.pyenv/versions/3.10.2/include/python3.10/cpython/unicodeobject.h:451:35: note: expanded from macro 'PyUnicode_WSTR_LENGTH'
    #define PyUnicode_WSTR_LENGTH(op) _PyUnicode_get_wstr_length((PyObject*)op)
                                      ^
    /Users/user/.pyenv/versions/3.10.2/include/python3.10/cpython/unicodeobject.h:445:1: note: '_PyUnicode_get_wstr_length' has been explicitly marked deprecated here
    Py_DEPRECATED(3.3)
    ^
    /Users/user/.pyenv/versions/3.10.2/include/python3.10/pyport.h:513:54: note: expanded from macro 'Py_DEPRECATED'
    #define Py_DEPRECATED(VERSION_UNUSED) __attribute__((__deprecated__))
                                                         ^
    dubins/dubins.c:4819:52: warning: 'PyUnicode_AsUnicode' is deprecated [-Wdeprecated-declarations]
                        (PyUnicode_GET_SIZE(**name) != PyUnicode_GET_SIZE(key)) ? 1 :
                                                       ^
    /Users/user/.pyenv/versions/3.10.2/include/python3.10/cpython/unicodeobject.h:262:14: note: expanded from macro 'PyUnicode_GET_SIZE'
          ((void)PyUnicode_AsUnicode(_PyObject_CAST(op)),\
                 ^
    /Users/user/.pyenv/versions/3.10.2/include/python3.10/cpython/unicodeobject.h:580:1: note: 'PyUnicode_AsUnicode' has been explicitly marked deprecated here
    Py_DEPRECATED(3.3) PyAPI_FUNC(Py_UNICODE *) PyUnicode_AsUnicode(
    ^
    /Users/user/.pyenv/versions/3.10.2/include/python3.10/pyport.h:513:54: note: expanded from macro 'Py_DEPRECATED'
    #define Py_DEPRECATED(VERSION_UNUSED) __attribute__((__deprecated__))
                                                         ^
    dubins/dubins.c:4819:52: warning: '_PyUnicode_get_wstr_length' is deprecated [-Wdeprecated-declarations]
                        (PyUnicode_GET_SIZE(**name) != PyUnicode_GET_SIZE(key)) ? 1 :
                                                       ^
    /Users/user/.pyenv/versions/3.10.2/include/python3.10/cpython/unicodeobject.h:264:8: note: expanded from macro 'PyUnicode_GET_SIZE'
           PyUnicode_WSTR_LENGTH(op)))
           ^
    /Users/user/.pyenv/versions/3.10.2/include/python3.10/cpython/unicodeobject.h:451:35: note: expanded from macro 'PyUnicode_WSTR_LENGTH'
    #define PyUnicode_WSTR_LENGTH(op) _PyUnicode_get_wstr_length((PyObject*)op)
                                      ^
    /Users/user/.pyenv/versions/3.10.2/include/python3.10/cpython/unicodeobject.h:445:1: note: '_PyUnicode_get_wstr_length' has been explicitly marked deprecated here
    Py_DEPRECATED(3.3)
    ^
    /Users/user/.pyenv/versions/3.10.2/include/python3.10/pyport.h:513:54: note: expanded from macro 'Py_DEPRECATED'
    #define Py_DEPRECATED(VERSION_UNUSED) __attribute__((__deprecated__))
                                                         ^
    dubins/dubins.c:4835:26: warning: '_PyUnicode_get_wstr_length' is deprecated [-Wdeprecated-declarations]
                            (PyUnicode_GET_SIZE(**argname) != PyUnicode_GET_SIZE(key)) ? 1 :
                             ^
    /Users/user/.pyenv/versions/3.10.2/include/python3.10/cpython/unicodeobject.h:261:7: note: expanded from macro 'PyUnicode_GET_SIZE'
          PyUnicode_WSTR_LENGTH(op) :                    \
          ^
    /Users/user/.pyenv/versions/3.10.2/include/python3.10/cpython/unicodeobject.h:451:35: note: expanded from macro 'PyUnicode_WSTR_LENGTH'
    #define PyUnicode_WSTR_LENGTH(op) _PyUnicode_get_wstr_length((PyObject*)op)
                                      ^
    /Users/user/.pyenv/versions/3.10.2/include/python3.10/cpython/unicodeobject.h:445:1: note: '_PyUnicode_get_wstr_length' has been explicitly marked deprecated here
    Py_DEPRECATED(3.3)
    ^
    /Users/user/.pyenv/versions/3.10.2/include/python3.10/pyport.h:513:54: note: expanded from macro 'Py_DEPRECATED'
    #define Py_DEPRECATED(VERSION_UNUSED) __attribute__((__deprecated__))
                                                         ^
    dubins/dubins.c:4835:26: warning: 'PyUnicode_AsUnicode' is deprecated [-Wdeprecated-declarations]
                            (PyUnicode_GET_SIZE(**argname) != PyUnicode_GET_SIZE(key)) ? 1 :
                             ^
    /Users/user/.pyenv/versions/3.10.2/include/python3.10/cpython/unicodeobject.h:262:14: note: expanded from macro 'PyUnicode_GET_SIZE'
          ((void)PyUnicode_AsUnicode(_PyObject_CAST(op)),\
                 ^
    /Users/user/.pyenv/versions/3.10.2/include/python3.10/cpython/unicodeobject.h:580:1: note: 'PyUnicode_AsUnicode' has been explicitly marked deprecated here
    Py_DEPRECATED(3.3) PyAPI_FUNC(Py_UNICODE *) PyUnicode_AsUnicode(
    ^
    /Users/user/.pyenv/versions/3.10.2/include/python3.10/pyport.h:513:54: note: expanded from macro 'Py_DEPRECATED'
    #define Py_DEPRECATED(VERSION_UNUSED) __attribute__((__deprecated__))
                                                         ^
    dubins/dubins.c:4835:26: warning: '_PyUnicode_get_wstr_length' is deprecated [-Wdeprecated-declarations]
                            (PyUnicode_GET_SIZE(**argname) != PyUnicode_GET_SIZE(key)) ? 1 :
                             ^
    /Users/user/.pyenv/versions/3.10.2/include/python3.10/cpython/unicodeobject.h:264:8: note: expanded from macro 'PyUnicode_GET_SIZE'
           PyUnicode_WSTR_LENGTH(op)))
           ^
    /Users/user/.pyenv/versions/3.10.2/include/python3.10/cpython/unicodeobject.h:451:35: note: expanded from macro 'PyUnicode_WSTR_LENGTH'
    #define PyUnicode_WSTR_LENGTH(op) _PyUnicode_get_wstr_length((PyObject*)op)
                                      ^
    /Users/user/.pyenv/versions/3.10.2/include/python3.10/cpython/unicodeobject.h:445:1: note: '_PyUnicode_get_wstr_length' has been explicitly marked deprecated here
    Py_DEPRECATED(3.3)
    ^
    /Users/user/.pyenv/versions/3.10.2/include/python3.10/pyport.h:513:54: note: expanded from macro 'Py_DEPRECATED'
    #define Py_DEPRECATED(VERSION_UNUSED) __attribute__((__deprecated__))
                                                         ^
    dubins/dubins.c:4835:59: warning: '_PyUnicode_get_wstr_length' is deprecated [-Wdeprecated-declarations]
                            (PyUnicode_GET_SIZE(**argname) != PyUnicode_GET_SIZE(key)) ? 1 :
                                                              ^
    /Users/user/.pyenv/versions/3.10.2/include/python3.10/cpython/unicodeobject.h:261:7: note: expanded from macro 'PyUnicode_GET_SIZE'
          PyUnicode_WSTR_LENGTH(op) :                    \
          ^
    /Users/user/.pyenv/versions/3.10.2/include/python3.10/cpython/unicodeobject.h:451:35: note: expanded from macro 'PyUnicode_WSTR_LENGTH'
    #define PyUnicode_WSTR_LENGTH(op) _PyUnicode_get_wstr_length((PyObject*)op)
                                      ^
    /Users/user/.pyenv/versions/3.10.2/include/python3.10/cpython/unicodeobject.h:445:1: note: '_PyUnicode_get_wstr_length' has been explicitly marked deprecated here
    Py_DEPRECATED(3.3)
    ^
    /Users/user/.pyenv/versions/3.10.2/include/python3.10/pyport.h:513:54: note: expanded from macro 'Py_DEPRECATED'
    #define Py_DEPRECATED(VERSION_UNUSED) __attribute__((__deprecated__))
                                                         ^
    dubins/dubins.c:4835:59: warning: 'PyUnicode_AsUnicode' is deprecated [-Wdeprecated-declarations]
                            (PyUnicode_GET_SIZE(**argname) != PyUnicode_GET_SIZE(key)) ? 1 :
                                                              ^
    /Users/user/.pyenv/versions/3.10.2/include/python3.10/cpython/unicodeobject.h:262:14: note: expanded from macro 'PyUnicode_GET_SIZE'
          ((void)PyUnicode_AsUnicode(_PyObject_CAST(op)),\
                 ^
    /Users/user/.pyenv/versions/3.10.2/include/python3.10/cpython/unicodeobject.h:580:1: note: 'PyUnicode_AsUnicode' has been explicitly marked deprecated here
    Py_DEPRECATED(3.3) PyAPI_FUNC(Py_UNICODE *) PyUnicode_AsUnicode(
    ^
    /Users/user/.pyenv/versions/3.10.2/include/python3.10/pyport.h:513:54: note: expanded from macro 'Py_DEPRECATED'
    #define Py_DEPRECATED(VERSION_UNUSED) __attribute__((__deprecated__))
                                                         ^
    dubins/dubins.c:4835:59: warning: '_PyUnicode_get_wstr_length' is deprecated [-Wdeprecated-declarations]
                            (PyUnicode_GET_SIZE(**argname) != PyUnicode_GET_SIZE(key)) ? 1 :
                                                              ^
    /Users/user/.pyenv/versions/3.10.2/include/python3.10/cpython/unicodeobject.h:264:8: note: expanded from macro 'PyUnicode_GET_SIZE'
           PyUnicode_WSTR_LENGTH(op)))
           ^
    /Users/user/.pyenv/versions/3.10.2/include/python3.10/cpython/unicodeobject.h:451:35: note: expanded from macro 'PyUnicode_WSTR_LENGTH'
    #define PyUnicode_WSTR_LENGTH(op) _PyUnicode_get_wstr_length((PyObject*)op)
                                      ^
    /Users/user/.pyenv/versions/3.10.2/include/python3.10/cpython/unicodeobject.h:445:1: note: '_PyUnicode_get_wstr_length' has been explicitly marked deprecated here
    Py_DEPRECATED(3.3)
    ^
    /Users/user/.pyenv/versions/3.10.2/include/python3.10/pyport.h:513:54: note: expanded from macro 'Py_DEPRECATED'
    #define Py_DEPRECATED(VERSION_UNUSED) __attribute__((__deprecated__))
                                                         ^
    12 warnings and 4 errors generated.
    error: command '/usr/bin/clang' failed with exit code 1
    ----------------------------------------
ERROR: Command errored out with exit status 1: /Users/user/venv-test/bin/python -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/private/var/folders/6l/9vzhg6jd1q72t83jmn6_kc3m0000gp/T/pip-install-itz781xb/dubins_691de856faf6468ebc02f592b0c4dda1/setup.py'"'"'; __file__='"'"'/private/var/folders/6l/9vzhg6jd1q72t83jmn6_kc3m0000gp/T/pip-install-itz781xb/dubins_691de856faf6468ebc02f592b0c4dda1/setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /private/var/folders/6l/9vzhg6jd1q72t83jmn6_kc3m0000gp/T/pip-record-vyynneuh/install-record.txt --single-version-externally-managed --compile --install-headers /Users/user/venv-test/include/site/python3.10/dubins Check the logs for full command output.

Can't build in python 2.7

There seems to be an issue with the settings for the C-compiler. Not sure how to get it to compile.

C:\Python27_v2\Scripts>pip install dubins
Collecting dubins
Using cached dubins-0.9.2.tar.gz
Installing collected packages: dubins
Running setup.py install for dubins
Complete output from command c:\python27_v2\python.exe -c "import setuptools
, tokenize;file='c:\users\louis1.sch\appdata\local\temp\pip-build-x1d
jpg\dubins\setup.py';exec(compile(getattr(tokenize, 'open', open)(file).re
ad().replace('\r\n', '\n'), file, 'exec'))" install --record c:\users\louis

1.sch\appdata\local\temp\pip-ffs7ho-record\install-record.txt --single-version-e
xternally-managed --compile:
running install
running build
running build_ext
skipping 'dubins\dubins.c' Cython extension (up-to-date)
building 'dubins' extension
creating build
creating build\temp.win32-2.7
creating build\temp.win32-2.7\Release
creating build\temp.win32-2.7\Release\dubins
creating build\temp.win32-2.7\Release\dubins\src
C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\BIN\cl.exe /c /nologo
/Ox /MD /W3 /GS- /DNDEBUG -Idubins/include -Ic:\python27_v2\include -Ic:\python2
7_v2\PC /Tcdubins/src/dubins.c /Fobuild\temp.win32-2.7\Release\dubins/src/dubins
.obj
dubins.c
dubins/src/dubins.c(82) : error C2065: 'M_PI' : undeclared identifier
dubins/src/dubins.c(87) : error C2065: 'INFINITY' : undeclared identifier
dubins/src/dubins.c(125) : error C2143: syntax error : missing ';' before 't
ype'
dubins/src/dubins.c(126) : error C2143: syntax error : missing ';' before 't
ype'
dubins/src/dubins.c(127) : error C2143: syntax error : missing ';' before 't
ype'
dubins/src/dubins.c(133) : error C2065: 'alpha' : undeclared identifier
dubins/src/dubins.c(133) : error C2065: 'beta' : undeclared identifier
dubins/src/dubins.c(139) : error C2143: syntax error : missing ';' before 't
ype'
dubins/src/dubins.c(140) : error C2143: syntax error : missing ';' before 't
ype'
dubins/src/dubins.c(141) : error C2065: 'p_squared' : undeclared identifier
dubins/src/dubins.c(144) : error C2143: syntax error : missing ';' before 't
ype'
dubins/src/dubins.c(145) : error C2143: syntax error : missing ';' before 't
ype'
dubins/src/dubins.c(146) : error C2143: syntax error : missing ';' before 't
ype'
dubins/src/dubins.c(147) : error C2143: syntax error : missing ';' before 't
ype'
dubins/src/dubins.c(148) : error C2065: 't' : undeclared identifier
dubins/src/dubins.c(148) : error C2065: 'p' : undeclared identifier
dubins/src/dubins.c(148) : error C2065: 'q' : undeclared identifier
dubins/src/dubins.c(155) : error C2143: syntax error : missing ';' before 't
ype'
dubins/src/dubins.c(156) : error C2143: syntax error : missing ';' before 't
ype'
dubins/src/dubins.c(157) : error C2065: 'p_squared' : undeclared identifier
dubins/src/dubins.c(160) : error C2143: syntax error : missing ';' before 't
ype'
dubins/src/dubins.c(161) : error C2143: syntax error : missing ';' before 't
ype'
dubins/src/dubins.c(162) : error C2143: syntax error : missing ';' before 't
ype'
dubins/src/dubins.c(163) : error C2143: syntax error : missing ';' before 't
ype'
dubins/src/dubins.c(164) : error C2065: 't' : undeclared identifier
dubins/src/dubins.c(164) : error C2065: 'p' : undeclared identifier
dubins/src/dubins.c(164) : error C2065: 'q' : undeclared identifier
dubins/src/dubins.c(171) : error C2143: syntax error : missing ';' before 't
ype'
dubins/src/dubins.c(172) : error C2065: 'p_squared' : undeclared identifier
dubins/src/dubins.c(175) : error C2143: syntax error : missing ';' before 't
ype'
dubins/src/dubins.c(176) : error C2143: syntax error : missing ';' before 't
ype'
dubins/src/dubins.c(177) : error C2143: syntax error : missing ';' before 't
ype'
dubins/src/dubins.c(178) : error C2143: syntax error : missing ';' before 't
ype'
dubins/src/dubins.c(179) : error C2065: 't' : undeclared identifier
dubins/src/dubins.c(179) : error C2065: 'p' : undeclared identifier
dubins/src/dubins.c(179) : error C2065: 'q' : undeclared identifier
dubins/src/dubins.c(186) : error C2143: syntax error : missing ';' before 't
ype'
dubins/src/dubins.c(187) : error C2065: 'p_squared' : undeclared identifier
dubins/src/dubins.c(190) : error C2143: syntax error : missing ';' before 't
ype'
dubins/src/dubins.c(191) : error C2143: syntax error : missing ';' before 't
ype'
dubins/src/dubins.c(192) : error C2143: syntax error : missing ';' before 't
ype'
dubins/src/dubins.c(193) : error C2143: syntax error : missing ';' before 't
ype'
dubins/src/dubins.c(194) : error C2065: 't' : undeclared identifier
dubins/src/dubins.c(194) : error C2065: 'p' : undeclared identifier
dubins/src/dubins.c(194) : error C2065: 'q' : undeclared identifier
dubins/src/dubins.c(201) : error C2143: syntax error : missing ';' before 't
ype'
dubins/src/dubins.c(202) : error C2065: 'tmp_rlr' : undeclared identifier
dubins/src/dubins.c(205) : error C2143: syntax error : missing ';' before 't
ype'
dubins/src/dubins.c(206) : error C2143: syntax error : missing ';' before 't
ype'
dubins/src/dubins.c(207) : error C2143: syntax error : missing ';' before 't
ype'
dubins/src/dubins.c(208) : error C2065: 't' : undeclared identifier
dubins/src/dubins.c(208) : error C2065: 'p' : undeclared identifier
dubins/src/dubins.c(208) : error C2065: 'q' : undeclared identifier
dubins/src/dubins.c(215) : error C2143: syntax error : missing ';' before 't
ype'
dubins/src/dubins.c(216) : error C2065: 'tmp_lrl' : undeclared identifier
dubins/src/dubins.c(219) : error C2143: syntax error : missing ';' before 't
ype'
dubins/src/dubins.c(220) : error C2143: syntax error : missing ';' before 't
ype'
dubins/src/dubins.c(221) : error C2143: syntax error : missing ';' before 't
ype'
dubins/src/dubins.c(222) : error C2065: 't' : undeclared identifier
dubins/src/dubins.c(222) : error C2065: 'p' : undeclared identifier
dubins/src/dubins.c(222) : error C2065: 'q' : undeclared identifier
dubins/src/dubins.c(269) : error C2143: syntax error : missing ';' before 't
ype'
dubins/src/dubins.c(282) : error C2143: syntax error : missing ';' before 't
ype'
dubins/src/dubins.c(285) : error C2143: syntax error : missing ';' before 'c
onst'
dubins/src/dubins.c(286) : error C2143: syntax error : missing ';' before 't
ype'
dubins/src/dubins.c(287) : error C2143: syntax error : missing ';' before 't
ype'
dubins/src/dubins.c(288) : error C2143: syntax error : missing ';' before 't
ype'
dubins/src/dubins.c(289) : error C2143: syntax error : missing ';' before 't
ype'
dubins/src/dubins.c(290) : error C2065: 'p1' : undeclared identifier
dubins/src/dubins.c(290) : error C2065: 'qi' : undeclared identifier
dubins/src/dubins.c(290) : warning C4047: 'function' : 'double *' differs in
levels of indirection from 'int'
dubins/src/dubins.c(290) : warning C4024: 'dubins_segment' : different types
for formal and actual parameter 2
dubins/src/dubins.c(290) : error C2065: 'q1' : undeclared identifier
dubins/src/dubins.c(290) : warning C4047: 'function' : 'double *' differs in
levels of indirection from 'int'
dubins/src/dubins.c(290) : warning C4024: 'dubins_segment' : different types
for formal and actual parameter 3
dubins/src/dubins.c(290) : error C2065: 'types' : undeclared identifier
dubins/src/dubins.c(290) : error C2109: subscript requires array or pointer
type
dubins/src/dubins.c(290) : error C2198: 'dubins_segment' : too few arguments
for call
dubins/src/dubins.c(291) : error C2065: 'p2' : undeclared identifier
dubins/src/dubins.c(291) : error C2065: 'q1' : undeclared identifier
dubins/src/dubins.c(291) : warning C4047: 'function' : 'double *' differs in
levels of indirection from 'int'
dubins/src/dubins.c(291) : warning C4024: 'dubins_segment' : different types
for formal and actual parameter 2
dubins/src/dubins.c(291) : error C2065: 'q2' : undeclared identifier
dubins/src/dubins.c(291) : warning C4047: 'function' : 'double *' differs in
levels of indirection from 'int'
dubins/src/dubins.c(291) : warning C4024: 'dubins_segment' : different types
for formal and actual parameter 3
dubins/src/dubins.c(291) : error C2065: 'types' : undeclared identifier
dubins/src/dubins.c(291) : error C2109: subscript requires array or pointer
type
dubins/src/dubins.c(291) : error C2198: 'dubins_segment' : too few arguments
for call
dubins/src/dubins.c(292) : error C2065: 'tprime' : undeclared identifier
dubins/src/dubins.c(292) : error C2065: 'p1' : undeclared identifier
dubins/src/dubins.c(293) : error C2065: 'tprime' : undeclared identifier
dubins/src/dubins.c(293) : error C2065: 'qi' : undeclared identifier
dubins/src/dubins.c(293) : warning C4047: 'function' : 'double *' differs in
levels of indirection from 'int'
dubins/src/dubins.c(293) : warning C4024: 'dubins_segment' : different types
for formal and actual parameter 2
dubins/src/dubins.c(293) : error C2065: 'types' : undeclared identifier
dubins/src/dubins.c(293) : error C2109: subscript requires array or pointer
type
dubins/src/dubins.c(293) : error C2198: 'dubins_segment' : too few arguments
for call
dubins/src/dubins.c(295) : error C2065: 'tprime' : undeclared identifier
dubins/src/dubins.c(295) : error C2065: 'p1' : undeclared identifier
dubins/src/dubins.c(295) : error C2065: 'p2' : undeclared identifier
dubins/src/dubins.c(296) : error C2065: 'tprime' : undeclared identifier
dubins/src/dubins.c(296) : error C2065: 'p1' : undeclared identifier
dubins/src/dubins.c(296) : error C2065: 'q1' : undeclared identifier
dubins/src/dubins.c(296) : warning C4047: 'function' : 'double *' differs in
levels of indirection from 'int'
dubins/src/dubins.c(296) : warning C4024: 'dubins_segment' : different types
for formal and actual parameter 2
dubins/src/dubins.c(296) : error C2065: 'types' : undeclared identifier
dubins/src/dubins.c(296) : error C2109: subscript requires array or pointer
type
dubins/src/dubins.c(296) : error C2198: 'dubins_segment' : too few arguments
for call
dubins/src/dubins.c(299) : error C2065: 'tprime' : undeclared identifier
dubins/src/dubins.c(299) : error C2065: 'p1' : undeclared identifier
dubins/src/dubins.c(299) : error C2065: 'p2' : undeclared identifier
dubins/src/dubins.c(299) : error C2065: 'q2' : undeclared identifier
dubins/src/dubins.c(299) : warning C4047: 'function' : 'double *' differs in
levels of indirection from 'int'
dubins/src/dubins.c(299) : warning C4024: 'dubins_segment' : different types
for formal and actual parameter 2
dubins/src/dubins.c(299) : error C2065: 'types' : undeclared identifier
dubins/src/dubins.c(299) : fatal error C1003: error count exceeds 100; stopp
ing compilation
error: command 'C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\BI
N\cl.exe' failed with exit status 2

----------------------------------------

Command "c:\python27_v2\python.exe -c "import setuptools, tokenize;file='c:
\users\louis1.sch\appdata\local\temp\pip-build-x1djpg\dubins\setup.py';e
xec(compile(getattr(tokenize, 'open', open)(file).read().replace('\r\n', '\n
'), file, 'exec'))" install --record c:\users\louis
1.sch\appdata\local\temp
\pip-ffs7ho-record\install-record.txt --single-version-externally-managed --comp
ile" failed with error code 1 in c:\users\louis~1.sch\appdata\local\temp\pip-bui
ld-x1djpg\dubins
You are using pip version 7.1.2, however version 8.1.1 is available.
You should consider upgrading via the 'python -m pip install --upgrade pip' comm
and.

heeeeeeelp

constexpr auto EDUBOK = (0); constexpr auto EDUBCOCONFIGS = (1); constexpr auto EDUBPARAM = (2); constexpr auto EDUBBADRHO = (3); constexpr auto EDUBNOPATH = (4);
image
why?

M_PI is not declared

Depending on the configuration, M_PI may not be declared in math.h (e.g. my system) which causes "M_PI is not declared" error. You may want to add the following to dubins.c in order to eliminate compatibility issues:
#ifndef M_PI
#define M_PI 3.14159265358979323846
#endif

pip install fails due to missing README.rst

With the latest version (0.8.1) I'm now seeing this error on installation:

$ sudo pip install dubins
Password:
Downloading/unpacking dubins
  Downloading dubins-0.8.1.tar.gz
  Running setup.py egg_info for package dubins
    Traceback (most recent call last):
      File "<string>", line 16, in <module>
      File "/private/tmp/pip_build_root/dubins/setup.py", line 40, in <module>
        long_description = read('README.rst'),
      File "/private/tmp/pip_build_root/dubins/setup.py", line 32, in read
        contents = open(path).read()
    IOError: [Errno 2] No such file or directory: '/private/tmp/pip_build_root/dubins/README.rst'
    Complete output from command python setup.py egg_info:
    Traceback (most recent call last):

  File "<string>", line 16, in <module>

  File "/private/tmp/pip_build_root/dubins/setup.py", line 40, in <module>

    long_description = read('README.rst'),

  File "/private/tmp/pip_build_root/dubins/setup.py", line 32, in read

    contents = open(path).read()

IOError: [Errno 2] No such file or directory: '/private/tmp/pip_build_root/dubins/README.rst'

----------------------------------------
Cleaning up...
Command python setup.py egg_info failed with error code 1 in /private/tmp/pip_build_root/dubins
Storing complete log in /Users/austin.hendrix/Library/Logs/pip.log

Building wheel for dubins (setup.py) ... error

C:\Users\Administrator>pip install C:\dubins-1.0.1.tar
Processing c:\dubins-1.0.1.tar
Building wheels for collected packages: dubins
Building wheel for dubins (setup.py) ... error
ERROR: Command errored out with exit status 1:
command: 'c:\users\administrator\appdata\local\programs\python\python37\python.exe' -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\Users\Administrator\AppData\Local\Temp\pip-req-build-skffgh_w\setup.py'"'"'; file='"'"'C:\Users\Administrator\AppData\Local\Temp\pip-req-build-skffgh_w\setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(file);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, file, '"'"'exec'"'"'))' bdist_wheel -d 'C:\Users\Administrator\AppData\Local\Temp\pip-wheel-uy59qlsk'
cwd: C:\Users\Administrator\AppData\Local\Temp\pip-req-build-skffgh_w
Complete output (16 lines):
running bdist_wheel
running build
running build_ext
skipping 'dubins\dubins.c' Cython extension (up-to-date)
building 'dubins' extension
creating build
creating build\temp.win-amd64-3.7
creating build\temp.win-amd64-3.7\Release
creating build\temp.win-amd64-3.7\Release\dubins
creating build\temp.win-amd64-3.7\Release\dubins\src
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.28.29910\bin\HostX86\x64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MT -Idubins/include -Ic:\users\administrator\appdata\local\programs\python\python37\include -Ic:\users\administrator\appdata\local\programs\python\python37\include "-IC:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.28.29910\ATLMFC\include" "-IC:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.28.29910\include" "-IC:\Program Files (x86)\Windows Kits\NETFXSDK\4.8\include\um" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\shared" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\um" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\winrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\cppwinrt" /Tcdubins/src/dubins.c /Fobuild\temp.win-amd64-3.7\Release\dubins/src/dubins.obj
dubins.c
dubins/src/dubins.c(76): error C2065: “M_PI”: 未声明的标识符
dubins/src/dubins.c(385): error C2065: “M_PI”: 未声明的标识符
dubins/src/dubins.c(400): error C2065: “M_PI”: 未声明的标识符
error: command 'C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.28.29910\bin\HostX86\x64\cl.exe' failed with exit status 2

ERROR: Failed building wheel for dubins
Running setup.py clean for dubins
Failed to build dubins
Installing collected packages: dubins
Running setup.py install for dubins ... error
ERROR: Command errored out with exit status 1:
command: 'c:\users\administrator\appdata\local\programs\python\python37\python.exe' -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\Users\Administrator\AppData\Local\Temp\pip-req-build-skffgh_w\setup.py'"'"'; file='"'"'C:\Users\Administrator\AppData\Local\Temp\pip-req-build-skffgh_w\setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(file);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, file, '"'"'exec'"'"'))' install --record 'C:\Users\Administrator\AppData\Local\Temp\pip-record-d30bjoao\install-record.txt' --single-version-externally-managed --compile --install-headers 'c:\users\administrator\appdata\local\programs\python\python37\Include\dubins'
cwd: C:\Users\Administrator\AppData\Local\Temp\pip-req-build-skffgh_w
Complete output (16 lines):
running install
running build
running build_ext
skipping 'dubins\dubins.c' Cython extension (up-to-date)
building 'dubins' extension
creating build
creating build\temp.win-amd64-3.7
creating build\temp.win-amd64-3.7\Release
creating build\temp.win-amd64-3.7\Release\dubins
creating build\temp.win-amd64-3.7\Release\dubins\src
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.28.29910\bin\HostX86\x64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MT -Idubins/include -Ic:\users\administrator\appdata\local\programs\python\python37\include -Ic:\users\administrator\appdata\local\programs\python\python37\include "-IC:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.28.29910\ATLMFC\include" "-IC:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.28.29910\include" "-IC:\Program Files (x86)\Windows Kits\NETFXSDK\4.8\include\um" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\shared" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\um" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\winrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\cppwinrt" /Tcdubins/src/dubins.c /Fobuild\temp.win-amd64-3.7\Release\dubins/src/dubins.obj
dubins.c
dubins/src/dubins.c(76): error C2065: “M_PI”: undeclared identifier
dubins/src/dubins.c(385): error C2065: “M_PI”: undeclared identifier
dubins/src/dubins.c(400): error C2065: “M_PI”: undeclared identifier
error: command 'C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.28.29910\bin\HostX86\x64\cl.exe' failed with exit status 2
----------------------------------------
ERROR: Command errored out with exit status 1: 'c:\users\administrator\appdata\local\programs\python\python37\python.exe' -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\Users\Administrator\AppData\Local\Temp\pip-req-build-skffgh_w\setup.py'"'"'; file='"'"'C:\Users\Administrator\AppData\Local\Temp\pip-req-build-skffgh_w\setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(file);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, file, '"'"'exec'"'"'))' install --record 'C:\Users\Administrator\AppData\Local\Temp\pip-record-d30bjoao\install-record.txt' --single-version-externally-managed --compile --install-headers 'c:\users\administrator\appdata\local\programs\python\python37\Include\dubins' Check the logs for full command output.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.