sciapp / gr

GR framework: a graphics library for visualisation applications
Other
329 stars 55 forks source link

compiling under windows 32/64 with mingw64-static ? #4

Closed stonebig closed 9 years ago

stonebig commented 9 years ago

Hi,

I would like to install (compile) gr with the mingw64 static compiler from Carl Kleffner (carlkl) (https://bitbucket.org/carlkl/mingw-w64-for-python/downloads)

Do you think it is possible ? (I'm not expert at all in compiling outside of %cython, so I have no clue)

jheinen commented 9 years ago

This should be no problem. I'm currently out of office and will check that next week.

jheinen commented 9 years ago

FYI: I started creating makefiles for the MinGW compiler - GKS already working fine.I ask for patience ...

stonebig commented 9 years ago

no problem.

stonebig commented 9 years ago

I drop the request (with a success), as gr is now available via Christoph Gohlke.

http://www.lfd.uci.edu/~gohlke/pythonlibs/#gr

stonebig commented 9 years ago

on my PC (i3-350), I have the following speed-up for http://gr-framework.org/examples/anim.html

fps (mpl): 12 fps (GR): 122 speedup: 10.2

stonebig commented 9 years ago

next try is not promising: http://gr-framework.org/examples/double_pendulum3.html

Traceback (most recent call last):
  File "D:\WinPython\basedir34\buildFlavorRfull\winpython-3.4.3.amd64\settings\.spyder2-py3\temp.py", line 87, in <module>
    double_pendulum([t1, t2], [l1, l2], [m1, m2])
  File "D:\WinPython\basedir34\buildFlavorRfull\winpython-3.4.3.amd64\settings\.spyder2-py3\temp.py", line 57, in double_pendulum
    gr3.drawimage(0, 1, 0, 1, 500, 500, gr3.GR3_Drawable.GR3_DRAWABLE_GKS)
  File "D:\WinPython\basedir34\buildFlavorRfull\winpython-3.4.3.amd64\python-3.4.3.amd64\lib\site-packages\gr3\__init__.py", line 195, in drawimage
    c_int(pixel_width), c_int(pixel_height), c_int(window))
OSError: exception: access violation writing 0x0000000000000000
stonebig commented 9 years ago

example is not valid python 3 syntax http://gr-framework.org/examples/figanim.html

stonebig commented 9 years ago

http://gr-framework.org/examples/pyqt4_ex.html gives gr_qt4_bug

jheinen commented 9 years ago

Q: next try is not promising: http://gr-framework.org/examples/double_pendulum3.html A: I will check this.

Q: example is not valid python 3 syntax: http://gr-framework.org/examples/figanim.html A: Has just been fixed in the master branch.

Q: http://gr-framework.org/examples/pyqt4_ex.html gives error ... A: The GR bdist was not built with Qt. Possible reason: missing Qt SDK or QTDIR specification.

jheinen commented 9 years ago

For the impatient user - here you can download a portable Windows GR application (including Python 2.7, Qt 4.8.5, wxWidgets 2.9.4, GhostScript 9.06):

http://pgi-jcns.fz-juelich.de/pub/Downloads/gr-0.10.0-win32.zip

You simply have to change the path in gr/gr.bat, e.g.

set GRDIR=C:\gr
stonebig commented 9 years ago

apparently qtplugin.dll is not shipped with Gohlke's http://www.lfd.uci.edu/~gohlke/pythonlibs/#pyqt4 I don't guess how it should comes down to my installation

stonebig commented 9 years ago

figanim ok now on Python3.4 windows... printing dots

.................................................fps (mpl):    4
.................................................fps  (GR):  826
  speedup:  206.5
stonebig commented 9 years ago

http://gr-framework.org/examples/pendulum.html

is creating the image but also this output on spyder internal console (not sure if it is to expect, suspect a python3+windows compatibility issue):

    self.shell.write_error(self.get_stderr())
  File "D:\WinPython\basedir34\build\winpython-3.4.3.amd64\python-3.4.3.amd64\lib\site-packages\spyderlib\widgets\shell.py", line 557, in write_error
    self.flush()
  File "D:\WinPython\basedir34\build\winpython-3.4.3.amd64\python-3.4.3.amd64\lib\site-packages\spyderlib\widgets\shell.py", line 581, in flush
    text = "".join(self.__buffer)
TypeError: sequence item 0: expected str instance, bytes found
Traceback (most recent call last):
  File "D:\WinPython\basedir34\build\winpython-3.4.3.amd64\python-3.4.3.amd64\lib\site-packages\spyderlib\widgets\externalshell\pythonshell.py", line 551, in finished
    ExternalShellBase.finished(self, exit_code, exit_status)
  File "D:\WinPython\basedir34\build\winpython-3.4.3.amd64\python-3.4.3.amd64\lib\site-packages\spyderlib\widgets\externalshell\baseshell.py", line 254, in finished
    self.shell.flush()
  File "D:\WinPython\basedir34\build\winpython-3.4.3.amd64\python-3.4.3.amd64\lib\site-packages\spyderlib\widgets\shell.py", line 581, in flush
    text = "".join(self.__buffer)
TypeError: sequence item 0: expected str instance, bytes found
stonebig commented 9 years ago

my system doesn't understand the exec input line in http://gr-framework.org/examples/qtgrdemo.html

    @QtCore.pyqtSlot()
    def _shellEx(self):
        input = str(self._shell.text())
        exec input
        self._shell.clear()
        self._gr.update()
`  File "D:\WinPython\basedir34\build\winpython-3.4.3.amd64\settings\.spyder2-py3\temp.py", line 224
    exec input
             ^
SyntaxError: Missing parentheses in call to 'exec'
stonebig commented 9 years ago

this example fails http://gr-framework.org/examples/textonaxes.html (suspect a python 3.4 enforced rule issue)

Traceback (most recent call last):
  File "D:\WinPython\basedir34\build\winpython-3.4.3.amd64\settings\.spyder2-py3\temp.py", line 26, in <module>
    axes = PlotAxes(plt.viewport).addCurves(curve)
  File "D:\WinPython\basedir34\build\winpython-3.4.3.amd64\python-3.4.3.amd64\lib\site-packages\gr\pygr\__init__.py", line 1206, in __init__
    self.majorx, self.majory = majorx, majory
  File "D:\WinPython\basedir34\build\winpython-3.4.3.amd64\python-3.4.3.amd64\lib\site-packages\gr\pygr\__init__.py", line 1262, in majorx
    self._majorx = minorCount if minorCount > 0 or minorCount is None else 1
TypeError: unorderable types: NoneType() > int()
stonebig commented 9 years ago

there are wheels for "gr" from Christoph Gohlke, so the original issue is droped. I'll open separate issues for the other remarks, after redoing tests.

stonebig commented 9 years ago

textonaxes now works for python3.4