db.describe fails if $GISBASE contains a space
|Reported by:||hamish||Owned by:|
If I move "dist.x86_64-unknown-linux-gnu/" to "dist.x86_64-unknown-linux gnu/" (and edit ./bin.$ARCH/grass65), db.describe fails:
g.copy roads,roads2 db.describe roads2 D2/5: dbDbmscap(): opendir [/usr/local/src/grass/svn/grass65/dist.x86_64-unknown-linux gnu/driver/db/] D2/5: dbDbmscap(): opendir [/usr/local/src/grass/svn/grass65/dist.x86_64-unknown-linux gnu/driver/db/] sh: /usr/local/src/grass/svn/grass65/dist.x86_64-unknown-linux: No such file or directory dbmi: Protocol error ERROR: Unable to start driver <dbf>
near EOF of lib/db/dbmi_client/start.c:
execl("/bin/sh", "sh", "-c", startup, NULL);
The startup string is set correctly; I guess execl() wants to see quotes in the string itself?
n.b. all programs in $GISBASE/driver/db/ are ELF binaries, so is sh really needed at all? why not just run them directly?
ps- building GRASS in a dir with spaces seems impossible because Autoconf2.13 expansion code does not always quote $srcdir.
(unless we run a second sed script after autoconf2.13 to run around the resulting
configure file and quote variables as needed* -- but not all variables, e.g. $pwd can expand to "pwd -W".