[GRASS-dev] [GRASS GIS] #57: v.digit compilation failure

#57: v.digit compilation failure
----------------------------+-----------------------------------------------
Reporter: glynn | Owner: grass-dev@lists.osgeo.org
     Type: defect | Status: new
Priority: major | Milestone: 6.3.0
Component: Python | Version: svn-trunk
Keywords: v.digit v.edit |
----------------------------+-----------------------------------------------
v.digit depends upon v.edit but is built before it. The result is that
compilation fails due to the absence of vedit.h (and if it wasn't for the
header, linking would fail due to the absence of libgrass_vedit).

vector/v.edit/lib should be moved to lib/vedit (or maybe lib/vector/vedit)
if it is meant to be used outside of v.edit.

--
Ticket URL: <http://trac.osgeo.org/grass/ticket/57&gt;
GRASS GIS <http://grass.osgeo.org>
GRASS Geographic Information System (GRASS GIS) - http://grass.osgeo.org/

#57: v.digit compilation failure [also seems to affect v.edit]
---------------------+------------------------------------------------------
  Reporter: glynn | Owner: grass-dev@lists.osgeo.org
      Type: defect | Status: new
  Priority: major | Milestone: 6.3.0
Component: Python | Version: svn-trunk
Resolution: | Keywords: v.digit v.edit
---------------------+------------------------------------------------------
Changes (by dylan):

  * summary: v.digit compilation failure => v.digit compilation failure
              [also seems to affect v.edit]

Comment:

Is there anyway to specify the direct path to vedit.h now that it lives in
/lib/vector/vedit.h ? Not sure if this is a robust approach, but it
compiles. See attached file

--
Ticket URL: <http://trac.osgeo.org/grass/ticket/57#comment:1&gt;
GRASS GIS <http://grass.osgeo.org>
GRASS Geographic Information System (GRASS GIS) - http://grass.osgeo.org/

#57: v.digit compilation failure [also seems to affect v.edit]
---------------------+------------------------------------------------------
  Reporter: glynn | Owner: grass-dev@lists.osgeo.org
      Type: defect | Status: new
  Priority: major | Milestone: 6.3.0
Component: Python | Version: svn-trunk
Resolution: | Keywords: v.digit v.edit
---------------------+------------------------------------------------------
Comment (by glynn):

Replying to [comment:1 dylan]:
> Is there anyway to specify the direct path to vedit.h now that it lives
in /lib/vector/vedit.h ? Not sure if this is a robust approach, but it
compiles. See attached file

There are two choices:

If the header is to be public, e.g. because third-party modules may wish
to use vedit.h, it should be installed into $(ARCH_INCDIR) by
lib/vector/vedit/Makefile. See e.g. lib/rst/qtree/Makefile for an example.
The header should then be referenced as <grass/vedit.h>.

If the header (and thus the library) is for internal use only, then leave
it where it is and add e.g.:

EXTRA_CFLAGS = -I../../../lib/vector/vedit

to the Makefile for any module which uses it. The header should be
referenced as just <vedit.h>.

--
Ticket URL: <http://trac.osgeo.org/grass/ticket/57#comment:2&gt;
GRASS GIS <http://grass.osgeo.org>
GRASS Geographic Information System (GRASS GIS) - http://grass.osgeo.org/

#57: v.digit compilation failure [also seems to affect v.edit]
---------------------+------------------------------------------------------
  Reporter: glynn | Owner: grass-dev@lists.osgeo.org
      Type: defect | Status: new
  Priority: major | Milestone: 6.3.0
Component: Python | Version: svn-trunk
Resolution: | Keywords: v.digit v.edit
---------------------+------------------------------------------------------
Comment (by dylan):

Replying to [comment:2 glynn]:
> Replying to [comment:1 dylan]:
> > Is there anyway to specify the direct path to vedit.h now that it
lives in /lib/vector/vedit.h ? Not sure if this is a robust approach, but
it compiles. See attached file
>
> There are two choices:
>
> If the header is to be public, e.g. because third-party modules may wish
to use vedit.h, it should be installed into $(ARCH_INCDIR) by
lib/vector/vedit/Makefile. See e.g. lib/rst/qtree/Makefile for an example.
The header should then be referenced as <grass/vedit.h>.
>
> If the header (and thus the library) is for internal use only, then
leave it where it is and add e.g.:
>
> EXTRA_CFLAGS = -I../../../lib/vector/vedit
>
> to the Makefile for any module which uses it. The header should be
referenced as just <vedit.h>.

OK- Lets wait and see what the three devs in charge of this module think /
do . In the mean time v.edit does not compile on Debian/Unstable x86
unless some action is taken to better define the location of vedit.h .

--
Ticket URL: <http://trac.osgeo.org/grass/ticket/57#comment:3&gt;
GRASS GIS <http://grass.osgeo.org>
GRASS Geographic Information System (GRASS GIS) - http://grass.osgeo.org/

#57: v.digit compilation failure [also seems to affect v.edit]
---------------------+------------------------------------------------------
  Reporter: glynn | Owner: martinl
      Type: defect | Status: assigned
  Priority: major | Milestone: 6.3.0
Component: Python | Version: svn-trunk
Resolution: | Keywords: v.digit v.edit
---------------------+------------------------------------------------------
Changes (by martinl):

  * status: new => assigned
  * owner: grass-dev@lists.osgeo.org => martinl
* cc: grass-dev@lists.osgeo.org (added)

Comment:

Replying to [comment:2 glynn]:
> If the header is to be public, e.g. because third-party modules may wish
to use vedit.h, it should be installed into $(ARCH_INCDIR) by
lib/vector/vedit/Makefile. See e.g. lib/rst/qtree/Makefile for an example.
The header should then be referenced as <grass/vedit.h>.
>
> If the header (and thus the library) is for internal use only, then
leave it where it is and add e.g.:
>
> EXTRA_CFLAGS = -I../../../lib/vector/vedit
>
> to the Makefile for any module which uses it. The header should be
referenced as just <vedit.h>.

I changed the header to be public (it could be also used by QGIS vdigit
port, etc.). I moved vedit.h to 'include' directory. If this solution is
reasonable I will backported the changes to branch for 6.3.

Martin

--
Ticket URL: <http://trac.osgeo.org/grass/ticket/57#comment:4&gt;
GRASS GIS <http://grass.osgeo.org>
GRASS Geographic Information System (GRASS GIS) - http://grass.osgeo.org/

#57: v.digit compilation failure [also seems to affect v.edit]
---------------------+------------------------------------------------------
  Reporter: glynn | Owner: martinl
      Type: defect | Status: closed
  Priority: major | Milestone: 6.3.0
Component: Python | Version: svn-trunk
Resolution: fixed | Keywords: v.digit v.edit
---------------------+------------------------------------------------------
Changes (by martinl):

  * status: assigned => closed
  * resolution: => fixed

Comment:

Replying to [comment:1 dylan]:
> Is there anyway to specify the direct path to vedit.h now that it lives
in /lib/vector/vedit.h ? Not sure if this is a robust approach, but it
compiles. See attached file

veditlib has been moved to lib/vector/vedit (also backported to
releasebranch_6_3). Seems to be solved, closing the ticket. Martin

--
Ticket URL: <http://trac.osgeo.org/grass/ticket/57#comment:5&gt;
GRASS GIS <http://grass.osgeo.org>
GRASS Geographic Information System (GRASS GIS) - http://grass.osgeo.org/