Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

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

Open
Berserker66 opened this issue Oct 20, 2017 · 6 comments
Open

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

Berserker66 opened this issue Oct 20, 2017 · 6 comments

Comments

@Berserker66
Copy link

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
Copy link
Author

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
Copy link
Author

Berserker66 commented Oct 21, 2017

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
Copy link
Author

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
Copy link

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
Copy link

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).

tim-win added a commit to tim-win/kivent that referenced this issue Oct 14, 2019
Currently Cymunk doesnt install in windows/python3.5+ environments, which
is a dealbreaker for KivEnt/modules/cymunk working in modern envionments.

Remove testing of cymunk until cymunk is fixed

(see kivy/cymunk#52)
@zx013
Copy link

zx013 commented Oct 23, 2019

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.

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

No branches or pull requests

4 participants