groff
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Groff] Re: Problem with grohtml on Win32


From: Gaius Mulley
Subject: [Groff] Re: Problem with grohtml on Win32
Date: 23 Dec 2004 17:39:23 +0000
User-agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.2

Keith MARSHALL <address@hidden> writes:

> Hi Werner, Gaius,
> 
> > I just tried to build a recent groff CVS snapshot on my Win2K box,
> > using the MinGW/MSYS tool chain.  All went OK, *except* for image
> > processing in pre-grohtml -- each image processed generates a pair
> > of warning messages, the first of which reports:
> > 
> >   ... echo showpage | /path/to/ghostscript ... returned status 255
> > 
> > Processing then continues, but the img tags are not resolved, in
> > the resultant HTML.
> > 
> > This used to work fine, when pre-grohtml simply assumed that the
> > ghostscript executable was called 'gs', and that it was located in
> > the process' PATH -- it now fails, because pre-grohtml uses a fully
> > qualified path, which is specified in the DESC file, and this path
> > is invalid for native Win32.  [...]
> 
> > I can work around this problem, by manually editing the Makefile
> > after running configure, and before running make, to change the
> > automatically detected ghostscript path, discarding the path
> > information, and thus reverting to previous behaviour, i.e.
> > 
> >    GHOSTSCRIPT=gs
> > 
> > or, retaining the full path specification, I can say
> > 
> >    GHOSTSCRIPT=d:\msys\1.0\local\bin\gs
> > 
> > (Note, if I spell out the full path, I *must* do so using native
> >  Win32 semantics, and I must include the native resolution of the
> >  MSYS' pseudo-mount point for /usr, which, in my setup, maps to
> >  d:\msys\1.0).
> 
> On further reflection, I wonder if the logic used to establish the
> ghostscript path, as stored in the DESC file, is really appropriate.
> In aclocal.m4, in the CVS, I see:
> 
>         AC_DEFUN([GROFF_GHOSTSCRIPT_PATH],
>           [AC_PATH_TOOL(GHOSTSCRIPT, gs gsos2, missing)
>            AC_SUBST(GHOSTSCRIPT)])
> 
> In addition to AC_SUBST(GHOSTSCRIPT) being redundant here, because
> AC_PATH_TOOL invokes it internally anyway, there are actually two
> more serious problems with this:
> 
>   1) I assume that the intention here is to search for 'gs', and if
>      not found, to look for 'gsos2' as an alternative.  Unfortunately,
>      AC_PATH_TOOL will not do this -- it searches *only* for the first
>      named program in its second argument.  To search for alternatives,
>      AC_CHECK_TOOLS may be used, but that will return only the *name*
>      of the first matching program, without its path.  To get the full
>      path, *both* AC_CHECK_TOOLS *and* AC_PATH_TOOL must be used, (or
>      an AC_PATH_TOOLS macro could be written -- it isn't included in
>      the standard autoconf macro set, unless it has been added since
>      the release of version 2.56, which is the most recent version
>      currently supported by MSYS).
> 
>   2) Using GROFF_GHOSTSCRIPT_PATH to establish the 'image_generator'
>      entity in the DESC file is invalid, if the build host and target
>      platforms are not congruent, wrt the naming and location of the
>      ghostscript executable.  Thus, there is a high risk that a cross
>      compiled groff will have a broken grohtml.
> 
> Any thoughts on how best to fix this?  IMHO, the only really robust
> solution may be to have pre-grohtml identify the correct program name,
> at run time.

Hi Keith,

how about moving back to using `gs' in the DESC file, but supplying
extra checking code in pre-grohtml which tests whether the executable
`gs' is currently in the path and issue a specific warning if it is
not? Not as nice as solving (1) above but perhaps a reasonable
compromise..

regards,
Gaius




reply via email to

[Prev in Thread] Current Thread [Next in Thread]