[GRASS-dev] ctypes not working in 6.x, differences between 6.x and 7.0

Markus Metz markus.metz.giswork at googlemail.com
Mon Apr 18 05:05:00 EDT 2011


The stuff created in lib/python/ctypes differs between 6.x and 7.0,
the 6.x versions being rather messy.

The Make system in 6.x should be updated to clean up the mess,
particularly that z lib to avoid the following error on 64bit Linux:
/lib/libz.so.1: wrong ELF class: ELFCLASS32

IMHO, the solution should not be a hack that removes _libs["z"] afterwards.

sniplet from e.g. /lib/python/ctypes/vector.py in 7.0

[snip-->]

add_library_search_dirs([])

# Begin libraries

_libs["grass_vector.7.0.svn"] = load_library("grass_vector.7.0.svn")
_libs["grass_dig2.7.0.svn"] = load_library("grass_dig2.7.0.svn")
_libs["grass_dgl.7.0.svn"] = load_library("grass_dgl.7.0.svn")
_libs["grass_rtree.7.0.svn"] = load_library("grass_rtree.7.0.svn")
_libs["grass_linkm.7.0.svn"] = load_library("grass_linkm.7.0.svn")
_libs["grass_dbmiclient.7.0.svn"] = load_library("grass_dbmiclient.7.0.svn")
_libs["grass_dbmibase.7.0.svn"] = load_library("grass_dbmibase.7.0.svn")
_libs["grass_btree2.7.0.svn"] = load_library("grass_btree2.7.0.svn")
_libs["grass_gproj.7.0.svn"] = load_library("grass_gproj.7.0.svn")

# 9 libraries
# End libraries

[<--snip]

and in 6.x:

[snip-->]

add_library_search_dirs([])

# Begin libraries
_libs["grass_vect.6.5.svn"] = load_library("grass_vect.6.5.svn")
_libs["grass_dbmibase.6.5.svn"] = load_library("grass_dbmibase.6.5.svn")
_libs["grass_gis.6.5.svn"] = load_library("grass_gis.6.5.svn")
_libs["grass_datetime.6.5.svn"] = load_library("grass_datetime.6.5.svn")
_libs["z"] = load_library("z")
_libs["grass_dbmiclient.6.5.svn"] = load_library("grass_dbmiclient.6.5.svn")
_libs["grass_dbmibase.6.5.svn"] = load_library("grass_dbmibase.6.5.svn")
_libs["grass_gis.6.5.svn"] = load_library("grass_gis.6.5.svn")
_libs["grass_datetime.6.5.svn"] = load_library("grass_datetime.6.5.svn")
_libs["z"] = load_library("z")
_libs["grass_gis.6.5.svn"] = load_library("grass_gis.6.5.svn")
_libs["grass_datetime.6.5.svn"] = load_library("grass_datetime.6.5.svn")
_libs["z"] = load_library("z")
_libs["grass_dgl.6.5.svn"] = load_library("grass_dgl.6.5.svn")
_libs["grass_dig2.6.5.svn"] = load_library("grass_dig2.6.5.svn")
_libs["grass_gis.6.5.svn"] = load_library("grass_gis.6.5.svn")
_libs["grass_datetime.6.5.svn"] = load_library("grass_datetime.6.5.svn")
_libs["z"] = load_library("z")
_libs["grass_rtree.6.5.svn"] = load_library("grass_rtree.6.5.svn")
_libs["grass_gis.6.5.svn"] = load_library("grass_gis.6.5.svn")
_libs["grass_datetime.6.5.svn"] = load_library("grass_datetime.6.5.svn")
_libs["z"] = load_library("z")
_libs["grass_linkm.6.5.svn"] = load_library("grass_linkm.6.5.svn")
_libs["grass_rtree.6.5.svn"] = load_library("grass_rtree.6.5.svn")
_libs["grass_dig2.6.5.svn"] = load_library("grass_dig2.6.5.svn")
_libs["grass_gis.6.5.svn"] = load_library("grass_gis.6.5.svn")
_libs["grass_datetime.6.5.svn"] = load_library("grass_datetime.6.5.svn")
_libs["z"] = load_library("z")
_libs["grass_rtree.6.5.svn"] = load_library("grass_rtree.6.5.svn")
_libs["grass_dgl.6.5.svn"] = load_library("grass_dgl.6.5.svn")
_libs["grass_rtree.6.5.svn"] = load_library("grass_rtree.6.5.svn")
_libs["grass_linkm.6.5.svn"] = load_library("grass_linkm.6.5.svn")
_libs["grass_dbmiclient.6.5.svn"] = load_library("grass_dbmiclient.6.5.svn")
_libs["grass_dbmibase.6.5.svn"] = load_library("grass_dbmibase.6.5.svn")
_libs["grass_gis.6.5.svn"] = load_library("grass_gis.6.5.svn")
_libs["grass_datetime.6.5.svn"] = load_library("grass_datetime.6.5.svn")
_libs["z"] = load_library("z")
_libs["grass_gis.6.5.svn"] = load_library("grass_gis.6.5.svn")
_libs["grass_datetime.6.5.svn"] = load_library("grass_datetime.6.5.svn")
_libs["z"] = load_library("z")
_libs["grass_dbmibase.6.5.svn"] = load_library("grass_dbmibase.6.5.svn")
_libs["grass_gis.6.5.svn"] = load_library("grass_gis.6.5.svn")
_libs["grass_datetime.6.5.svn"] = load_library("grass_datetime.6.5.svn")
_libs["z"] = load_library("z")

# 44 libraries
# End libraries

[<--snip]

Thanks,

Markus M


More information about the grass-dev mailing list