[GRASS-dev] [GRASS GIS] #2448: Fontconfig error with cairo on Windows
GRASS GIS
trac at osgeo.org
Wed Jun 10 14:20:10 PDT 2015
#2448: Fontconfig error with cairo on Windows
--------------------------+-------------------------------------------
Reporter: annakrat | Owner: grass-dev@…
Type: defect | Status: new
Priority: normal | Milestone: 7.0.1
Component: Display | Version: 7.0.0
Resolution: | Keywords: font, text, legend, scale bar
CPU: Unspecified | Platform: MSWindows 8
--------------------------+-------------------------------------------
Comment (by hellik):
Replying to [comment:16 wenzeslaus]:
> Replying to [comment:14 wenzeslaus]:
> > Replying to [comment:13 hellik]:
> > > Replying to [comment:12 annakrat]:
> > > > I made a screencast to see what's in the terminal which just
flashes during the installation. I get:
> > > >
> > > >
> > {{{
> > ...
> > ERROR: GISRC - variable not set
> > }}}
> > > >
> > > > This is the same what happens if you run run_gmkfontcap from
windows command prompt.
> > >
> > >
> > > relevant lines of codes
[http://trac.osgeo.org/grass/browser/grass/trunk/mswindows/GRASS-
Installer.nsi.tmpl#L531 g.mkfontcap] and following.
> > >
> > {{{
> > ...
> > 546 FileWrite $0 'set GISBASE=$INSTALL_DIR$\r$\n'
> > 547 FileWrite $0 '$\r$\n'
> > 548 FileWrite $0 'rem set path to freetype dll$\r$\n'
> > 549 FileWrite $0 'set
FREETYPEBASE=$INSTALL_DIR\extrabin;$INSTALL_DIR\msys\bin;$INSTALL_DIR\lib$\r$\n'
> > 550 FileWrite $0 '$\r$\n'
> > 551 FileWrite $0 'rem set dependecies path$\r$\n'
> > 552 FileWrite $0 'set PATH=%FREETYPEBASE%;%PATH%$\r$\n'
> > ...
> > }}}
> > >
> > > any idea which variable isn't set?
> >
> > It is the [http://grass.osgeo.org/grass70/manuals/variables.html#list-
of-selected-%28grass-related%29-shell-environment-variables GISRC]
variable which is not set.
> > [...]
> > We could perhaps avoid this problem altogether if we would just tell
GRASS GIS what to run (#2579),
>
> After r65252 and r65294 (see #2579) you can use (in trunk, upcoming 7.1
release):
>
> {{{
> C:\path\to\grass C:\path\to\demomapset --exec g.mkfontcap
> }}}
>
> This should run `g.mkfontcap` in a regular GRASS session but without
touching user's GRASS rc file in home directory (if it does, it's a bug),
so the last used Mapset will be still whatever user or installer sets.
>
> > although this might have its own problems during installation.
>
> GRASS is installed, right? So this should work in theory.
>
> > One other thing is that it is not clear to me what changed that now
GISRC variable is required but it was not before.
>
> Let's say that we don't need to deal with this because it is expected
that GRASS module requires `GISRC` to be set. I'm just not sure why it is
expected by `g.mkfontcap` (probably it calls some GRASS library
functions).
the discussion about a g.mkfontcap outside a winGRASS session dates back
to 2010.
I've found following in this long discussion:
http://lists.osgeo.org/pipermail/grass-dev/2010-March/049491.html
{{{
On Sat, 6 Mar 2010, Helmut Kudrnovsky wrote:
> from the grass-windows-point-of-view:
>
> I've tested in the last days a lot the issues in
> http://trac.osgeo.org/grass/ticket/908
>
> r40857 (see http://trac.osgeo.org/grass/ticket/908#comment:9) should be
> backported to grass64. g.mkfontcap with this fixes is working outside a
> grass-session.
Just to note, the Linux install script (binaryInstall.src) runs
g.mkfontcap outside of a GRASS session by simply setting GISRC to a junk
value:
GISBASE="$DESTDIR" GISRC=junk
LD_LIBRARY_PATH_VAR="${DESTDIR}/lib:$LD_LIBRARY_PATH_VAR"
"${DESTDIR}/bin/g.mkfontcap" -o
(In Windows the equivalent would be to run the command
set GISRC=junk
before running g.mkfontcap)
Not 100% sure if that's relevant here, but thought it might be worth
mentioning to give some context.
Paul
}}}
should we try this solution in winGRASS7.x-series?
Helmut
--
Ticket URL: <https://trac.osgeo.org/grass/ticket/2448#comment:17>
GRASS GIS <http://grass.osgeo.org>
More information about the grass-dev
mailing list