[GRASS-dev] WinGrass65 + import gui_modules.nviz_tools as nviz_tools: ImportError

hi,

I've self compiled Grass65 (r42439) in the osgeo4w-stack on Vista32.

If i start Grass65 in the osgeo4w-msys-command-line, I get following error message:

syringia@NADA /c/osgeo4w/apps/grass/bin
$ grass65
Cleaning up temporary files ...
Starting GRASS ...
WARNUNG: Attention!
WARNUNG: Locking is not supported on Windows!
__________ ___ __________ _______________
/ ____/ __ \/ | / ___/ ___/ / ____/ _/ ___/
/ / __/ /_/ / /| | \__ \\_ \ / / __ / / \__ \
/ /_/ / _, _/ ___ |___/ /__/ / / /_/ // / ___/ /
\____/_/ |_/_/ |_/____/____/ \____/___//____/

Welcome to GRASS 6.5.svn (2010)
GRASS homepage: http://grass.osgeo.org/
This version running thru: Bourne Shell (/bin/sh)
Help is available with the command: g.manual -i
See the licence terms with: g.version -c
If required, restart the GUI with: g.gui wxpython
When ready to quit enter: exit

GRASS 6.5>
WARNING: Vector digitizer is not available (No module named grass6_wxvdigit).

Note that the vector digitizer is currently not working under MS Windows (hopefully this will be fixed soon). Please keep an eye out for updated versions of GRASS.
Traceback (most recent call last):
File "c:/OSGeo4W/apps/grass/grass-6.5.svn/etc/wxpython/wxgui.py", line 87, in <module>
import gui_modules.nviz_tools as nviz_tools
File "c:\OSGeo4W\apps\grass\grass-6.5.svn\etc\wxpython\gui_modules\nviz_tools.py", line 36, in <module>
from nviz_mapdisp import wxUpdateView as wxUpdateView
File "c:\OSGeo4W\apps\grass\grass-6.5.svn\etc\wxpython\gui_modules\nviz_mapdisp.py", line 41, in <module>
import grass6_wxnviz as wxnviz
ImportError: No module named grass6_wxnviz

best regards
Helmut
___________________________________________________________
NEU: WEB.DE DSL für 19,99 EUR/mtl. und ohne Mindest-Laufzeit!
http://produkte.web.de/go/02/

Hi,

2010/6/2 Helmut Kudrnovsky <hellik@web.de>:

Note that the vector digitizer is currently not working under MS Windows (hopefully this will be fixed soon). Please keep an eye out for updated versions of GRASS.
Traceback (most recent call last):
File "c:/OSGeo4W/apps/grass/grass-6.5.svn/etc/wxpython/wxgui.py", line 87, in <module>
import gui_modules.nviz_tools as nviz_tools
File "c:\OSGeo4W\apps\grass\grass-6.5.svn\etc\wxpython\gui_modules\nviz_tools.py", line 36, in <module>
from nviz_mapdisp import wxUpdateView as wxUpdateView
File "c:\OSGeo4W\apps\grass\grass-6.5.svn\etc\wxpython\gui_modules\nviz_mapdisp.py", line 41, in <module>
import grass6_wxnviz as wxnviz
ImportError: No module named grass6_wxnviz

hopefully fixed in r42449, Martin

--
Martin Landa <landa.martin gmail.com> * http://gama.fsv.cvut.cz/~landa

Hi Martin,

Grass65 is starting now in the osgeo4w-stack, so this should be fixed.

In the menue I can see the tcltk-nviz and the nviz_cmd, but the 3d-display-mode in the wx-map-display doesn't work.

there was a change from swig to ctype, should wxnviz now work on windows?

best regards
Helmut

-----Ursprüngliche Nachricht-----
Von: Martin Landa
Gesendet: 03.06.2010 00:03:58
An: Helmut Kudrnovsky
Betreff: Re: [GRASS-dev] WinGrass65 + import gui_modules.nviz_tools as nviz_tools: ImportError

Hi,

2010/6/2 Helmut Kudrnovsky <hellik@web.de>:

Note that the vector digitizer is currently not working under MS Windows (hopefully this will be fixed soon). Please keep an eye out for updated versions of GRASS.
Traceback (most recent call last):
File "c:/OSGeo4W/apps/grass/grass-6.5.svn/etc/wxpython/wxgui.py", line 87, in <module>
import gui_modules.nviz_tools as nviz_tools
File "c:\OSGeo4W\apps\grass\grass-6.5.svn\etc\wxpython\gui_modules\nviz_tools.py", line 36, in <module>
from nviz_mapdisp import wxUpdateView as wxUpdateView
File "c:\OSGeo4W\apps\grass\grass-6.5.svn\etc\wxpython\gui_modules\nviz_mapdisp.py", line 41, in <module>
import grass6_wxnviz as wxnviz
ImportError: No module named grass6_wxnviz

hopefully fixed in r42449, Martin

--
Martin Landa <landa.martin gmail.com> * http://gama.fsv.cvut.cz/~landa
___________________________________________________________
NEU: WEB.DE DSL für 19,99 EUR/mtl. und ohne Mindest-Laufzeit!
http://produkte.web.de/go/02/

Hi,

2010/6/3 Helmut Kudrnovsky <hellik@web.de>:

Grass65 is starting now in the osgeo4w-stack, so this should be fixed.

In the menue I can see the tcltk-nviz and the nviz_cmd, but the 3d-display-mode in the wx-map-display doesn't work.

there was a change from swig to ctype, should wxnviz now work on windows?

probably yes, I will do some testing in trunk (ctypes are currently
available only in trunk).

Martin

--
Martin Landa <landa.martin gmail.com> * http://gama.fsv.cvut.cz/~landa

Hi

-----Ursprüngliche Nachricht-----
Von: Martin Landa

probably yes, I will do some testing in trunk (ctypes are currently
available only in trunk).

ah ok, I will compile trunk on windows and can test it also.

Helmut
___________________________________________________________
GRATIS für alle WEB.DE Nutzer: Die maxdome Movie-FLAT!
Jetzt freischalten unter http://movieflat.web.de

hi,

----Ursprüngliche Nachricht-----
Von: Martin Landa

probably yes, I will do some testing in trunk (ctypes are currently
available only in trunk).

I've tested it with WinGRASS-7.0.SVN-r42451-1-Setup.exe (nightly build) and the nc-sample-dataset.

the 3d-view-tab is opened in the layer manager, but i get following error message:

Exception in thread Thread-10:
Traceback (most recent call last):
File "C:\OSGeo4W\apps\Python25\lib\threading.py", line
486, in __bootstrap_inner
self.run()
File "c:/osgeo4w/usr/src/grass_trunk/dist.i686-pc-
mingw32/etc/gui/wxpython/gui_modules/nviz_mapdisp.py", line
61, in run
self._display = wxnviz.Nviz(self.log)
File "c:/osgeo4w/usr/src/grass_trunk/dist.i686-pc-
mingw32/etc/gui/wxpython/gui_modules/wxnviz.py", line 43, in
__init__
G_gisinit("")
NameError: global name 'G_gisinit' is not defined
Exception
exceptions
.
AttributeError
:
'data'
in
<bound method Nviz.__del__ of <gui_modules.wxnviz.Nviz
object at 0x048F8C50>>
ignored
Traceback (most recent call last):
File "c:/osgeo4w/usr/src/grass_trunk/dist.i686-pc-
mingw32/etc/gui/wxpython/gui_modules/toolbars.py", line 284,
in OnSelectTool
File "c:/osgeo4w/usr/src/grass_trunk/dist.i686-pc-
mingw32/etc/gui/wxpython/gui_modules/mapdisp.py", line 426,
in AddToolbar
File "c:/osgeo4w/usr/src/grass_trunk/dist.i686-pc-
mingw32/etc/gui/wxpython/gui_modules/nviz_mapdisp.py", line
168, in OnPaint
AttributeError
:
'NoneType' object has no attribute 'InitView'

it seems the path is hard-coded to "c:/osgeo4w/usr/src/grass_trunk/dist.i686-pc-
mingw32" and doesn't reflect the actual installation path "C:\Program Files\GRASS-70-SVN".

best regards
Helmut
___________________________________________________________
NEU: WEB.DE DSL für 19,99 EUR/mtl. und ohne Mindest-Laufzeit!
http://produkte.web.de/go/02/

Helmut Kudrnovsky wrote:

hi,

>----Ursprüngliche Nachricht-----
>Von: Martin Landa
>
>probably yes, I will do some testing in trunk (ctypes are currently
>available only in trunk).

I've tested it with WinGRASS-7.0.SVN-r42451-1-Setup.exe (nightly build) and the nc-sample-dataset.

the 3d-view-tab is opened in the layer manager, but i get following error message:

File "c:/osgeo4w/usr/src/grass_trunk/dist.i686-pc-
mingw32/etc/gui/wxpython/gui_modules/wxnviz.py", line 43, in
__init__
G_gisinit("")
NameError: global name 'G_gisinit' is not defined

This implies that the grass.lib.grass module wasn't built correctly.

it seems the path is hard-coded to "c:/osgeo4w/usr/src/grass_trunk/dist.i686-pc-
mingw32" and doesn't reflect the actual installation path "C:\Program Files\GRASS-70-SVN".

This looks like a packaging issue. The rules in Install.make should
handle this:

ifneq ($(strip $(MINGW)),)
  -sed -e 's#'@GISBASE@'#'$(INST_DIR)'#g' \
       -e 's#'@LD_LIBRARY_PATH_VAR@'#'$(LD_LIBRARY_PATH_VAR)'#g' \
       -e 's#'@CONFIG_PROJSHARE@'#'$(PROJSHARE)'#g' \
       $(ARCH_DISTDIR)/$(GRASS_NAME).tmp > $(UNIX_BIN)/$(GRASS_NAME).py
  -chmod a+x $(UNIX_BIN)/$(GRASS_NAME).py

--
Glynn Clements <glynn@gclements.plus.com>

-----Ursprüngliche Nachricht-----
Von: Glynn Clements
Betreff: Re: [GRASS-dev] WinGrass65 + import gui_modules.nviz_tools as nviz_tools: ImportError
[...]

This looks like a packaging issue.

maybe any hints where (which files) to look for this path-issues in order to fix this in the nsis-installer?

best regards
Helmut
___________________________________________________________
NEU: WEB.DE DSL für 19,99 EUR/mtl. und ohne Mindest-Laufzeit!
http://produkte.web.de/go/02/

Helmut Kudrnovsky wrote:

>This looks like a packaging issue.

maybe any hints where (which files) to look for this path-issues in
order to fix this in the nsis-installer?

The source file is lib/init/grass.py. This is installed to
bin.<arch>/grass70 (grass70.py on Windows) with some substitutions. It
is also installed to dist.<arch>/grass70.tmp, with most of the
substitutions but with @GISBASE@ left as-is.

Install.make installs dist.<arch>/grass70.tmp to $(UNIX_BIN), with
@GISBASE@ substituted by the actual install directory.

I note the following in mswindows/GRASS-Installer.nsi:

    ;replace gisbase = "/c/OSGeo4W/apps/grass/grass-7.0.svn" in grass70.py with $INSTDIR
   Push "$INSTDIR\grass70.py" ; file to modify
   Push 'gisbase = "/c/OSGeo4W/apps/grass/grass-7.0.svn"' ; string that a line must begin with *WS Sensitive*
   Push 'gisbase = "$INSTDIR"' ; string to replace whole line with
  Call ReplaceLineStr

--
Glynn Clements <glynn@gclements.plus.com>

-----Ursprüngliche Nachricht-----
Von: Glynn Clements

Betreff: Re: [GRASS-dev] WinGrass65 + import gui_modules.nviz_tools as nviz_tools: ImportError

Helmut Kudrnovsky wrote:

hi,

>
>>----Ursprüngliche Nachricht-----
>V>on: Martin Landa
>
>>probably yes, I will do some testing in trunk (ctypes are currently
>>available only in trunk).
>
>I've tested it with WinGRASS-7.0.SVN-r42451-1-Setup.exe (nightly build) and the nc-sample-dataset.
>
>the 3d-view-tab is opened in the layer manager, but i get following error message:

File "c:/osgeo4w/usr/src/grass_trunk/dist.i686-pc-

>mingw32/etc/gui/wxpython/gui_modules/wxnviz.py", line 43, in
>__init__
>G_gisinit("")

NameError: global name 'G_gisinit' is not defined

This implies that the grass.lib.grass module wasn't built correctly.

I've build the WinGrass7-installer (r42482) for myself (WinVista32).

WinGrass7 is starting and working (beside the wxnviz), in the windows-command-console I get following:

"Cleaning up temporary files...
Starting GRASS GIS...
WARNUNG: Attention!
WARNUNG: Locking is not supported on Windows!

__________ ___ __________ _______________
/ ____/ __ \/ | / ___/ ___/ / ____/ _/ ___/
/ / __/ /_/ / /| | \__ \\_ \ / / __ / / \__ \
/ /_/ / _, _/ ___ |___/ /__/ / / /_/ // / ___/ /
\____/_/ |_/_/ |_/____/____/ \____/___//____/

Welcome to GRASS 7.0.svn (2010)

GRASS homepage: http://grass.osgeo.org
This version running through: shell (C:\Program Files\GRASS-70-SVN\msys\bin\sh.exe)
Help is available with the command: g.manual -i
See the licence terms with: g.version -c
If required, restart the GUI with: g.gui wxpython
When ready to quit enter: exit

GRASS 7.0.svn>
WARNING: Vector digitizer is not available (No module named grass7_wxvdigit).

Note that the vector digitizer is currently not working under MS Windows (hopefully this will be fixed soon). Please keep an eye out for updated versions of GRASS.

WARNING: Nviz extension (3D view mode) disabled. Reason: grass_datetime not found.

GRASS 7.0.svn>"

So the 3d-view-mode seems to be disabled, because grass_datetime isn't found.

The compilation log says, there are no errors:

"GRASS GIS compilation log
-------------------------
Started compilation: Fri Jun 4 16:31:13 GMT 2010
--
Errors in:
No errors detected.
--
Finished compilation: Fri Jun 4 17:36:14 GMT 2010"

best regards
Helmut
___________________________________________________________
NEU: WEB.DE DSL für 19,99 EUR/mtl. und ohne Mindest-Laufzeit!
http://produkte.web.de/go/02/

Helmut Kudrnovsky wrote:

WARNING: Nviz extension (3D view mode) disabled. Reason: grass_datetime not found.

Does PATH include the %WINGISBASE%\lib directory? And does
libgrass_datetime.dll exist in that directory?

--
Glynn Clements <glynn@gclements.plus.com>

-----Ursprüngliche Nachricht-----
Von: Glynn Clements
Gesendet: 05.06.2010 07:34:47
An: Helmut Kudrnovsky
Betreff: Re: [GRASS-dev] WinGrass65 + import gui_modules.nviz_tools as nviz_tools: ImportError

Helmut Kudrnovsky wrote:

WARNING: Nviz extension (3D view mode) disabled. Reason: grass_datetime not found.

Does PATH include the %WINGISBASE%\lib directory? And does
libgrass_datetime.dll exist in that directory?

I'm using script package.sh
(http://trac.osgeo.org/grass/browser/grass/trunk/mswindows/osgeo4w/package.sh)
- which also uses the nightly build - for building WinGrass7 in the osgeo4w-stack.

after compiling there are in C:\OSGeo4W\usr\src\grass_trunk\dist.i686-pc-mingw32\lib
all libgrass*.dlls, fmode.o and libgrass_iostream.a.

package.sh also does "make install", but after that in the installfolder
C:\OSGeo4W\apps\grass\grass-7.0.svn\lib
there is only fmode.o and libgrass_iostream.a,
but there isn't any libgrass*.dll.

the nightly Wingrass7-installer is build on top of C:\OSGeo4W\apps\grass\grass-7.0.svn\
and therefore there aren't also any libgrass*.dlls.

any hints?

best regards
Helmut
___________________________________________________________
NEU: WEB.DE DSL für 19,99 EUR/mtl. und ohne Mindest-Laufzeit!
http://produkte.web.de/go/02/

-----Ursprüngliche Nachricht-----
Von: Helmut Kudrnovsky
Gesendet: 05.06.2010 09:32:33
An: Glynn Clements
Betreff: Re: [GRASS-dev] WinGrass65 + import gui_modules.nviz_tools as nviz_tools: ImportError

-----Ursprüngliche Nachricht-----
Von: Glynn Clements
Gesendet: 05.06.2010 07:34:47
An: Helmut Kudrnovsky
Betreff: Re: [GRASS-dev] WinGrass65 + import gui_modules.nviz_tools as nviz_tools: ImportError

Helmut Kudrnovsky wrote:

>WARNING: Nviz extension (3D view mode) disabled. Reason: grass_datetime not found.

Does PATH include the %WINGISBASE%\lib directory? And does
libgrass_datetime.dll exist in that directory?

I'm using script package.sh
(http://trac.osgeo.org/grass/browser/grass/trunk/mswindows/osgeo4w/package.sh)
- which also uses the nightly build - for building WinGrass7 in the osgeo4w-stack.

after compiling there are in C:\OSGeo4W\usr\src\grass_trunk\dist.i686-pc-mingw32\lib
all libgrass*.dlls, fmode.o and libgrass_iostream.a.

package.sh also does "make install", but after that in the installfolder
C:\OSGeo4W\apps\grass\grass-7.0.svn\lib
there is only fmode.o and libgrass_iostream.a,
but there isn't any libgrass*.dll.

the nightly Wingrass7-installer is build on top of C:\OSGeo4W\apps\grass\grass-7.0.svn\
and therefore there aren't also any libgrass*.dlls.

after copying manually for testing all the libgrass*.dlls in C:\Program Files\GRASS-70-SVN\lib
there is following message:

"WARNING: Nviz extension (3D view mode) disabled. Reason: intl not found."

Helmut
___________________________________________________________
NEU: WEB.DE DSL für 19,99 EUR/mtl. und ohne Mindest-Laufzeit!
http://produkte.web.de/go/02/

Hi,

2010/6/5 Helmut Kudrnovsky <hellik@web.de>:

I'm using script package.sh
(http://trac.osgeo.org/grass/browser/grass/trunk/mswindows/osgeo4w/package.sh)
- which also uses the nightly build - for building WinGrass7 in the osgeo4w-stack.

after compiling there are in C:\OSGeo4W\usr\src\grass_trunk\dist.i686-pc-mingw32\lib
all libgrass*.dlls, fmode.o and libgrass_iostream.a.

package.sh also does "make install", but after that in the installfolder
C:\OSGeo4W\apps\grass\grass-7.0.svn\lib
there is only fmode.o and libgrass_iostream.a,
but there isn't any libgrass*.dll.

the nightly Wingrass7-installer is build on top of C:\OSGeo4W\apps\grass\grass-7.0.svn\
and therefore there aren't also any libgrass*.dlls.

GRASS-Packager.bat should move grasslibs from `extralib` to `lib` and
remove version from their names.

Martin

--
Martin Landa <landa.martin gmail.com> * http://gama.fsv.cvut.cz/~landa

-----Ursprüngliche Nachricht-----
Von: Martin Landa <landa.martin@gmail.com>
Gesendet: 05.06.2010 10:36:42
An: Helmut Kudrnovsky <hellik@web.de>
Betreff: Re: [GRASS-dev] WinGrass65 + import gui_modules.nviz_tools as nviz_tools: ImportError

Hi,

2010/6/5 Helmut Kudrnovsky <hellik@web.de>:

I'm using script package.sh
(http://trac.osgeo.org/grass/browser/grass/trunk/mswindows/osgeo4w/package.sh)
- which also uses the nightly build - for building WinGrass7 in the osgeo4w-stack.

after compiling there are in C:\OSGeo4W\usr\src\grass_trunk\dist.i686-pc-mingw32\lib
all libgrass*.dlls, fmode.o and libgrass_iostream.a.

package.sh also does "make install", but after that in the installfolder
C:\OSGeo4W\apps\grass\grass-7.0.svn\lib
there is only fmode.o and libgrass_iostream.a,
but there isn't any libgrass*.dll.

the nightly Wingrass7-installer is build on top of C:\OSGeo4W\apps\grass\grass-7.0.svn\
and therefore there aren't also any libgrass*.dlls.

GRASS-Packager.bat should move grasslibs from `extralib` to `lib` and
remove version from their names.

Martin

ah ok, now I understand.

I see that in C:\OSGeo4W\usr\src\grass_trunk\dist.i686-pc-mingw32\lib there are already built grasslibs with and without version.

so maybe we can reuse this grasslibs without version?

or should we move grasslibs from "extralib" to "lib" and rename them without version.

Helmut
___________________________________________________________
GRATIS für alle WEB.DE Nutzer: Die maxdome Movie-FLAT!
Jetzt freischalten unter http://movieflat.web.de

-----Ursprüngliche Nachricht-----
Von: Martin Landa
Gesendet: 05.06.2010 10:36:42
An: Helmut Kudrnovsky
Betreff: Re: [GRASS-dev] WinGrass65 + import gui_modules.nviz_tools as nviz_tools: ImportError

Hi,

2010/6/5 Helmut Kudrnovsky <hellik@web.de>:

I'm using script package.sh
(http://trac.osgeo.org/grass/browser/grass/trunk/mswindows/osgeo4w/package.sh)
- which also uses the nightly build - for building WinGrass7 in the osgeo4w-stack.

after compiling there are in C:\OSGeo4W\usr\src\grass_trunk\dist.i686-pc-mingw32\lib
all libgrass*.dlls, fmode.o and libgrass_iostream.a.

package.sh also does "make install", but after that in the installfolder
C:\OSGeo4W\apps\grass\grass-7.0.svn\lib
there is only fmode.o and libgrass_iostream.a,
but there isn't any libgrass*.dll.

the nightly Wingrass7-installer is build on top of C:\OSGeo4W\apps\grass\grass-7.0.svn\
and therefore there aren't also any libgrass*.dlls.

GRASS-Packager.bat should move grasslibs from `extralib` to `lib` and
remove version from their names.

done in trunk (r42490).

should this also go in Grass64 and Grass65?

Helmut
___________________________________________________________
GRATIS für alle WEB.DE Nutzer: Die maxdome Movie-FLAT!
Jetzt freischalten unter http://movieflat.web.de

>GRASS-Packager.bat should move grasslibs from `extralib` to `lib` and
>remove version from their names.

done in trunk (r42490).

should this also go in Grass64 and Grass65?

I haven't been paying too much attention, but it would seem to me that if
you are moving libraries out of the private $GISBASE tree and into the
public osgeo4w lib dir, removing the versioning from the files is the last
thing you'd want to do.

regards,
Hamish

Hi,

2010/6/5 Hamish <hamish_b@yahoo.com>:

I haven't been paying too much attention, but it would seem to me that if
you are moving libraries out of the private $GISBASE tree and into the
public osgeo4w lib dir, removing the versioning from the files is the last
thing you'd want to do.

Helmut is trying to do the opposite thing. He is moving grass libs
from public osgeo4w lib dir into the private $GISBASE tree. It's quite
reasonable approach for WinGRASS installer.

Martin

--
Martin Landa <landa.martin gmail.com> * http://gama.fsv.cvut.cz/~landa

Hi,

-----Ursprüngliche Nachricht-----
Von: Martin Landa
Gesendet: 05.06.2010 23:58:48
An: Hamish
Betreff: Re: [GRASS-dev] WinGrass65 + import gui_modules.nviz_tools as nviz_tools: ImportError

Hi,

2010/6/5 Hamish

I haven't been paying too much attention, but it would seem to me that if
you are moving libraries out of the private $GISBASE tree and into the
public osgeo4w lib dir, removing the versioning from the files is the last
thing you'd want to do.

Helmut is trying to do the opposite thing. He is moving grass libs
from public osgeo4w lib dir into the private $GISBASE tree. It's quite
reasonable approach for WinGRASS installer.

I will revert r42490, because WinGrass7 (from the WinGrass-installer) seems to need versioned libgrass_*.7.0.svn.dll in C:\Program Files\GRASS-70-SVN\extralib for starting and unversioned libgrass_*.dll C:\Program Files\GRASS-70-SVN\lib for wxnviz. with r42490 WinGrass7 isn't starting, with reverted r42490 WinGrass7 is starting but wxnviz (3D view mode) isn't working.

I will open a ticket because a duplication of files should be avoided.

BTW with versioned and unversioned libgrass, wxnviz (3D view mode) is disabled:

"WARNING: Nviz extension (3D view mode) disabled. Reason: intl not found."

Helmut
___________________________________________________________
NEU: WEB.DE DSL für 19,99 EUR/mtl. und ohne Mindest-Laufzeit!
http://produkte.web.de/go/02/

Helmut Kudrnovsky wrote:

>> I haven't been paying too much attention, but it would seem to me that if
>> you are moving libraries out of the private $GISBASE tree and into the
>> public osgeo4w lib dir, removing the versioning from the files is the last
>> thing you'd want to do.
>
>Helmut is trying to do the opposite thing. He is moving grass libs
>from public osgeo4w lib dir into the private $GISBASE tree. It's quite
>reasonable approach for WinGRASS installer.

I will revert r42490, because WinGrass7 (from the WinGrass-installer)
seems to need versioned libgrass_*.7.0.svn.dll in C:\Program
Files\GRASS-70-SVN\extralib for starting and unversioned
libgrass_*.dll C:\Program Files\GRASS-70-SVN\lib for wxnviz. with
r42490 WinGrass7 isn't starting, with reverted r42490 WinGrass7 is
starting but wxnviz (3D view mode) isn't working.

Should the ctypes wrappers be changed to use the versioned library
name?

I will open a ticket because a duplication of files should be avoided.

The unversioned names are supposed to be symlinks. Windows doesn't
have symlinks, so MinGW's "ln" just copies the file.

When binaries (execuables and shared libraries) are linked against a
shared library, the unversioned name is used in the linking command
(e.g. -lgrass_gis).

However: on Windows, the name used to create the DLL (e.g.
libgrass_gis.7.0.svn.dll) is stored in the DLL, and this is preserved
when the file is copied. When linking against a DLL, the name which is
stored in the target (library or executable) is the name stored in the
library, not the name of the file. So linking with -lgrass_gis links
against libgrass_gis.dll, but the resulting executable or library
depends upon libgrass_gis.7.0.svn.dll.

On Linux, this behaviour only occurs if the library was built with the
-soname linker switch, which isn't the case for GRASS (it is the case
for most system libraries, though).

"WARNING: Nviz extension (3D view mode) disabled. Reason: intl not found."

It's odd that this only occurs when loading libraries dynamically via
Python.

libintl is required by all GRASS modules; not only is it used directly
by G_gettext(), but <libintl.h> (which is included from
<grass/glocale.h>) defines printf() etc as macros which refer to
libintl_printf() etc.

--
Glynn Clements <glynn@gclements.plus.com>