[GRASS5] GRASS-header-file locations changed?

Stephan Holl holl at gdf-hannover.de
Tue Feb 14 07:24:54 EST 2006


Hello Glynn, Radim,

On Tue, 14 Feb 2006 10:05:11 +0000 Glynn Clements
<glynn at gclements.plus.com> wrote:

> 
> Radim Blazek wrote:
> 
> > > > Just compiled GRASS from a fresh CVS-Checkout with success.
> > > > After that i tried to compile QGIS-SVN with GRASS_support.
> > > >
> > > > Then I realized that
> > > > the include-headers are living in $GRASSINST/include/grass/*.h,
> > > > but QGIS-configure searches them in $GRASSINST/include/*.h.
> > > >
> > > > I checked back with fromer installations of GRASS-CVS and there
> > > > were $GRASSINST/include/grass/ and $GRASSINST/include/ with
> > > > nearly the same content.
> > > > $GRASSINST/include/grass/ has 2 more files, interpf.h and
> > > > waterglobs.h. $GRASSINST/include/ only has portable.h.
> > > >
> > > > Is this the normal behavior or did I miss something?
> > >
> > > The duplicates have been removed. GRASS code (including the
> > > headers themselves) now references headers as <grass/gis.h> etc.
> > >
> > > For external packages which haven't been updated yet, create a
> > > symlink e.g.:
> > >
> > >         ln -s grass $GRASSINST/include/grass/grass
> > >
> > > then tell the configure script that the GRASS headers are in
> > > $GRASSINST/include/grass rather than in $GRASSINST/include.
> > 
> > The external packages are using --with-grass only,
> > not --with-grass-includes/libs.
> 
> That's a bug.
> 
> > I still believe that it is a wrong approach to make compilation of
> > other packages with GRASS support more difficult than it was before.
> 
> So GRASS' is obliged to install itself according to the demands of
> third-party packages?
> 
> The existing layout is wrong; GRASS should be able to be installed
> into /usr/{bin,lib,include,share} just like every other package.
> 
> Installing headers directly into /usr/include isn't practical, due to
> the number of files and the fact that some of them have very common
> names (e.g. bitmap.h or colors.h).
> 
> Like other sizeable packages, headers should go into their own
> subdirectory, and the subdirectory should be used in #include
> statements, as with <X11/Xlib.h>, <GL/gl.h> etc (PostgreSQL doesn't do
> this, and it's responsible for a significant proportion of
> configure-related queries to this list).

So I think we should sort this issue out soon, otherwise we will run
into trouble with other packages which needs GRASS-libs and -header
(gdal-grass, QGIS, etc.). 

What do you thing is the best approach? Patching gdal-grass and qgis
configure.in to accept with --with-grass-libs and
--with-grass-lincludes?


This should be done AFAIK. Does anybody feel doing this?

Thank you for commenting this.

Best
	Stephan


-- 
GDF Hannover - Solutions for spatial data analysis and remote sensing
Hannover Office      -     Mengendamm 16d      -     D-30177 Hannover
Internet: www.gdf-hannover.de      -      Email: holl at gdf-hannover.de
Phone : ++49-(0)511.39088507       -        Fax: ++49-(0)511.39088508




More information about the grass-dev mailing list