[GRASS-dev] wxnviz broken in 6.5 on Linux 64bit

Message:

3D view mode not available
Reason: /lib/libz.so.1.2.3: wrong ELF class: ELFCLASS32
Note that the wxGUI's 3D view mode is currently disabled on
MS Windows (hopefully this will be fixed soon). Please keep
an eye out for updated versions of GRASS. In the meantime
you can use "NVIZ" from the File menu.

Problem is ctypes, the Makefiles have been backported from trunk
without adapting to the build system in 6.5.

in 6.5, lib/python/ctypes/nviz.py imports 34 libs:

# Begin libraries

_libs["grass_nviz"] = load_library("grass_nviz")
_libs["grass_bitmap"] = load_library("grass_bitmap")
_libs["grass_linkm"] = load_library("grass_linkm")
_libs["grass_g3d"] = load_library("grass_g3d")
_libs["grass_gis"] = load_library("grass_gis")
_libs["grass_datetime"] = load_library("grass_datetime")
_libs["z"] = load_library("z")
_libs["grass_gis"] = load_library("grass_gis")
_libs["grass_datetime"] = load_library("grass_datetime")
_libs["z"] = load_library("z")
_libs["grass_vect"] = load_library("grass_vect")
_libs["grass_dbmibase"] = load_library("grass_dbmibase")
_libs["grass_gis"] = load_library("grass_gis")
_libs["grass_datetime"] = load_library("grass_datetime")
_libs["z"] = load_library("z")
_libs["grass_dbmiclient"] = load_library("grass_dbmiclient")
_libs["grass_dbmibase"] = load_library("grass_dbmibase")
_libs["grass_gis"] = load_library("grass_gis")
_libs["grass_datetime"] = load_library("grass_datetime")
_libs["z"] = load_library("z")
_libs["grass_gis"] = load_library("grass_gis")
_libs["grass_datetime"] = load_library("grass_datetime")
_libs["z"] = load_library("z")
_libs["grass_dgl"] = load_library("grass_dgl")
_libs["grass_dig2"] = load_library("grass_dig2")
_libs["grass_gis"] = load_library("grass_gis")
_libs["grass_datetime"] = load_library("grass_datetime")
_libs["z"] = load_library("z")
_libs["grass_rtree"] = load_library("grass_rtree")
_libs["grass_gis"] = load_library("grass_gis")
_libs["grass_datetime"] = load_library("grass_datetime")
_libs["z"] = load_library("z")
_libs["grass_linkm"] = load_library("grass_linkm")
_libs["grass_rtree"] = load_library("grass_rtree")

# 34 libraries
# End libraries

in 7.0, lib/python/ctypes/nviz.py imports only one lib:

# Begin libraries

_libs["grass_nviz.7.0.svn"] = load_library("grass_nviz.7.0.svn")

# 1 libraries
# End libraries

The same applies to all other files generated in lib/python/ctypes

The difference is caused by $(NVIZLIB) != $(NVIZLIB) between 6.5 and
7.0, same for all others in lib/python/ctypes/Makefile

In 6.5 it should read something like

date_LIBS = -l$(DATETIME_LIBNAME)
etc.

instead of

date_LIBS = $(DATETIMELIB)

More modifications might be necessary.

Markus M

Hi,

2010/8/30 Markus Metz <markus.metz.giswork@googlemail.com>:

Problem is ctypes, the Makefiles have been backported from trunk
without adapting to the build system in 6.5.

right, see http://trac.osgeo.org/grass/ticket/1125#comment:43

Martin

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

On Mon, Aug 30, 2010 at 1:16 PM, Martin Landa <landa.martin@gmail.com> wrote:

Hi,

2010/8/30 Markus Metz <markus.metz.giswork@googlemail.com>:

Problem is ctypes, the Makefiles have been backported from trunk
without adapting to the build system in 6.5.

right, see http://trac.osgeo.org/grass/ticket/1125#comment:43

In the long run it might be better to backport the new Makefiles system
from GRASS 7. It would also help for g.extension and the like.

Markus

Markus Neteler wrote:

In the long run it might be better to backport the new
Makefiles system from GRASS 7.

..or stop making invasive changes to 6.x and focus on
grass7 for new development instead..

2c,
Hamish

(fyi I hope to deal with g.extention C builds from official
packaged versions of 6.4 from debian+ubuntu soon, ensuring
makefile variables in -dev packages point to installed
includes/, not original build dir)

Hi,

2010/8/30 Hamish <hamish_b@yahoo.com>:

Markus Neteler wrote:

In the long run it might be better to backport the new
Makefiles system from GRASS 7.

ctypes backport is quite important for wxGUI also in GRASS 6.5.

Martin

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

Hi,

2010/8/30 Markus Neteler <neteler@osgeo.org>:

2010/8/30 Markus Metz <markus.metz.giswork@googlemail.com>:

Problem is ctypes, the Makefiles have been backported from trunk
without adapting to the build system in 6.5.

right, see http://trac.osgeo.org/grass/ticket/1125#comment:43

In the long run it might be better to backport the new Makefiles system
from GRASS 7. It would also help for g.extension and the like.

I would vote for minimalistic approach, ctypes will be probably
backported to 6.4.x, any heavy changes are complicated in this regard.

Martin

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