[GRASS-dev] [GRASS GIS] #1866: broken db driver communication in winGRASS 7
GRASS GIS
trac at osgeo.org
Thu Mar 14 12:57:19 PDT 2013
#1866: broken db driver communication in winGRASS 7
------------------------------+---------------------------------------------
Reporter: martinl | Owner: grass-dev@…
Type: defect | Status: new
Priority: blocker | Milestone: 7.0.0
Component: Database | Version: unspecified
Keywords: sqlite, wingrass | Platform: MSWindows 2K
Cpu: Unspecified |
------------------------------+---------------------------------------------
Comment(by mmetz):
Replying to [comment:24 glynn]:
> Replying to [comment:23 glynn]:
> > FWIW, MinGW provides a /lib/binmode.o file for this purpose. Can you
try:
{{{
make FMODE_OBJ=/lib/binmode.o
}}}
Not working because this has the effect of making binary-mode file
translation the default, except that preopened files stdin, stderr, stdout
remain text. The driver pipes are set to stdin and stdout in
lib/db/dbmi_driver/driver.c.
Anyway, I have added
{{{
# if fmode.o causes trouble, try:
# FMODE_OBJ=/lib/binmode.o
}}}
to Grass.make in r55381 as a hint if problems with lib/gis/fmode.c arise.
At the same time I have removed the `-lxdr` hack.
> Another thing to try is:
{{{
#include <io.h>
...
_setmode(_fileno(stdin), _O_BINARY);
_setmode(_fileno(stdout), _O_BINARY);
}}}
>
I have added that to lib/db/dbmi_driver/driver.c and it works! Submitted
in r55382. Do we need to add this globally, i.e. to `gisinit()`?
BTW, I think that `lib/dbmi_driver/driver.c` should be in
`lib/db/dbmi_client/` for consistency, or IOW there were
`lib/dbmi_client/start.c` is. It seems that `lib/dbmi_driver/` should only
include db_d_* functions.
--
Ticket URL: <https://trac.osgeo.org/grass/ticket/1866#comment:25>
GRASS GIS <http://grass.osgeo.org>
More information about the grass-dev
mailing list