[GRASS5] two-level namespace causes problems with dbmi

William K woklist at charter.net
Wed Aug 11 16:48:28 EDT 2004

This is in connection with my solution to building GDAL to use GRASS 
libs instead of the old libgrass, and then getting GRASS to build with 
the resulting multiple defs errors.

review: the hard way: install GDAL without GRASS, build and install 
GRASS, reinstall GDAL _with_ GRASS libs.

the easier way: use two-level namespace for SHLIB_LD.

But now I discovered a problem - DBMI doesn't like the two-level 
namespace.  Whenever GRASS tries to open a database (I tried DBF and 
MySQL), the command that tried fails with an error

dbmi: db_open_database() not implemented

I tried it with v.in.ogr, where it is supposed to create an attribute 
DB, and d.what.vect on an existing vector that previously worked.

The terminal output when building GRASS with two-level namespace shows 
lots of multiple defs warnings between the various DB driver object 
files and dbstubs, I guess that's where the problem is.  Building with 
flat namespace gives no multiple defs errors (and dbmi works).

So, it looks like I'm stuck with the Hard Way to do the GDAL/GRASS 
combo.  Rats!  Unless someone has any ideas (it's getting a little deep 
for me).

William Kyngesburye <kyngchaos at charter.net>

"History is an illusion caused by the passage of time, and time is an 
illusion caused by the passage of history."

- Hitchhiker's Guide to the Galaxy

More information about the grass-dev mailing list