mansrz / pymt

Automatically exported from code.google.com/p/pymt
0 stars 0 forks source link

PyMT 0.5.1 - cython generated files missing windows header include #341

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?
1. Grab PyMT 0.5.1 and recommended dependencies onto XP SP3 with Python 2.6.6
2. Install dependencies, Visual C++ 2008 and then run setup.py install PyMT

What is the expected output? What do you see instead?

Observe error originating from c extensions generated by cython: "error C2054: 
expected '(' to follow 'WINGDIAPI' "

What version of the product are you using? On what operating system?

Please provide any additional information below.

This happens because the generated files c_graphics.c and c_graphx.c must 
include <windows.h> before including <GL/gl.h>. I confirmed this and by manualy 
adding this include statement, PyMT proceeded with installation on XP 32-bit 
with SP3.

Original issue reported on code.google.com by kamaldee...@gmail.com on 7 Oct 2010 at 5:02

GoogleCodeExporter commented 9 years ago
Mmmh, PyMT cannot be compiled with VSC2008, try:

python setup.py build_ext --inplace --compiler=mingw32
or
pymt.bat setup.py build_ext --inplace --compiler=mingw32

Mingw32 is already included in the package

Original comment by txprog on 7 Oct 2010 at 6:50

GoogleCodeExporter commented 9 years ago
C:\Documents and Settings\Administrator\Downloads\PyMTSource\PyMT-0.5.1>python s
etup.py build_ext --inplace --compiler=mingw32
[INFO              ] PyMT v0.5.1
running build_ext
building 'pymt.c_ext._transformations' extension
creating build\temp.win32-2.6
creating build\temp.win32-2.6\Release
creating build\temp.win32-2.6\Release\pymt
creating build\temp.win32-2.6\Release\pymt\c_ext
gcc -mno-cygwin -mdll -O -Wall -Ic:\Python26\Lib\site-packages\numpy\core\includ
e -Ic:\Python26\include -Ic:\Python26\PC -c pymt/c_ext/transformations.c -o buil
d\temp.win32-2.6\Release\pymt\c_ext\transformations.o
error: command 'gcc' failed: No such file or directory

Am i missing something?

Original comment by kamaldee...@gmail.com on 7 Oct 2010 at 7:47

GoogleCodeExporter commented 9 years ago
If your using your python, you should also setup the env as expected.
You can check how it's done in pymt.bat, and adapt for you.

Our windows package is made for "portable" installation, and don't require 
external python/mingw etc... all is already compiled and included.

If you want to do it yourself, you should correctly setup every elements (gst, 
cython etc...) to make it work.

Original comment by txprog on 7 Oct 2010 at 8:10

GoogleCodeExporter commented 9 years ago
So if I wanted to write my own thing, how reliable is it to base it on the 
python exe in the portable directory?
In the sense, all my modules need to be picked from this location and not my 
system installed python lib location..right?
How do I ensure my PYTHONPATH does not clash etc? Since it was getting too 
complicated, I decided to install from source.

Another issue I have seen is the Error 1280 'invalid enumerant' coming from 
OpenGL call in texture.py. Is this related to the PyOpenGL version? These two 
prompted me to try installing from source. Some tips to configure for 
development would be helpful.

Original comment by kamaldee...@gmail.com on 7 Oct 2010 at 8:26

GoogleCodeExporter commented 9 years ago
We definitivly need a page about configuring a system wide environment.
AT least for the compilation trouble, add MinGW\bin in your PATH + execute with 
python setup.py build_ext --inplace --compiler=mingw32
This shoudl resolve this issue.

For invalid enumerant... you should post another issue or show the backtrace. 
But ensure you've opengl driver 2.0 minimum.

Original comment by txprog on 7 Oct 2010 at 8:38

GoogleCodeExporter commented 9 years ago
Thanks, will do that.

Original comment by kamaldee...@gmail.com on 7 Oct 2010 at 9:17

GoogleCodeExporter commented 9 years ago
How do I ensure I have opengl 2.0 driver minumum? I've been reading that 
windows has locked opengl versions to 1.1 since ages. My opengl32.dll has a 
version 1.1.0, so when I run an example pymt app after install, it says "using 
opengl 1.1.0 at startup.

Planning to open a new issue for the invalid enumerant problem, but want to 
make sure I have the required driver installed first. I have an Nvidia Quadro 
FX 3400 card in the system and an nvidia driver that supports OpenGL 3.1, 
although pymt/ui/window/__init__.py imports openGL which seems to pick up the 
native openGL32.dll.

Original comment by kamaldee...@gmail.com on 8 Oct 2010 at 5:44

GoogleCodeExporter commented 9 years ago
Yes, default windows drivers are opengl 1.1. If you install the driver from 
nvidia, you'll have latest. Try to reinstall ?

Original comment by txprog on 8 Oct 2010 at 7:26

GoogleCodeExporter commented 9 years ago
Re-installing, restarting, then recompiling pymt and debugging the app gives me 
the GLError, so I'll open an issue. Thanks

Original comment by kamaldee...@gmail.com on 8 Oct 2010 at 7:30