[GRASS-dev] [GRASS GIS] #887: db.describe fails if $GISBASE contains a space

GRASS GIS trac at osgeo.org
Thu Jan 21 02:24:49 EST 2010


#887: db.describe fails if $GISBASE contains a space
----------------------+-----------------------------------------------------
 Reporter:  hamish    |       Owner:  grass-dev at lists.osgeo.org
     Type:  defect    |      Status:  new                      
 Priority:  normal    |   Milestone:  6.5.0                    
Component:  Database  |     Version:  svn-releasebranch64      
 Keywords:  spaces    |    Platform:  Linux                    
      Cpu:  x86-64    |  
----------------------+-----------------------------------------------------
 Hi,

 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?


 Hamish


 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".

-- 
Ticket URL: <https://trac.osgeo.org/grass/ticket/887>
GRASS GIS <http://grass.osgeo.org>


More information about the grass-dev mailing list