groff
[Top][All Lists]
Advanced

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

[Groff] Fw: new groff release soon


From: Werner LEMBERG
Subject: [Groff] Fw: new groff release soon
Date: Mon, 20 Oct 2014 20:49:36 +0200 (CEST)

Here's Eli's build report with MinGW.


    Werner
--- Begin Message --- Subject: Re: new groff release soon Date: Mon, 20 Oct 2014 19:35:23 +0300
> Date: Tue, 14 Oct 2014 09:03:28 +0200 (CEST)
> From: Werner LEMBERG <address@hidden>
> 
> >>   https://savannah.gnu.org/git/?group=groff
> > 
> > How long can you wait, and where can I find the latest tarball?
> 
> Right there.  Currently, the `configure' script is part of the git
> repository, so you can just use a git snapshot.  After the release, we
> will switch to autotools, which greatly simplifies the build system.
> 
> > In addition, building Groff on Windows was somewhat of an uphill
> > battle last time I tried (with 1.21), due to certain quirks of the
> > build system it uses.
> 
> I think that the differences to 1.21 w.r.t. configuration and
> compilation shouldn't be too large, hopefully.
> 
> > So even when I do get to that, it might take a few days till I'm
> > finished and can present a report.  Not sure if you can wait for,
> > say, 2 weeks.
> 
> This should be fine.

OK, I did that.  It was much easier this time, probably because of
your good work on fixing bugs, and also because I'm much more
experienced now with MSYS.

Here are the issues I have to report:

1. Compilation of font.cpp fails:

     g++ -I. -I.  -I/d/usr/eli/utils/groff-master_2014-10-20/src/include 
-I/d/usr/eli/utils/groff-master_2014-10-20/src/include  
-I/d/usr/eli/utils/groff-master_2014-10-20/src/libs/gnulib/lib -DHAVE_CONFIG_H 
-O0 -g3  -c  font.cpp
     In file included from 
d:\usr\bin\../lib/gcc/mingw32/4.7.2/../../../../include/wchar.h:45:0,
                      from 
d:/usr/eli/utils/groff-master_2014-10-20/src/libs/gnulib/lib/wchar.h:79,
                      from font.cpp:26:
     
d:/usr/eli/utils/groff-master_2014-10-20/src/libs/gnulib/lib/wctype.h:66:3: 
error: #error "Please include config.h first."
     
d:/usr/eli/utils/groff-master_2014-10-20/src/libs/gnulib/lib/wctype.h:68:1: 
error: '_GL_INLINE_HEADER_BEGIN' does not name a type
     
d:/usr/eli/utils/groff-master_2014-10-20/src/libs/gnulib/lib/wctype.h:665:1: 
error: '_GL_INLINE' does not name a type
     
d:/usr/eli/utils/groff-master_2014-10-20/src/libs/gnulib/lib/wctype.h:813:1: 
error: '_GL_INLINE_HEADER_END' does not name a type
     /d/usr/eli/utils/groff-master_2014-10-20/Makefile.comm:94: recipe for 
target `font.o' failed

   This is because the config.h file from gnulib isn't included by
   Groff sources that (on some platforms) do include system header
   replacements provided by gnulib.  (wctype.h is the _only_ header
   that forces inclusion of config.h, so if a system doesn't need that
   header, the problem won't happen on that system.  But in general,
   any header that comes from gnulib might need the same, and so Groff
   should really include both its own config.h and the one from
   gnulib, _before_ including any system headers.)

   I fixed this by adding

     #include "../config.h"

   to the beginning of gnulib's wctype.in.h.  This kludge works, but
   it really isn't something I suggest as _the_ solution for this
   problem; I don't really know enough gnulib to suggest something
   better.

2. Error messages in font/devpdf:

     Warning: line 28: Unable to locate font(s) URWGothicL-Demi,a010015l.pfb on 
the given path(s)
     Warning: line 29: Unable to locate font(s) 
URWGothicL-DemiObli,a010035l.pfb on the given path(s)
     Warning: line 30: Unable to locate font(s) 
URWGothicL-BookObli,a010033l.pfb on the given path(s)
     [...]
     Warning: line 77: Failed to create groff font 'U-AB' by running afmtodit
     Warning: line 78: Failed to create groff font 'U-ABI' by running afmtodit
     Warning: line 79: Failed to create groff font 'U-AI' by running afmtodit
     Warning: line 80: Failed to create groff font 'U-AR' by running afmtodit
     make[2]: Leaving directory 
`/d/usr/eli/utils/groff-master_2014-10-20/font/devpdf'

   I guess these are expected, since I don't have Ghostscript
   installed?

3. Error in doc/:

     make[2]: Entering directory `/d/usr/eli/utils/groff-master_2014-10-20/doc'
     sed -e "s;@VERSION@;1.22.3;" meref.me  | GROFF_COMMAND_PREFIX=  
GROFF_BIN_PATH="`echo /d/usr/eli/utils/groff-master_2014-10-20/src/roff/groff  
/d/usr/eli/utils/groff-master_2014-10-20/src/roff/troff  
/d/usr/eli/utils/groff-master_2014-10-20/src/preproc/preconv  
/d/usr/eli/utils/groff-master_2014-10-20/src/preproc/pic 
/d/usr/eli/utils/groff-master_2014-10-20/src/preproc/eqn  
/d/usr/eli/utils/groff -master_2014-10-20/src/preproc/tbl  
/d/usr/eli/utils/groff-master_2014-10-20/src/preproc/grn  
/d/usr/eli/utils/groff-master_2014-10-20/src/preproc/refer  
/d/usr/eli/utils/groff-master_2014-10-20/src/preproc/soelim  
/d/usr/eli/utils/groff-master_2014-10-20/src/preproc/html  
/d/usr/eli/utils/groff-master_2014-10-20/src/devices/grops  
/d/usr/eli/utils/groff-master_2014-10-20/src/devices/gropdf  
/d/usr/eli/utils/groff-master_2014-10-20/src/devices/grohtml | sed -e 's|  
*|:|g'`" /d/usr/eli/utils/groff-master_2014-10-20/src/roff/groff/groff 
-M/d/usr/eli/utils/groff-master_2014-10-20/tmac -M/d
     preconv: encoding system `CP1252' not supported
     Makefile.sub:117: recipe for target `meref.ps' failed
     make[2]: *** [meref.ps] Error 1

   This is because the configure script fails to detect libiconv:

     configure:9176: checking for working iconv
     configure:9296: g++ -o conftest.exe -O0 -g3 -Id:/usr/include  conftest.cpp 
d:/usr/lib/libiconv.dll.a -Ld:/usr/lib >&5
     conftest.cpp: In function 'int main()':
     conftest.cpp:62:51: error: invalid conversion from 'char**' to 'const 
char**' [-fpermissive]
     In file included from conftest.cpp:43:0:
     d:\usr\bin\../lib/gcc/mingw32/4.7.2/../../../../include/iconv.h:83:15: 
error: initializing argument 2 of 'size_t libiconv(libiconv_t, const char**, 
size_t*, char**, size_t*)' [-fpermissive]
     conftest.cpp:82:51: error: invalid conversion from 'char**' to 'const 
char**' [-fpermissive]
     In file included from conftest.cpp:43:0:
     d:\usr\bin\../lib/gcc/mingw32/4.7.2/../../../../include/iconv.h:83:15: 
error: initializing argument 2 of 'size_t libiconv(libiconv_t, const char**, 
size_t*, char**, size_t*)' [-fpermissive]
     conftest.cpp:101:51: error: invalid conversion from 'char**' to 'const 
char**' [-fpermissive]
     In file included from conftest.cpp:43:0:
     d:\usr\bin\../lib/gcc/mingw32/4.7.2/../../../../include/iconv.h:83:15: 
error: initializing argument 2 of 'size_t libiconv(libiconv_t, const char**, 
size_t*, char**, size_t*)' [-fpermissive]
     configure:9296: $? = 1
     configure: program exited with status 1
     configure: failed program was:

   My libiconv is fairly old, and I'm reluctant to upgrade, because my
   MSYS/MinGW build environment is extremely stable and rock-solid, so
   I don't want to change it without a very good reason

   I solved this by using -fpermissive in GCC flags:

      CFLAGS='-O0 -g3' CXXFLAGS='-O0 -g3 -fpermissive' ./configure 
--prefix=d:/usr

   However, I wonder whether the configure script could also try a
   similar test program, but with 'const' dropped, if the one with
   'const' failed.  If not, I will use my work-around.

4. Not a serious problem, but I noticed that reconfiguring doesn't
   force recompilation of the sources, although config.h is
   regenerated and has a newer time stamp.  I needed to "make clean"
   to force recompilation.  Is there some dependency missing
   somewhere?

5. There's no test suite, so I ran the test suggested by INSTALL, and
   the results looked good to me.

6. "make install-strip" is not supported, although that is nowadays a
   fairly standard target.  (I stripped the binaries manually after
   installing.)

7. Finally, I made *.cmd batch files for most Perl and shell scripts
   installed in bin/, since otherwise those scripts will be almost
   unusable from the native Windows shell.  Would you accept those
   batch files for inclusion in Groff, and add them to "make install"
   on Windows?  Most of the batch files are simple one-liners, to
   invoke Perl on the respective script.

HTH, and thanks for maintaining Groff.

--- End Message ---

reply via email to

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