[GRASS-dev] [GRASS GIS] #3091: The RUN_GISBASE variable is not set correctly on FreeBSD

GRASS GIS trac at osgeo.org
Thu Jul 7 23:13:12 PDT 2016


#3091: The RUN_GISBASE variable is not set correctly on FreeBSD
----------------------+-------------------------
  Reporter:  pieside  |      Owner:  grass-dev@…
      Type:  defect   |     Status:  new
  Priority:  normal   |  Milestone:  7.0.5
 Component:  Default  |    Version:  7.0.4
Resolution:           |   Keywords:  FreeBSD
       CPU:  x86-64   |   Platform:  Other Unix
----------------------+-------------------------

Comment (by glynn):

 Replying to [comment:2 pieside]:
 > After some tests, I found that the issue is probably coming from the
 ports tree framework which overrides the value of ARCH. This seems to
 comfort that the issue may be with the build system.

 Setting ARCH= on the make command line will override the setting of ARCH
 in Platform.make.

 Ideally, that should work; i.e. you should be able to set ARCH to whatever
 you feel like and everything should use that setting consistently. But it
 doesn't, because configure.in does:
 {{{
 AC_SUBST(ARCH)

 ...

 GISBASE="${WINDSTDIR}/dist.${ARCH}"
 GRASS_BIN="${DSTDIR}/bin.${ARCH}"

 AC_SUBST(GISBASE)
 AC_SUBST(GRASS_BIN)
 }}}

 So the value of ARCH chosen by the configure script gets used to set 3
 distinct variables, and overriding ARCH on the command line only changes
 one of them (although GRASS_BIN isn't actually used).

 GISBASE is actually used to set RUN_GISBASE, which is used when executing
 GRASS commands or scripts as part of the build process. On Unix, this will
 typically end up being identical to ARCH_DISTDIR, which is the base
 directory where generated files are placed. But on Windows, RUN_GISBASE
 needs to use Windows' native filename syntax, whereas everything else uses
 the Unix-like syntax of MinGW/MSys.

 One possible solution is to have configure substitute WINDSTDIR rather
 than GISBASE and change Platform.make.in to:
 {{{
 RUN_GISBASE         = @WINDSTDIR@/dist.$(ARCH)
 }}}

 That should ensure that ARCH_DISTDIR and RUN_GISBASE are equivalent even
 if ARCH is overridden on the command line.

--
Ticket URL: <https://trac.osgeo.org/grass/ticket/3091#comment:3>
GRASS GIS <https://grass.osgeo.org>



More information about the grass-dev mailing list