[GRASS-dev] how to start wx vdigit?
Martin Landa
landa.martin at gmail.com
Sun Mar 9 15:43:01 EDT 2008
Hi,
2008/3/9, William Kyngesburye <woklist at kyngchaos.com>:
> I wanted to start with an empty vector map, so I tried to create one
> from the GUI. Error in console:
>
> Traceback (most recent call last):
> File "/Applications/GRASS-6.3.app/Contents/MacOS/etc/wxpython/
> wxgui.py", line 433, in OnMenuCmd
> menuform.GUI().ParseCommand(cmd, parentframe=self)
> File "/Applications/GRASS-6.3.app/Contents/MacOS/etc/wxpython/
> gui_modules/menuform.py", line 1390, in ParseCommand
> get_dcmd=get_dcmd, layer=layer)
> File "/Applications/GRASS-6.3.app/Contents/MacOS/etc/wxpython/
> gui_modules/menuform.py", line 608, in __init__
> mainFrame=self)
> File "/Applications/GRASS-6.3.app/Contents/MacOS/etc/wxpython/
> gui_modules/menuform.py", line 1050, in __init__
> txt3.SetValue(p['value']) # parameter previously set
> File "/BinaryCache/wxWidgets/wxWidgets-11~57/Root/System/Library/
> Frameworks/Python.framework/Versions/2.5/Extras/lib/python/wx-2.8-mac-
> unicode/wx/_controls.py", line 2249, in SetValue
> TypeError: in method 'SpinCtrl_SetValue', expected argument 2 of type
> 'int'
Now fixed in trunk, http://trac.osgeo.org/grass/changeset/30510
> Now, added to the GUI display list, right-click (yes, the toolbar
> combo box is not there), start editing, and I get a dialog:
>
> "
> Unable to initialize display driver, see README file for more info.
>
> Details: 'NoneType' object has no attribute 'OpenMap' (dynamic module
> does not define init function (init_grass6_wxvdigit))
> "
important is the last part of the message which comes when you try to
import grass6_wxvdigit Python module .
Try:
cd gui/wxpython/vdigit
python
import grass6_wxvdigit
you will get this error
> It looks like the vdigit toolbar appears, and stays up, but the
> display list contextual menu still says "start editing" (stop is
> disabled), so it's probably not fully initialized, as the error says.
The problem is loading python module itself.
> I'm not sure if this is from the way I setup my test build or
> something else.
>
> Here is what I did to get it compiled: since _gdi_.so is technically
> an extension to [wx]Python, I figure that it should get loaded (maybe
> automatically?) by wxPython. So instead of directly linking it into
> vdigit, I used an OSX linker flag "-undefined dynamic_lookup" to tell
> the linker that the gdi.so symbols will be found at runtime.
Hm, the last days I have not so much time to work on this, the way you
suggest maybe could solve it.
> But, I'm not sure it gdi is guaranteed to be loaded. Maybe it needs
> something in the vdigit code to trigger loading the extension,
> equivalent to import in Python code? Or maybe import it in
> grass6_wxvdigit.py, before importing _grass6_wxvdigit.so?
Martin
--
Martin Landa <landa.martin gmail.com> * http://gama.fsv.cvut.cz/~landa *
More information about the grass-dev
mailing list