kivy / cymunk

Cython port of Pymunk
http://readthedocs.org/docs/cymunk/en/latest/
MIT License
45 stars 29 forks source link

Python 3.6 - doesn't compile on either MSVC or mingw #52

Open Berserker66 opened 6 years ago

Berserker66 commented 6 years ago

So, following the install guide you get this on windows using python 3.6:

E:\cymunk-master>py setup.py build --compiler=mingw32
Using distutils
running build
running build_py
running build_ext
Traceback (most recent call last):
  File "setup.py", line 72, in <module>
    version='0.0.0.dev0'
  File "C:\Program Files\Python36\lib\distutils\core.py", line 148, in setup
    dist.run_commands()
  File "C:\Program Files\Python36\lib\distutils\dist.py", line 955, in run_commands
    self.run_command(cmd)
  File "C:\Program Files\Python36\lib\distutils\dist.py", line 974, in run_command
    cmd_obj.run()
  File "C:\Program Files\Python36\lib\distutils\command\build.py", line 135, in run
    self.run_command(cmd_name)
  File "C:\Program Files\Python36\lib\distutils\cmd.py", line 313, in run_command
    self.distribution.run_command(command)
  File "C:\Program Files\Python36\lib\distutils\dist.py", line 974, in run_command
    cmd_obj.run()
  File "C:\Program Files\Python36\lib\site-packages\Cython\Distutils\old_build_ext.py", line 186, in run
    _build_ext.build_ext.run(self)
  File "C:\Program Files\Python36\lib\distutils\command\build_ext.py", line 308, in run
    force=self.force)
  File "C:\Program Files\Python36\lib\distutils\ccompiler.py", line 1031, in new_compiler
    return klass(None, dry_run, force)
  File "C:\Program Files\Python36\lib\distutils\cygwinccompiler.py", line 282, in __init__
    CygwinCCompiler.__init__ (self, verbose, dry_run, force)
  File "C:\Program Files\Python36\lib\distutils\cygwinccompiler.py", line 126, in __init__
    if self.ld_version >= "2.10.90":
TypeError: '>=' not supported between instances of 'NoneType' and 'str'

if you just google for if self.ld_version >= "2.10.90": you will find plenty of other modules with the same-ish issue. Some modules will work if you patch distutils to not have None there, but for the majority of packages, the maintainers recommend using MSVC. Which doesn't work here, because you don't have alternate pxi files set up. "alloca.h" vs. "_alloca.h" for example.

Berserker66 commented 6 years ago

So, I had some time to dig into this and after lots of googling and applying some patches to my python installation to make cygwincompiler behave better, this is as far as I got:

Using distutils
running build
running build_py
running build_ext
skipping 'cymunk\cymunk.c' Cython extension (up-to-date)
building 'cymunk.cymunk' extension
E:\MingW\bin\gcc.exe -mdll -O -Wall -IE:/cymunk-master\cymunk\Chipmunk-Physics\include -IE:/cymunk-master\cymunk\Chipmunk-Physics\include\chipmunk "-IC:\Program Files\Python36\include" "-IC:\Program Files\Python36\include" -c cymunk\cymunk.c -o build\temp.win-amd64-3.6\Release\cymunk\cymunk.o -std=gnu99 -ffast-math -fPIC -DCHIPMUNK_FFI
In file included from C:\Program Files\Python36\include/Python.h:65:0,
                 from cymunk\cymunk.c:4:
C:\Program Files\Python36\include/pytime.h:111:12: warning: 'struct timeval' declared inside parameter list will not be visible outside of this definition or declaration
     struct timeval *tv,
            ^~~~~~~
C:\Program Files\Python36\include/pytime.h:116:12: warning: 'struct timeval' declared inside parameter list will not be visible outside of this definition or declaration
     struct timeval *tv,
            ^~~~~~~
cymunk\cymunk.c: In function '__pyx_pf_6cymunk_6cymunk_6Circle_2unsafe_set_radius':
cymunk\cymunk.c:28886:3: warning: implicit declaration of function 'cpCircleShapeSetRadius' [-Wimplicit-function-declaration]
   cpCircleShapeSetRadius(__pyx_v_self->__pyx_base._shape, __pyx_t_1);
   ^~~~~~~~~~~~~~~~~~~~~~
cymunk\cymunk.c: In function '__pyx_pf_6cymunk_6cymunk_6Circle_4unsafe_set_offset':
cymunk\cymunk.c:28953:3: warning: implicit declaration of function 'cpCircleShapeSetOffset' [-Wimplicit-function-declaration]
   cpCircleShapeSetOffset(__pyx_v_self->__pyx_base._shape, cpv(__pyx_t_2, __pyx_t_3));
   ^~~~~~~~~~~~~~~~~~~~~~
cymunk\cymunk.c: In function '__pyx_pf_6cymunk_6cymunk_5Space_8contacts___get__':
cymunk\cymunk.c:37646:13: warning: assignment from incompatible pointer type [-Wincompatible-pointer-types]
   __pyx_t_3 = __pyx_v_self->_space->arbiters_private;
             ^
cymunk\cymunk.c: In function '__pyx_f_6cymunk_6cymunk_5Space__add_c_collision_handler':
cymunk\cymunk.c:42193:182: warning: passing argument 6 of 'cpSpaceAddCollisionHandler' from incompatible pointer type [-Wincompatible-pointer-types]
   cpSpaceAddCollisionHandler(__pyx_v_self->_space, __pyx_t_1, __pyx_t_2, __pyx_f_6cymunk_6cymunk__call_collision_begin_func, __pyx_f_6cymunk_6cymunk__call_collision_pre_solve_func, __pyx_f_6cymunk_6cymunk__call_collision_post_solve_func, __pyx_f_6cymunk_6cymunk__call_collision_separate_func, ((void *)__pyx_v_self));
                                                                                                                                                                                      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from cymunk\chipmunk/chipmunk.h:118:0,
                 from cymunk\cymunk.c:515:
cymunk\chipmunk/cpSpace.h:165:6: note: expected 'cpCollisionPostSolveFunc {aka void (*)(struct cpArbiter *, struct cpSpace *, void *)}' but argument is of type '__pyx_t_6cymunk_6cymunk_bool (*)(cpArbiter *, cpSpace *, void *) {aka int (*)(struct cpArbiter *, struct cpSpace *, void *)}'
 void cpSpaceAddCollisionHandler(
      ^~~~~~~~~~~~~~~~~~~~~~~~~~
cymunk\cymunk.c:42193:239: warning: passing argument 7 of 'cpSpaceAddCollisionHandler' from incompatible pointer type [-Wincompatible-pointer-types]
   cpSpaceAddCollisionHandler(__pyx_v_self->_space, __pyx_t_1, __pyx_t_2, __pyx_f_6cymunk_6cymunk__call_collision_begin_func, __pyx_f_6cymunk_6cymunk__call_collision_pre_solve_func, __pyx_f_6cymunk_6cymunk__call_collision_post_solve_func, __pyx_f_6cymunk_6cymunk__call_collision_separate_func, ((void *)__pyx_v_self));
                                                                                                                                                                                                                                               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from cymunk\chipmunk/chipmunk.h:118:0,
                 from cymunk\cymunk.c:515:
cymunk\chipmunk/cpSpace.h:165:6: note: expected 'cpCollisionSeparateFunc {aka void (*)(struct cpArbiter *, struct cpSpace *, void *)}' but argument is of type '__pyx_t_6cymunk_6cymunk_bool (*)(cpArbiter *, cpSpace *, void *) {aka int (*)(struct cpArbiter *, struct cpSpace *, void *)}'
 void cpSpaceAddCollisionHandler(
      ^~~~~~~~~~~~~~~~~~~~~~~~~~
cymunk\cymunk.c: In function '__pyx_pf_6cymunk_6cymunk_5Space_60set_default_collision_handler':
cymunk\cymunk.c:42808:157: warning: passing argument 4 of 'cpSpaceSetDefaultCollisionHandler' from incompatible pointer type [-Wincompatible-pointer-types]
   cpSpaceSetDefaultCollisionHandler(__pyx_v_self->_space, __pyx_f_6cymunk_6cymunk__collision_begin_func, __pyx_f_6cymunk_6cymunk__collision_pre_solve_func, __pyx_f_6cymunk_6cymunk__collision_post_solve_func, __pyx_f_6cymunk_6cymunk__collision_seperate_func, ((PyObject *)__pyx_v_self));
                                                                                                                                                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from cymunk\chipmunk/chipmunk.h:118:0,
                 from cymunk\cymunk.c:515:
cymunk\chipmunk/cpSpace.h:154:6: note: expected 'cpCollisionPostSolveFunc {aka void (*)(struct cpArbiter *, struct cpSpace *, void *)}' but argument is of type '__pyx_t_6cymunk_6cymunk_bool (*)(cpArbiter *, cpSpace *, void *) {aka int (*)(struct cpArbiter *, struct cpSpace *, void *)}'
 void cpSpaceSetDefaultCollisionHandler(
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cymunk\cymunk.c:42808:209: warning: passing argument 5 of 'cpSpaceSetDefaultCollisionHandler' from incompatible pointer type [-Wincompatible-pointer-types]
   cpSpaceSetDefaultCollisionHandler(__pyx_v_self->_space, __pyx_f_6cymunk_6cymunk__collision_begin_func, __pyx_f_6cymunk_6cymunk__collision_pre_solve_func, __pyx_f_6cymunk_6cymunk__collision_post_solve_func, __pyx_f_6cymunk_6cymunk__collision_seperate_func, ((PyObject *)__pyx_v_self));
                                                                                                                                                                                                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from cymunk\chipmunk/chipmunk.h:118:0,
                 from cymunk\cymunk.c:515:
cymunk\chipmunk/cpSpace.h:154:6: note: expected 'cpCollisionSeparateFunc {aka void (*)(struct cpArbiter *, struct cpSpace *, void *)}' but argument is of type '__pyx_t_6cymunk_6cymunk_bool (*)(cpArbiter *, cpSpace *, void *) {aka int (*)(struct cpArbiter *, struct cpSpace *, void *)}'
 void cpSpaceSetDefaultCollisionHandler(
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cymunk\cymunk.c: In function '__Pyx_ImportType':
cymunk\cymunk.c:54626:81: warning: unknown conversion type character 'z' in format [-Wformat=]
             "%s.%s size changed, may indicate binary incompatibility. Expected %zd, got %zd",
                                                                                 ^
cymunk\cymunk.c:54626:90: warning: unknown conversion type character 'z' in format [-Wformat=]
             "%s.%s size changed, may indicate binary incompatibility. Expected %zd, got %zd",
                                                                                          ^
cymunk\cymunk.c:54626:13: warning: too many arguments for format [-Wformat-extra-args]
             "%s.%s size changed, may indicate binary incompatibility. Expected %zd, got %zd",
             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cymunk\cymunk.c: In function '__pyx_pw_6cymunk_6cymunk_5Shape_9segment_query':
cymunk\cymunk.c:28429:16: warning: '__pyx_v_info' may be used uninitialized in this function [-Wmaybe-uninitialized]
   __pyx_t_6 = (cpShapeSegmentQuery(__pyx_v_self->_shape, cpv(__pyx_t_2, __pyx_t_3), cpv(__pyx_t_4, __pyx_t_5), __pyx_v_info) != 0);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cymunk\cymunk.c:28393:23: note: '__pyx_v_info' was declared here
   cpSegmentQueryInfo *__pyx_v_info;
                       ^~~~~~~~~~~~
E:\MingW\bin\gcc.exe -mdll -O -Wall -IE:/cymunk-master\cymunk\Chipmunk-Physics\include -IE:/cymunk-master\cymunk\Chipmunk-Physics\include\chipmunk "-IC:\Program Files\Python36\include" "-IC:\Program Files\Python36\include" -c E:/cymunk-master\cymunk\Chipmunk-Physics\src\cpSpatialIndex.c -o e:\cymunk-master\cymunk\chipmunk-physics\src\cpspatialindex.o -std=gnu99 -ffast-math -fPIC -DCHIPMUNK_FFI
E:\MingW\bin\gcc.exe -mdll -O -Wall -IE:/cymunk-master\cymunk\Chipmunk-Physics\include -IE:/cymunk-master\cymunk\Chipmunk-Physics\include\chipmunk "-IC:\Program Files\Python36\include" "-IC:\Program Files\Python36\include" -c E:/cymunk-master\cymunk\Chipmunk-Physics\src\cpSpaceHash.c -o e:\cymunk-master\cymunk\chipmunk-physics\src\cpspacehash.o -std=gnu99 -ffast-math -fPIC -DCHIPMUNK_FFI
E:\MingW\bin\gcc.exe -mdll -O -Wall -IE:/cymunk-master\cymunk\Chipmunk-Physics\include -IE:/cymunk-master\cymunk\Chipmunk-Physics\include\chipmunk "-IC:\Program Files\Python36\include" "-IC:\Program Files\Python36\include" -c E:/cymunk-master\cymunk\Chipmunk-Physics\src\constraints/cpPivotJoint.c -o e:\cymunk-master\cymunk\chipmunk-physics\src\constraints\cppivotjoint.o -std=gnu99 -ffast-math -fPIC -DCHIPMUNK_FFI
E:\MingW\bin\gcc.exe -mdll -O -Wall -IE:/cymunk-master\cymunk\Chipmunk-Physics\include -IE:/cymunk-master\cymunk\Chipmunk-Physics\include\chipmunk "-IC:\Program Files\Python36\include" "-IC:\Program Files\Python36\include" -c E:/cymunk-master\cymunk\Chipmunk-Physics\src\constraints/cpConstraint.c -o e:\cymunk-master\cymunk\chipmunk-physics\src\constraints\cpconstraint.o -std=gnu99 -ffast-math -fPIC -DCHIPMUNK_FFI
E:\MingW\bin\gcc.exe -mdll -O -Wall -IE:/cymunk-master\cymunk\Chipmunk-Physics\include -IE:/cymunk-master\cymunk\Chipmunk-Physics\include\chipmunk "-IC:\Program Files\Python36\include" "-IC:\Program Files\Python36\include" -c E:/cymunk-master\cymunk\Chipmunk-Physics\src\constraints/cpSlideJoint.c -o e:\cymunk-master\cymunk\chipmunk-physics\src\constraints\cpslidejoint.o -std=gnu99 -ffast-math -fPIC -DCHIPMUNK_FFI
E:\MingW\bin\gcc.exe -mdll -O -Wall -IE:/cymunk-master\cymunk\Chipmunk-Physics\include -IE:/cymunk-master\cymunk\Chipmunk-Physics\include\chipmunk "-IC:\Program Files\Python36\include" "-IC:\Program Files\Python36\include" -c E:/cymunk-master\cymunk\Chipmunk-Physics\src\constraints/cpRotaryLimitJoint.c -o e:\cymunk-master\cymunk\chipmunk-physics\src\constraints\cprotarylimitjoint.o -std=gnu99 -ffast-math -fPIC -DCHIPMUNK_FFI
E:\MingW\bin\gcc.exe -mdll -O -Wall -IE:/cymunk-master\cymunk\Chipmunk-Physics\include -IE:/cymunk-master\cymunk\Chipmunk-Physics\include\chipmunk "-IC:\Program Files\Python36\include" "-IC:\Program Files\Python36\include" -c E:/cymunk-master\cymunk\Chipmunk-Physics\src\constraints/cpGrooveJoint.c -o e:\cymunk-master\cymunk\chipmunk-physics\src\constraints\cpgroovejoint.o -std=gnu99 -ffast-math -fPIC -DCHIPMUNK_FFI
E:\MingW\bin\gcc.exe -mdll -O -Wall -IE:/cymunk-master\cymunk\Chipmunk-Physics\include -IE:/cymunk-master\cymunk\Chipmunk-Physics\include\chipmunk "-IC:\Program Files\Python36\include" "-IC:\Program Files\Python36\include" -c E:/cymunk-master\cymunk\Chipmunk-Physics\src\constraints/cpGearJoint.c -o e:\cymunk-master\cymunk\chipmunk-physics\src\constraints\cpgearjoint.o -std=gnu99 -ffast-math -fPIC -DCHIPMUNK_FFI
E:\MingW\bin\gcc.exe -mdll -O -Wall -IE:/cymunk-master\cymunk\Chipmunk-Physics\include -IE:/cymunk-master\cymunk\Chipmunk-Physics\include\chipmunk "-IC:\Program Files\Python36\include" "-IC:\Program Files\Python36\include" -c E:/cymunk-master\cymunk\Chipmunk-Physics\src\constraints/cpRatchetJoint.c -o e:\cymunk-master\cymunk\chipmunk-physics\src\constraints\cpratchetjoint.o -std=gnu99 -ffast-math -fPIC -DCHIPMUNK_FFI
E:\MingW\bin\gcc.exe -mdll -O -Wall -IE:/cymunk-master\cymunk\Chipmunk-Physics\include -IE:/cymunk-master\cymunk\Chipmunk-Physics\include\chipmunk "-IC:\Program Files\Python36\include" "-IC:\Program Files\Python36\include" -c E:/cymunk-master\cymunk\Chipmunk-Physics\src\constraints/cpSimpleMotor.c -o e:\cymunk-master\cymunk\chipmunk-physics\src\constraints\cpsimplemotor.o -std=gnu99 -ffast-math -fPIC -DCHIPMUNK_FFI
E:\MingW\bin\gcc.exe -mdll -O -Wall -IE:/cymunk-master\cymunk\Chipmunk-Physics\include -IE:/cymunk-master\cymunk\Chipmunk-Physics\include\chipmunk "-IC:\Program Files\Python36\include" "-IC:\Program Files\Python36\include" -c E:/cymunk-master\cymunk\Chipmunk-Physics\src\constraints/cpDampedRotarySpring.c -o e:\cymunk-master\cymunk\chipmunk-physics\src\constraints\cpdampedrotaryspring.o -std=gnu99 -ffast-math -fPIC -DCHIPMUNK_FFI
E:\MingW\bin\gcc.exe -mdll -O -Wall -IE:/cymunk-master\cymunk\Chipmunk-Physics\include -IE:/cymunk-master\cymunk\Chipmunk-Physics\include\chipmunk "-IC:\Program Files\Python36\include" "-IC:\Program Files\Python36\include" -c E:/cymunk-master\cymunk\Chipmunk-Physics\src\constraints/cpPinJoint.c -o e:\cymunk-master\cymunk\chipmunk-physics\src\constraints\cppinjoint.o -std=gnu99 -ffast-math -fPIC -DCHIPMUNK_FFI
E:\MingW\bin\gcc.exe -mdll -O -Wall -IE:/cymunk-master\cymunk\Chipmunk-Physics\include -IE:/cymunk-master\cymunk\Chipmunk-Physics\include\chipmunk "-IC:\Program Files\Python36\include" "-IC:\Program Files\Python36\include" -c E:/cymunk-master\cymunk\Chipmunk-Physics\src\constraints/cpDampedSpring.c -o e:\cymunk-master\cymunk\chipmunk-physics\src\constraints\cpdampedspring.o -std=gnu99 -ffast-math -fPIC -DCHIPMUNK_FFI
E:\MingW\bin\gcc.exe -mdll -O -Wall -IE:/cymunk-master\cymunk\Chipmunk-Physics\include -IE:/cymunk-master\cymunk\Chipmunk-Physics\include\chipmunk "-IC:\Program Files\Python36\include" "-IC:\Program Files\Python36\include" -c E:/cymunk-master\cymunk\Chipmunk-Physics\src\cpSpaceStep.c -o e:\cymunk-master\cymunk\chipmunk-physics\src\cpspacestep.o -std=gnu99 -ffast-math -fPIC -DCHIPMUNK_FFI
E:\MingW\bin\gcc.exe -mdll -O -Wall -IE:/cymunk-master\cymunk\Chipmunk-Physics\include -IE:/cymunk-master\cymunk\Chipmunk-Physics\include\chipmunk "-IC:\Program Files\Python36\include" "-IC:\Program Files\Python36\include" -c E:/cymunk-master\cymunk\Chipmunk-Physics\src\cpArray.c -o e:\cymunk-master\cymunk\chipmunk-physics\src\cparray.o -std=gnu99 -ffast-math -fPIC -DCHIPMUNK_FFI
E:\MingW\bin\gcc.exe -mdll -O -Wall -IE:/cymunk-master\cymunk\Chipmunk-Physics\include -IE:/cymunk-master\cymunk\Chipmunk-Physics\include\chipmunk "-IC:\Program Files\Python36\include" "-IC:\Program Files\Python36\include" -c E:/cymunk-master\cymunk\Chipmunk-Physics\src\cpArbiter.c -o e:\cymunk-master\cymunk\chipmunk-physics\src\cparbiter.o -std=gnu99 -ffast-math -fPIC -DCHIPMUNK_FFI
E:\MingW\bin\gcc.exe -mdll -O -Wall -IE:/cymunk-master\cymunk\Chipmunk-Physics\include -IE:/cymunk-master\cymunk\Chipmunk-Physics\include\chipmunk "-IC:\Program Files\Python36\include" "-IC:\Program Files\Python36\include" -c E:/cymunk-master\cymunk\Chipmunk-Physics\src\cpCollision.c -o e:\cymunk-master\cymunk\chipmunk-physics\src\cpcollision.o -std=gnu99 -ffast-math -fPIC -DCHIPMUNK_FFI
E:\MingW\bin\gcc.exe -mdll -O -Wall -IE:/cymunk-master\cymunk\Chipmunk-Physics\include -IE:/cymunk-master\cymunk\Chipmunk-Physics\include\chipmunk "-IC:\Program Files\Python36\include" "-IC:\Program Files\Python36\include" -c E:/cymunk-master\cymunk\Chipmunk-Physics\src\cpBBTree.c -o e:\cymunk-master\cymunk\chipmunk-physics\src\cpbbtree.o -std=gnu99 -ffast-math -fPIC -DCHIPMUNK_FFI
E:\MingW\bin\gcc.exe -mdll -O -Wall -IE:/cymunk-master\cymunk\Chipmunk-Physics\include -IE:/cymunk-master\cymunk\Chipmunk-Physics\include\chipmunk "-IC:\Program Files\Python36\include" "-IC:\Program Files\Python36\include" -c E:/cymunk-master\cymunk\Chipmunk-Physics\src\cpSweep1D.c -o e:\cymunk-master\cymunk\chipmunk-physics\src\cpsweep1d.o -std=gnu99 -ffast-math -fPIC -DCHIPMUNK_FFI
E:\MingW\bin\gcc.exe -mdll -O -Wall -IE:/cymunk-master\cymunk\Chipmunk-Physics\include -IE:/cymunk-master\cymunk\Chipmunk-Physics\include\chipmunk "-IC:\Program Files\Python36\include" "-IC:\Program Files\Python36\include" -c E:/cymunk-master\cymunk\Chipmunk-Physics\src\chipmunk.c -o e:\cymunk-master\cymunk\chipmunk-physics\src\chipmunk.o -std=gnu99 -ffast-math -fPIC -DCHIPMUNK_FFI
E:\MingW\bin\gcc.exe -mdll -O -Wall -IE:/cymunk-master\cymunk\Chipmunk-Physics\include -IE:/cymunk-master\cymunk\Chipmunk-Physics\include\chipmunk "-IC:\Program Files\Python36\include" "-IC:\Program Files\Python36\include" -c E:/cymunk-master\cymunk\Chipmunk-Physics\src\cpSpaceQuery.c -o e:\cymunk-master\cymunk\chipmunk-physics\src\cpspacequery.o -std=gnu99 -ffast-math -fPIC -DCHIPMUNK_FFI
E:\MingW\bin\gcc.exe -mdll -O -Wall -IE:/cymunk-master\cymunk\Chipmunk-Physics\include -IE:/cymunk-master\cymunk\Chipmunk-Physics\include\chipmunk "-IC:\Program Files\Python36\include" "-IC:\Program Files\Python36\include" -c E:/cymunk-master\cymunk\Chipmunk-Physics\src\cpBB.c -o e:\cymunk-master\cymunk\chipmunk-physics\src\cpbb.o -std=gnu99 -ffast-math -fPIC -DCHIPMUNK_FFI
E:\MingW\bin\gcc.exe -mdll -O -Wall -IE:/cymunk-master\cymunk\Chipmunk-Physics\include -IE:/cymunk-master\cymunk\Chipmunk-Physics\include\chipmunk "-IC:\Program Files\Python36\include" "-IC:\Program Files\Python36\include" -c E:/cymunk-master\cymunk\Chipmunk-Physics\src\cpShape.c -o e:\cymunk-master\cymunk\chipmunk-physics\src\cpshape.o -std=gnu99 -ffast-math -fPIC -DCHIPMUNK_FFI
E:\MingW\bin\gcc.exe -mdll -O -Wall -IE:/cymunk-master\cymunk\Chipmunk-Physics\include -IE:/cymunk-master\cymunk\Chipmunk-Physics\include\chipmunk "-IC:\Program Files\Python36\include" "-IC:\Program Files\Python36\include" -c E:/cymunk-master\cymunk\Chipmunk-Physics\src\cpSpace.c -o e:\cymunk-master\cymunk\chipmunk-physics\src\cpspace.o -std=gnu99 -ffast-math -fPIC -DCHIPMUNK_FFI
E:\MingW\bin\gcc.exe -mdll -O -Wall -IE:/cymunk-master\cymunk\Chipmunk-Physics\include -IE:/cymunk-master\cymunk\Chipmunk-Physics\include\chipmunk "-IC:\Program Files\Python36\include" "-IC:\Program Files\Python36\include" -c E:/cymunk-master\cymunk\Chipmunk-Physics\src\cpVect.c -o e:\cymunk-master\cymunk\chipmunk-physics\src\cpvect.o -std=gnu99 -ffast-math -fPIC -DCHIPMUNK_FFI
E:\MingW\bin\gcc.exe -mdll -O -Wall -IE:/cymunk-master\cymunk\Chipmunk-Physics\include -IE:/cymunk-master\cymunk\Chipmunk-Physics\include\chipmunk "-IC:\Program Files\Python36\include" "-IC:\Program Files\Python36\include" -c E:/cymunk-master\cymunk\Chipmunk-Physics\src\cpPolyShape.c -o e:\cymunk-master\cymunk\chipmunk-physics\src\cppolyshape.o -std=gnu99 -ffast-math -fPIC -DCHIPMUNK_FFI
E:\MingW\bin\gcc.exe -mdll -O -Wall -IE:/cymunk-master\cymunk\Chipmunk-Physics\include -IE:/cymunk-master\cymunk\Chipmunk-Physics\include\chipmunk "-IC:\Program Files\Python36\include" "-IC:\Program Files\Python36\include" -c E:/cymunk-master\cymunk\Chipmunk-Physics\src\cpSpaceComponent.c -o e:\cymunk-master\cymunk\chipmunk-physics\src\cpspacecomponent.o -std=gnu99 -ffast-math -fPIC -DCHIPMUNK_FFI
E:\MingW\bin\gcc.exe -mdll -O -Wall -IE:/cymunk-master\cymunk\Chipmunk-Physics\include -IE:/cymunk-master\cymunk\Chipmunk-Physics\include\chipmunk "-IC:\Program Files\Python36\include" "-IC:\Program Files\Python36\include" -c E:/cymunk-master\cymunk\Chipmunk-Physics\src\cpBody.c -o e:\cymunk-master\cymunk\chipmunk-physics\src\cpbody.o -std=gnu99 -ffast-math -fPIC -DCHIPMUNK_FFI
E:\MingW\bin\gcc.exe -mdll -O -Wall -IE:/cymunk-master\cymunk\Chipmunk-Physics\include -IE:/cymunk-master\cymunk\Chipmunk-Physics\include\chipmunk "-IC:\Program Files\Python36\include" "-IC:\Program Files\Python36\include" -c E:/cymunk-master\cymunk\Chipmunk-Physics\src\cpHashSet.c -o e:\cymunk-master\cymunk\chipmunk-physics\src\cphashset.o -std=gnu99 -ffast-math -fPIC -DCHIPMUNK_FFI
writing build\temp.win-amd64-3.6\Release\cymunk\cymunk.cp36-win_amd64.def
E:\MingW\bin\gcc.exe -shared -s build\temp.win-amd64-3.6\Release\cymunk\cymunk.o e:\cymunk-master\cymunk\chipmunk-physics\src\cpspatialindex.o e:\cymunk-master\cymunk\chipmunk-physics\src\cpspacehash.o e:\cymunk-master\cymunk\chipmunk-physics\src\constraints\cppivotjoint.o e:\cymunk-master\cymunk\chipmunk-physics\src\constraints\cpconstraint.o e:\cymunk-master\cymunk\chipmunk-physics\src\constraints\cpslidejoint.o e:\cymunk-master\cymunk\chipmunk-physics\src\constraints\cprotarylimitjoint.o e:\cymunk-master\cymunk\chipmunk-physics\src\constraints\cpgroovejoint.o e:\cymunk-master\cymunk\chipmunk-physics\src\constraints\cpgearjoint.o e:\cymunk-master\cymunk\chipmunk-physics\src\constraints\cpratchetjoint.o e:\cymunk-master\cymunk\chipmunk-physics\src\constraints\cpsimplemotor.o e:\cymunk-master\cymunk\chipmunk-physics\src\constraints\cpdampedrotaryspring.o e:\cymunk-master\cymunk\chipmunk-physics\src\constraints\cppinjoint.o e:\cymunk-master\cymunk\chipmunk-physics\src\constraints\cpdampedspring.o e:\cymunk-master\cymunk\chipmunk-physics\src\cpspacestep.o e:\cymunk-master\cymunk\chipmunk-physics\src\cparray.o e:\cymunk-master\cymunk\chipmunk-physics\src\cparbiter.o e:\cymunk-master\cymunk\chipmunk-physics\src\cpcollision.o e:\cymunk-master\cymunk\chipmunk-physics\src\cpbbtree.o e:\cymunk-master\cymunk\chipmunk-physics\src\cpsweep1d.o e:\cymunk-master\cymunk\chipmunk-physics\src\chipmunk.o e:\cymunk-master\cymunk\chipmunk-physics\src\cpspacequery.o e:\cymunk-master\cymunk\chipmunk-physics\src\cpbb.o e:\cymunk-master\cymunk\chipmunk-physics\src\cpshape.o e:\cymunk-master\cymunk\chipmunk-physics\src\cpspace.o e:\cymunk-master\cymunk\chipmunk-physics\src\cpvect.o e:\cymunk-master\cymunk\chipmunk-physics\src\cppolyshape.o e:\cymunk-master\cymunk\chipmunk-physics\src\cpspacecomponent.o e:\cymunk-master\cymunk\chipmunk-physics\src\cpbody.o e:\cymunk-master\cymunk\chipmunk-physics\src\cphashset.o build\temp.win-amd64-3.6\Release\cymunk\cymunk.cp36-win_amd64.def "-LC:\Program Files\Python36\libs" "-LC:\Program Files\Python36\PCbuild\amd64" -lpython36 -lvcruntime140 -o build\lib.win-amd64-3.6\cymunk\cymunk.cp36-win_amd64.pyd
C:\Program Files\Python36\libs/libpython36.a: error adding symbols: File format not recognized
collect2.exe: error: ld returned 1 exit status
error: command 'E:\\MingW\\bin\\gcc.exe' failed with exit status 1

Help? Also that is an awful lot of warnings.

Berserker66 commented 6 years ago

After a bit more googling I found that using this:

PS C:\Program Files\Python36> gendef python36.dll
 * [python36.dll] Found PE+ image
PS C:\Program Files\Python36> dlltool -U -d python36.def -l libpython36.dll.a

And then moving the generated files to python/libs/ gets me yet another bit further.

At this point I'm just documenting my steps in case someone else finds this.

Current problem:

E:\MingW\bin\gcc.exe -shared -s build\temp.win-amd64-3.6\Release\cymunk\cymunk.o e:\cymunk-master\cymunk\chipmunk-physics\src\cpspatialindex.o e:\cymunk-master\cymunk\chipmunk-physics\src\cpspacehash.o e:\cymunk-master\cymunk\chipmunk-physics\src\constraints\cppivotjoint.o e:\cymunk-master\cymunk\chipmunk-physics\src\constraints\cpconstraint.o e:\cymunk-master\cymunk\chipmunk-physics\src\constraints\cpslidejoint.o e:\cymunk-master\cymunk\chipmunk-physics\src\constraints\cprotarylimitjoint.o e:\cymunk-master\cymunk\chipmunk-physics\src\constraints\cpgroovejoint.o e:\cymunk-master\cymunk\chipmunk-physics\src\constraints\cpgearjoint.o e:\cymunk-master\cymunk\chipmunk-physics\src\constraints\cpratchetjoint.o e:\cymunk-master\cymunk\chipmunk-physics\src\constraints\cpsimplemotor.o e:\cymunk-master\cymunk\chipmunk-physics\src\constraints\cpdampedrotaryspring.o e:\cymunk-master\cymunk\chipmunk-physics\src\constraints\cppinjoint.o e:\cymunk-master\cymunk\chipmunk-physics\src\constraints\cpdampedspring.o e:\cymunk-master\cymunk\chipmunk-physics\src\cpspacestep.o e:\cymunk-master\cymunk\chipmunk-physics\src\cparray.o e:\cymunk-master\cymunk\chipmunk-physics\src\cparbiter.o e:\cymunk-master\cymunk\chipmunk-physics\src\cpcollision.o e:\cymunk-master\cymunk\chipmunk-physics\src\cpbbtree.o e:\cymunk-master\cymunk\chipmunk-physics\src\cpsweep1d.o e:\cymunk-master\cymunk\chipmunk-physics\src\chipmunk.o e:\cymunk-master\cymunk\chipmunk-physics\src\cpspacequery.o e:\cymunk-master\cymunk\chipmunk-physics\src\cpbb.o e:\cymunk-master\cymunk\chipmunk-physics\src\cpshape.o e:\cymunk-master\cymunk\chipmunk-physics\src\cpspace.o e:\cymunk-master\cymunk\chipmunk-physics\src\cpvect.o e:\cymunk-master\cymunk\chipmunk-physics\src\cppolyshape.o e:\cymunk-master\cymunk\chipmunk-physics\src\cpspacecomponent.o e:\cymunk-master\cymunk\chipmunk-physics\src\cpbody.o e:\cymunk-master\cymunk\chipmunk-physics\src\cphashset.o build\temp.win-amd64-3.6\Release\cymunk\cymunk.cp36-win_amd64.def "-LC:\Program Files\Python36\libs" "-LC:\Program Files\Python36\PCbuild\amd64" -lpython36 -lvcruntime140 -o build\lib.win-amd64-3.6\cymunk\cymunk.cp36-win_amd64.pyd
e:/mingw/bin/../lib/gcc/mingw32/6.3.0/../../../../mingw32/bin/ld.exe: cannot find -lvcruntime140
collect2.exe: error: ld returned 1 exit status
error: command 'E:\\MingW\\bin\\gcc.exe' failed with exit status 1
Berserker66 commented 6 years ago

Made a 180, instead of getting mingw to work, which apparently ever since python 3.5 is rather defunct and there was a mingwpy project to revive it which quickly also died - I made the switch to chipmunk 7 - which among other things has now support for MSVC.

My current progress is here: https://github.com/Berserker66/cymunk

Notable changes: corrected a bunch of types, such as cpFloat should be a double, not float. Updated to Chipmunk 7

However, something goes wrong in the cython -> C conversion. This may actually be a bug in Cython, as it fails to report this error prior to compilation, which it should.

The error I'm now stuck on, on the MSVC rail:

"C:\Program Files\Python36\python.exe" E:/cymunk/setup.py build
Using distutils
running build
running build_py
creating build
creating build\lib.win-amd64-3.6
creating build\lib.win-amd64-3.6\cymunk
copying cymunk\__init__.py -> build\lib.win-amd64-3.6\cymunk
copying cymunk\body.pxd -> build\lib.win-amd64-3.6\cymunk
copying cymunk\constraint.pxd -> build\lib.win-amd64-3.6\cymunk
copying cymunk\core.pxd -> build\lib.win-amd64-3.6\cymunk
copying cymunk\cymunk.pxd -> build\lib.win-amd64-3.6\cymunk
copying cymunk\shape.pxd -> build\lib.win-amd64-3.6\cymunk
copying cymunk\space.pxd -> build\lib.win-amd64-3.6\cymunk
copying cymunk\body.pxi -> build\lib.win-amd64-3.6\cymunk
copying cymunk\constraint.pxi -> build\lib.win-amd64-3.6\cymunk
copying cymunk\core.pxi -> build\lib.win-amd64-3.6\cymunk
copying cymunk\shape.pxi -> build\lib.win-amd64-3.6\cymunk
copying cymunk\space.pxi -> build\lib.win-amd64-3.6\cymunk
creating build\lib.win-amd64-3.6\cymunk\chipmunk
copying cymunk\chipmunk\chipmunk.h -> build\lib.win-amd64-3.6\cymunk\chipmunk
copying cymunk\chipmunk\chipmunk_ffi.h -> build\lib.win-amd64-3.6\cymunk\chipmunk
copying cymunk\chipmunk\chipmunk_private.h -> build\lib.win-amd64-3.6\cymunk\chipmunk
copying cymunk\chipmunk\chipmunk_structs.h -> build\lib.win-amd64-3.6\cymunk\chipmunk
copying cymunk\chipmunk\chipmunk_types.h -> build\lib.win-amd64-3.6\cymunk\chipmunk
copying cymunk\chipmunk\chipmunk_unsafe.h -> build\lib.win-amd64-3.6\cymunk\chipmunk
copying cymunk\chipmunk\cpArbiter.h -> build\lib.win-amd64-3.6\cymunk\chipmunk
copying cymunk\chipmunk\cpBB.h -> build\lib.win-amd64-3.6\cymunk\chipmunk
copying cymunk\chipmunk\cpBody.h -> build\lib.win-amd64-3.6\cymunk\chipmunk
copying cymunk\chipmunk\cpConstraint.h -> build\lib.win-amd64-3.6\cymunk\chipmunk
copying cymunk\chipmunk\cpDampedRotarySpring.h -> build\lib.win-amd64-3.6\cymunk\chipmunk
copying cymunk\chipmunk\cpDampedSpring.h -> build\lib.win-amd64-3.6\cymunk\chipmunk
copying cymunk\chipmunk\cpGearJoint.h -> build\lib.win-amd64-3.6\cymunk\chipmunk
copying cymunk\chipmunk\cpGrooveJoint.h -> build\lib.win-amd64-3.6\cymunk\chipmunk
copying cymunk\chipmunk\cpHastySpace.h -> build\lib.win-amd64-3.6\cymunk\chipmunk
copying cymunk\chipmunk\cpMarch.h -> build\lib.win-amd64-3.6\cymunk\chipmunk
copying cymunk\chipmunk\cpPinJoint.h -> build\lib.win-amd64-3.6\cymunk\chipmunk
copying cymunk\chipmunk\cpPivotJoint.h -> build\lib.win-amd64-3.6\cymunk\chipmunk
copying cymunk\chipmunk\cpPolyline.h -> build\lib.win-amd64-3.6\cymunk\chipmunk
copying cymunk\chipmunk\cpPolyShape.h -> build\lib.win-amd64-3.6\cymunk\chipmunk
copying cymunk\chipmunk\cpRatchetJoint.h -> build\lib.win-amd64-3.6\cymunk\chipmunk
copying cymunk\chipmunk\cpRobust.h -> build\lib.win-amd64-3.6\cymunk\chipmunk
copying cymunk\chipmunk\cpRotaryLimitJoint.h -> build\lib.win-amd64-3.6\cymunk\chipmunk
copying cymunk\chipmunk\cpShape.h -> build\lib.win-amd64-3.6\cymunk\chipmunk
copying cymunk\chipmunk\cpSimpleMotor.h -> build\lib.win-amd64-3.6\cymunk\chipmunk
copying cymunk\chipmunk\cpSlideJoint.h -> build\lib.win-amd64-3.6\cymunk\chipmunk
copying cymunk\chipmunk\cpSpace.h -> build\lib.win-amd64-3.6\cymunk\chipmunk
copying cymunk\chipmunk\cpSpatialIndex.h -> build\lib.win-amd64-3.6\cymunk\chipmunk
copying cymunk\chipmunk\cpTransform.h -> build\lib.win-amd64-3.6\cymunk\chipmunk
copying cymunk\chipmunk\cpVect.h -> build\lib.win-amd64-3.6\cymunk\chipmunk
running build_ext
skipping 'cymunk\cymunk.c' Cython extension (up-to-date)
building 'cymunk.cymunk' extension
creating build\temp.win-amd64-3.6
creating build\temp.win-amd64-3.6\Release
creating build\temp.win-amd64-3.6\Release\cymunk
creating build\temp.win-amd64-3.6\Release\cymunk\cymunk
creating build\temp.win-amd64-3.6\Release\cymunk\cymunk\Chipmunk-Physics
creating build\temp.win-amd64-3.6\Release\cymunk\cymunk\Chipmunk-Physics\src
creating build\temp.win-amd64-3.6\Release\cymunk\cymunk\Chipmunk-Physics\src\constraints
E:\Visual Studio 2017 Community\VC\Tools\MSVC\14.11.25503\bin\HostX86\x64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -IE:/cymunk\cymunk\Chipmunk-Physics\include -IE:/cymunk\cymunk\Chipmunk-Physics\include\chipmunk "-IC:\Program Files\Python36\include" "-IC:\Program Files\Python36\include" "-IE:\Visual Studio 2017 Community\VC\Tools\MSVC\14.11.25503\ATLMFC\include" "-IE:\Visual Studio 2017 Community\VC\Tools\MSVC\14.11.25503\include" "-IC:\Program Files (x86)\Windows Kits\NETFXSDK\4.6.1\include\um" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.16299.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.16299.0\shared" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.16299.0\um" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.16299.0\winrt" /Tccymunk\cymunk.c /Fobuild\temp.win-amd64-3.6\Release\cymunk\cymunk.obj -std=gnu99 -ffast-math -fPIC -DCHIPMUNK_FFI
cl : Command line warning D9002 : ignoring unknown option '-std=gnu99'
cl : Command line warning D9002 : ignoring unknown option '-ffast-math'
cl : Command line warning D9002 : ignoring unknown option '-fPIC'
cymunk.c
cymunk\cymunk.c(1661): error C2146: syntax error: missing ')' before identifier 'value'
cymunk\cymunk.c(1661): error C2061: syntax error: identifier 'value'
cymunk\cymunk.c(1661): error C2059: syntax error: ';'
cymunk\cymunk.c(1661): error C2059: syntax error: ')'
cymunk\cymunk.c(1679): error C2061: syntax error: identifier '__Pyx_PyInt_As_cpLayers'
cymunk\cymunk.c(1679): error C2059: syntax error: ';'
cymunk\cymunk.c(1679): error C2059: syntax error: '<parameter-list>'
cymunk\cymunk.c(2828): error C2037: left of 'data' specifies undefined struct/union 'cpSpace'
cymunk\cymunk.c(2840): error C2037: left of 'data' specifies undefined struct/union 'cpConstraint'
cymunk\cymunk.c(2966): error C2037: left of 'data' specifies undefined struct/union 'cpSpace'
cymunk\cymunk.c(2978): error C2037: left of 'data' specifies undefined struct/union 'cpConstraint'
cymunk\cymunk.c(3255): error C2037: left of 'maxForce' specifies undefined struct/union 'cpConstraint'
cymunk\cymunk.c(3255): error C2198: 'PyFloat_FromDouble': too few arguments for call
cymunk\cymunk.c(3315): error C2037: left of 'maxForce' specifies undefined struct/union 'cpConstraint'
cymunk\cymunk.c(3371): error C2037: left of 'errorBias' specifies undefined struct/union 'cpConstraint'
cymunk\cymunk.c(3371): error C2198: 'PyFloat_FromDouble': too few arguments for call
cymunk\cymunk.c(3431): error C2037: left of 'errorBias' specifies undefined struct/union 'cpConstraint'
cymunk\cymunk.c(3487): error C2037: left of 'maxBias' specifies undefined struct/union 'cpConstraint'
cymunk\cymunk.c(3487): error C2198: 'PyFloat_FromDouble': too few arguments for call
cymunk\cymunk.c(3547): error C2037: left of 'maxBias' specifies undefined struct/union 'cpConstraint'
cymunk\cymunk.c(3603): warning C4244: '=': conversion from 'cpFloat' to 'float', possible loss of data
cymunk\cymunk.c(3835): error C2037: left of 'preSolve' specifies undefined struct/union 'cpConstraint'
cymunk\cymunk.c(3951): error C2037: left of 'postSolve' specifies undefined struct/union 'cpConstraint'
cymunk\cymunk.c(4718): error C2037: left of 'data' specifies undefined struct/union 'cpConstraint'
cymunk\cymunk.c(4802): error C2037: left of 'grv_a' specifies undefined struct/union 'cpGrooveJoint'
cymunk\cymunk.c(4802): error C2198: '__pyx_convert__to_py_cpVect': too few arguments for call
cymunk\cymunk.c(4884): error C2037: left of 'grv_a' specifies undefined struct/union 'cpGrooveJoint'
cymunk\cymunk.c(4941): error C2037: left of 'grv_b' specifies undefined struct/union 'cpGrooveJoint'
cymunk\cymunk.c(4941): error C2198: '__pyx_convert__to_py_cpVect': too few arguments for call
cymunk\cymunk.c(5023): error C2037: left of 'grv_b' specifies undefined struct/union 'cpGrooveJoint'
cymunk\cymunk.c(5080): error C2037: left of 'anchr2' specifies undefined struct/union 'cpGrooveJoint'
cymunk\cymunk.c(5080): error C2198: '__pyx_convert__to_py_cpVect': too few arguments for call
cymunk\cymunk.c(5162): error C2037: left of 'anchr2' specifies undefined struct/union 'cpGrooveJoint'
cymunk\cymunk.c(5540): error C2037: left of 'data' specifies undefined struct/union 'cpConstraint'
cymunk\cymunk.c(5624): error C2037: left of 'anchr1' specifies undefined struct/union 'cpPinJoint'
cymunk\cymunk.c(5624): error C2198: '__pyx_convert__to_py_cpVect': too few arguments for call
cymunk\cymunk.c(5706): error C2037: left of 'anchr1' specifies undefined struct/union 'cpPinJoint'
cymunk\cymunk.c(5763): error C2037: left of 'anchr2' specifies undefined struct/union 'cpPinJoint'
cymunk\cymunk.c(5763): error C2198: '__pyx_convert__to_py_cpVect': too few arguments for call
cymunk\cymunk.c(5845): error C2037: left of 'anchr2' specifies undefined struct/union 'cpPinJoint'
cymunk\cymunk.c(6256): error C2037: left of 'data' specifies undefined struct/union 'cpConstraint'
cymunk\cymunk.c(6340): error C2037: left of 'anchr1' specifies undefined struct/union 'cpDampedSpring'
cymunk\cymunk.c(6340): error C2198: '__pyx_convert__to_py_cpVect': too few arguments for call
cymunk\cymunk.c(6422): error C2037: left of 'anchr1' specifies undefined struct/union 'cpDampedSpring'
cymunk\cymunk.c(6479): error C2037: left of 'anchr2' specifies undefined struct/union 'cpDampedSpring'
cymunk\cymunk.c(6479): error C2198: '__pyx_convert__to_py_cpVect': too few arguments for call
cymunk\cymunk.c(6561): error C2037: left of 'anchr2' specifies undefined struct/union 'cpDampedSpring'
cymunk\cymunk.c(6618): error C2037: left of 'restLength' specifies undefined struct/union 'cpDampedSpring'
cymunk\cymunk.c(6618): error C2198: 'PyFloat_FromDouble': too few arguments for call
cymunk\cymunk.c(6686): error C2037: left of 'restLength' specifies undefined struct/union 'cpDampedSpring'
cymunk\cymunk.c(6737): error C2037: left of 'stiffness' specifies undefined struct/union 'cpDampedSpring'
cymunk\cymunk.c(6737): error C2198: 'PyFloat_FromDouble': too few arguments for call
cymunk\cymunk.c(6805): error C2037: left of 'stiffness' specifies undefined struct/union 'cpDampedSpring'
cymunk\cymunk.c(6856): error C2037: left of 'damping' specifies undefined struct/union 'cpDampedSpring'
cymunk\cymunk.c(6856): error C2198: 'PyFloat_FromDouble': too few arguments for call
cymunk\cymunk.c(6924): error C2037: left of 'damping' specifies undefined struct/union 'cpDampedSpring'
cymunk\cymunk.c(7237): error C2037: left of 'data' specifies undefined struct/union 'cpConstraint'
cymunk\cymunk.c(7321): error C2037: left of 'restAngle' specifies undefined struct/union 'cpDampedRotarySpring'
cymunk\cymunk.c(7321): error C2198: 'PyFloat_FromDouble': too few arguments for call
cymunk\cymunk.c(7389): error C2037: left of 'restAngle' specifies undefined struct/union 'cpDampedRotarySpring'
cymunk\cymunk.c(7440): error C2037: left of 'stiffness' specifies undefined struct/union 'cpDampedRotarySpring'
cymunk\cymunk.c(7440): error C2198: 'PyFloat_FromDouble': too few arguments for call
cymunk\cymunk.c(7508): error C2037: left of 'stiffness' specifies undefined struct/union 'cpDampedRotarySpring'
cymunk\cymunk.c(7559): error C2037: left of 'damping' specifies undefined struct/union 'cpDampedRotarySpring'
cymunk\cymunk.c(7559): error C2198: 'PyFloat_FromDouble': too few arguments for call
cymunk\cymunk.c(7627): error C2037: left of 'damping' specifies undefined struct/union 'cpDampedRotarySpring'
cymunk\cymunk.c(7929): error C2037: left of 'data' specifies undefined struct/union 'cpConstraint'
cymunk\cymunk.c(8013): error C2037: left of 'min' specifies undefined struct/union 'cpRotaryLimitJoint'
cymunk\cymunk.c(8013): error C2198: 'PyFloat_FromDouble': too few arguments for call
cymunk\cymunk.c(8081): error C2037: left of 'min' specifies undefined struct/union 'cpRotaryLimitJoint'
cymunk\cymunk.c(8132): error C2037: left of 'max' specifies undefined struct/union 'cpRotaryLimitJoint'
cymunk\cymunk.c(8132): error C2198: 'PyFloat_FromDouble': too few arguments for call
cymunk\cymunk.c(8200): error C2037: left of 'max' specifies undefined struct/union 'cpRotaryLimitJoint'
cymunk\cymunk.c(8594): error C2037: left of 'data' specifies undefined struct/union 'cpConstraint'
cymunk\cymunk.c(8678): error C2037: left of 'anchr1' specifies undefined struct/union 'cpSlideJoint'
cymunk\cymunk.c(8678): error C2198: '__pyx_convert__to_py_cpVect': too few arguments for call
cymunk\cymunk.c(8760): error C2037: left of 'anchr1' specifies undefined struct/union 'cpSlideJoint'
cymunk\cymunk.c(8817): error C2037: left of 'anchr2' specifies undefined struct/union 'cpSlideJoint'
cymunk\cymunk.c(8817): error C2198: '__pyx_convert__to_py_cpVect': too few arguments for call
cymunk\cymunk.c(8899): error C2037: left of 'anchr2' specifies undefined struct/union 'cpSlideJoint'
cymunk\cymunk.c(8956): error C2037: left of 'min' specifies undefined struct/union 'cpSlideJoint'
cymunk\cymunk.c(8956): error C2198: 'PyFloat_FromDouble': too few arguments for call
cymunk\cymunk.c(9024): error C2037: left of 'min' specifies undefined struct/union 'cpSlideJoint'
cymunk\cymunk.c(9075): error C2037: left of 'max' specifies undefined struct/union 'cpSlideJoint'
cymunk\cymunk.c(9075): error C2198: 'PyFloat_FromDouble': too few arguments for call
cymunk\cymunk.c(9143): error C2037: left of 'max' specifies undefined struct/union 'cpSlideJoint'
cymunk\cymunk.c(9769): error C2037: left of 'data' specifies undefined struct/union 'cpConstraint'
cymunk\cymunk.c(9854): error C2037: left of 'anchr1' specifies undefined struct/union 'cpPivotJoint'
cymunk\cymunk.c(9854): error C2198: '__pyx_convert__to_py_cpVect': too few arguments for call
cymunk\cymunk.c(9936): error C2037: left of 'anchr1' specifies undefined struct/union 'cpPivotJoint'
cymunk\cymunk.c(9993): error C2037: left of 'anchr2' specifies undefined struct/union 'cpPivotJoint'
cymunk\cymunk.c(9993): error C2198: '__pyx_convert__to_py_cpVect': too few arguments for call
cymunk\cymunk.c(10075): error C2037: left of 'anchr2' specifies undefined struct/union 'cpPivotJoint'
cymunk\cymunk.c(10383): error C2037: left of 'data' specifies undefined struct/union 'cpConstraint'
cymunk\cymunk.c(10467): error C2037: left of 'phase' specifies undefined struct/union 'cpGearJoint'
cymunk\cymunk.c(10467): error C2198: 'PyFloat_FromDouble': too few arguments for call
cymunk\cymunk.c(10535): error C2037: left of 'phase' specifies undefined struct/union 'cpGearJoint'
cymunk\cymunk.c(10586): error C2037: left of 'ratio' specifies undefined struct/union 'cpGearJoint'
cymunk\cymunk.c(10586): error C2198: 'PyFloat_FromDouble': too few arguments for call
cymunk\cymunk.c(10651): error C2037: left of 'ratio' specifies undefined struct/union 'cpGearJoint'
cymunk\cymunk.c(11043): error C2198: 'cpMomentForSegment': too few arguments for call
cymunk\cymunk.c(11307): error C2198: 'cpMomentForPoly': too few arguments for call
cymunk\cymunk.c(11307): fatal error C1003: error count exceeds 100; stopping compilation
error: command 'E:\\Visual Studio 2017 Community\\VC\\Tools\\MSVC\\14.11.25503\\bin\\HostX86\\x64\\cl.exe' failed with exit status 2

Process finished with exit code 1
deeredman1991 commented 5 years ago

I'm having problems getting cymunk to compile too... I have to use msvc because I am running 3.6 this is my console log. I am wanting to install kiv_ent but kiv_ent is also having similar problems... Not sure what to do...


J:\ProgrammingStuff\Python Scripts\cymunk>python -m setup.py build --compiler=msvc
Using distutils
running build
running build_py
creating build\lib.win-amd64-3.6
creating build\lib.win-amd64-3.6\cymunk
copying cymunk\__init__.py -> build\lib.win-amd64-3.6\cymunk
copying cymunk\body.pxd -> build\lib.win-amd64-3.6\cymunk
copying cymunk\constraint.pxd -> build\lib.win-amd64-3.6\cymunk
copying cymunk\core.pxd -> build\lib.win-amd64-3.6\cymunk
copying cymunk\cymunk.pxd -> build\lib.win-amd64-3.6\cymunk
copying cymunk\shape.pxd -> build\lib.win-amd64-3.6\cymunk
copying cymunk\space.pxd -> build\lib.win-amd64-3.6\cymunk
copying cymunk\body.pxi -> build\lib.win-amd64-3.6\cymunk
copying cymunk\constraint.pxi -> build\lib.win-amd64-3.6\cymunk
copying cymunk\core.pxi -> build\lib.win-amd64-3.6\cymunk
copying cymunk\shape.pxi -> build\lib.win-amd64-3.6\cymunk
copying cymunk\space.pxi -> build\lib.win-amd64-3.6\cymunk
creating build\lib.win-amd64-3.6\cymunk\chipmunk
copying cymunk\chipmunk\chipmunk.h -> build\lib.win-amd64-3.6\cymunk\chipmunk
copying cymunk\chipmunk\chipmunk_ffi.h -> build\lib.win-amd64-3.6\cymunk\chipmunk
copying cymunk\chipmunk\chipmunk_private.h -> build\lib.win-amd64-3.6\cymunk\chipmunk
copying cymunk\chipmunk\chipmunk_types.h -> build\lib.win-amd64-3.6\cymunk\chipmunk
copying cymunk\chipmunk\chipmunk_unsafe.h -> build\lib.win-amd64-3.6\cymunk\chipmunk
copying cymunk\chipmunk\cpArbiter.h -> build\lib.win-amd64-3.6\cymunk\chipmunk
copying cymunk\chipmunk\cpBB.h -> build\lib.win-amd64-3.6\cymunk\chipmunk
copying cymunk\chipmunk\cpBody.h -> build\lib.win-amd64-3.6\cymunk\chipmunk
copying cymunk\chipmunk\cpPolyShape.h -> build\lib.win-amd64-3.6\cymunk\chipmunk
copying cymunk\chipmunk\cpShape.h -> build\lib.win-amd64-3.6\cymunk\chipmunk
copying cymunk\chipmunk\cpSpace.h -> build\lib.win-amd64-3.6\cymunk\chipmunk
copying cymunk\chipmunk\cpSpatialIndex.h -> build\lib.win-amd64-3.6\cymunk\chipmunk
copying cymunk\chipmunk\cpVect.h -> build\lib.win-amd64-3.6\cymunk\chipmunk
creating build\lib.win-amd64-3.6\cymunk\chipmunk\constraints
copying cymunk\chipmunk\constraints\cpConstraint.h -> build\lib.win-amd64-3.6\cymunk\chipmunk\constraints
copying cymunk\chipmunk\constraints\cpDampedRotarySpring.h -> build\lib.win-amd64-3.6\cymunk\chipmunk\constraints
copying cymunk\chipmunk\constraints\cpDampedSpring.h -> build\lib.win-amd64-3.6\cymunk\chipmunk\constraints
copying cymunk\chipmunk\constraints\cpGearJoint.h -> build\lib.win-amd64-3.6\cymunk\chipmunk\constraints
copying cymunk\chipmunk\constraints\cpGrooveJoint.h -> build\lib.win-amd64-3.6\cymunk\chipmunk\constraints
copying cymunk\chipmunk\constraints\cpPinJoint.h -> build\lib.win-amd64-3.6\cymunk\chipmunk\constraints
copying cymunk\chipmunk\constraints\cpPivotJoint.h -> build\lib.win-amd64-3.6\cymunk\chipmunk\constraints
copying cymunk\chipmunk\constraints\cpRatchetJoint.h -> build\lib.win-amd64-3.6\cymunk\chipmunk\constraints
copying cymunk\chipmunk\constraints\cpRotaryLimitJoint.h -> build\lib.win-amd64-3.6\cymunk\chipmunk\constraints
copying cymunk\chipmunk\constraints\cpSimpleMotor.h -> build\lib.win-amd64-3.6\cymunk\chipmunk\constraints
copying cymunk\chipmunk\constraints\cpSlideJoint.h -> build\lib.win-amd64-3.6\cymunk\chipmunk\constraints
copying cymunk\chipmunk\constraints\util.h -> build\lib.win-amd64-3.6\cymunk\chipmunk\constraints
running build_ext
building 'cymunk.cymunk' extension
creating build\temp.win-amd64-3.6\Release\ProgrammingStuff
creating build\temp.win-amd64-3.6\Release\ProgrammingStuff\Python Scripts
creating build\temp.win-amd64-3.6\Release\ProgrammingStuff\Python Scripts\cymunk
creating build\temp.win-amd64-3.6\Release\ProgrammingStuff\Python Scripts\cymunk\cymunk
creating build\temp.win-amd64-3.6\Release\ProgrammingStuff\Python Scripts\cymunk\cymunk\Chipmunk-Physics
creating build\temp.win-amd64-3.6\Release\ProgrammingStuff\Python Scripts\cymunk\cymunk\Chipmunk-Physics\src
creating build\temp.win-amd64-3.6\Release\ProgrammingStuff\Python Scripts\cymunk\cymunk\Chipmunk-Physics\src\constraints
C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.15.26726\bin\HostX86\x64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MT "-IJ:\ProgrammingStuff\Python Scripts\cymunk\cymunk\Chipmunk-Physics\include" "-IJ:\ProgrammingStuff\Python Scripts\cymunk\cymunk\Chipmunk-Physics\include\chipmunk" "-IC:\Program Files\Python36\include" "-IC:\Program Files\Python36\include" "-IC:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.15.26726\ATLMFC\include" "-IC:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.15.26726\include" "-IC:\Program Files (x86)\Windows Kits\NETFXSDK\4.6.1\include\um" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.17134.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.17134.0\shared" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.17134.0\um" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.17134.0\winrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.17134.0\cppwinrt" -I%cd%\include -I%cd%\include -I%INCLUDE% /Tccymunk/cymunk.c /Fobuild\temp.win-amd64-3.6\Release\cymunk/cymunk.obj -std=gnu99 -ffast-math -fPIC -DCHIPMUNK_FFI
cl : Command line warning D9002 : ignoring unknown option '-std=gnu99'
cl : Command line warning D9002 : ignoring unknown option '-ffast-math'
cl : Command line warning D9002 : ignoring unknown option '-fPIC'
cymunk.c
j:\programmingstuff\python scripts\cymunk\cymunk\chipmunk/chipmunk.h(36): fatal error C1083: Cannot open include file: 'alloca.h': No such file or directory
error: command 'C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.15.26726\\bin\\HostX86\\x64\\cl.exe' failed with exit status 2
Trother555 commented 5 years ago

I was managed to install cymunk twice on different machines. Here're the errors I faced and the solutions, hope it will help somebody.

  1. TypeError: '>=' not supported between instances of 'NoneType' and 'str'

That happened to me when MinGW bin directory was missing from the PATH. If you don't want it in path permanently, just run in terminal: set PATH=%PATH%;C:/Your/minGW/bin and then run python setup from the same terminal.

  1. python37.lib: error adding symbols: file format not recognized

That was because of I had 32-bit minGW and 64-bit python. I solved it by installing 64-bit mingw from msys2 with the help of this

  1. cannot find -lmsvcr140

Here it is said that the according dll does not exists anymore. I used this to solve that problem (but I put vcruntime140.dll into Anaconda3/libs instead of the mingw's libs, though it's unimportant).

zx013 commented 4 years ago

cannot find -lmsvcr140 I find libmsvcr120.a in mingw64\x86_64-w64-mingw32\lib but can't find libmsvcr140.a,then I copy libmsvcr120.a as libmsvcr140.a. It can compile now, but I don't know what unpredictable effects will be caused.