Opened 17 years ago
Closed 17 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)
Change History (6)
by , 17 years ago
Attachment: | v.edit.patch added |
---|
follow-ups: 2 5 comment:1 by , 17 years ago
Summary: | v.digit compilation failure → v.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
follow-ups: 3 4 comment:2 by , 17 years ago
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 by , 17 years ago
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 by , 17 years ago
Cc: | added |
---|---|
Owner: | changed from | to
Status: | new → assigned |
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 by , 17 years ago
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
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
small change to v.edit, specifying the location of vedit.h