Opened 14 years ago

Closed 14 years ago

#57 closed defect (fixed)

v.digit compilation failure [also seems to affect v.edit]

Reported by: glynn Owned by: martinl
Priority: major Milestone: 6.3.0
Component: Python Version: svn-trunk
Keywords: v.digit v.edit Cc: grass-dev@…
CPU: Unspecified Platform: Unspecified

Description

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.

Attachments (1)

v.edit.patch (406 bytes) - added by dylan 14 years ago.
small change to v.edit, specifying the location of vedit.h

Download all attachments as: .zip

Change History (6)

Changed 14 years ago by dylan

Attachment: v.edit.patch added

small change to v.edit, specifying the location of vedit.h

comment:1 Changed 14 years ago by dylan

Summary: v.digit compilation failurev.digit compilation failure [also seems to affect v.edit]

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

comment:2 in reply to:  1 ; Changed 14 years ago by glynn

Replying to 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>.

comment:3 in reply to:  2 Changed 14 years ago by dylan

Replying to glynn:

Replying to 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 .

comment:4 in reply to:  2 Changed 14 years ago by martinl

Cc: grass-dev@… added
Owner: changed from grass-dev@… to martinl
Status: newassigned

Replying to 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

comment:5 in reply to:  1 Changed 14 years ago by martinl

Resolution: fixed
Status: assignedclosed

Replying to 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

Note: See TracTickets for help on using tickets.