[please retain groff list in distribution]

Hi Bruno et al.,

Trying to make a sound bug report on the first attempt.

I have a groff build failure with gnulib tag 2025-07-01.

I guess this is an oddball configuration, as groff is (mostly) in C++.
The host is Solaris 11 on 64-bit UltraSPARC hardware.

Here's an abbreviated "configure && gmake V=1" build log.  I'm including
groff's own configuration summary because that's essential information
for me as its maintainer, and it also discloses the names of the
compilers found and used.  I'm also including the list of header files
gnulib decided it needed to generate.

config.status: executing depfiles commands

GNU roff version 1.23.0.4692-4b2f66
----------------------------------------------------------------------
 installation directory prefix    : /export/home/gbranden
 command name prefix              : g
 wrappers used for macro packages : an an.ja an.ja_JP.PCK an.ja_JP.UTF-8 ansun 
ansun.ja ansun.ja_JP.PCK ansun.ja_JP.UTF-8 bib m s v vgrind
 C++ compiler and options         : g++ -std=gnu++11 -g -O2  -D_REENTRANT
 use libgroff's memory allocator  : no
 C compiler and options           : gcc -g -O2  -D_REENTRANT
 Perl interpreter version         : 5.12.5
 X11 support                      : disabled
 default paper format             : letter
 'groff -l' uses print spooler    : no
 use URW fonts for PDF output     : yes
 URW fonts directory              : 
/export/home/gbranden/urw-base35-fonts-20200910/fonts
 preconv can use uchardet library : no
 can build groff.{info,html,txt}  : no
 can build groff.{dvi,pdf}        : no
----------------------------------------------------------------------
...
  GEN      lib/alloca.h
  GEN      lib/assert.h
  GEN      lib/fcntl.h
  GEN      lib/float.h
  GEN      lib/getopt.h
  GEN      lib/getopt-cdefs.h
  GEN      lib/inttypes.h
  GEN      lib/limits.h
  GEN      lib/locale.h
  GEN      lib/math.h
  GEN      lib/pthread.h
  GEN      lib/sched.h
  GEN      lib/stdckdint.h
  GEN      lib/stddef.h
  GEN      lib/stdint.h
  GEN      lib/stdio.h
  GEN      lib/stdlib.h
  GEN      lib/string.h
  GEN      lib/strings.h
  GEN      lib/sys/stat.h
  GEN      lib/sys/types.h
  GEN      lib/sys/wait.h
  GEN      lib/time.h
  GEN      lib/uchar.h
  GEN      lib/unicase.h
  GEN      lib/unictype.h
  GEN      lib/uninorm.h
  GEN      lib/unistd.h
  GEN      lib/unitypes.h
  GEN      lib/uniwidth.h
  GEN      lib/wchar.h
  GEN      lib/wctype.h
  GEN      font/devpdf/DESC
...
gmake  all-recursive
gmake[1]: Entering directory '/export/home/gbranden/groff-1.23.0.4692-4b2f66'
gmake[2]: Entering directory '/export/home/gbranden/groff-1.23.0.4692-4b2f66'
depbase=`echo src/devices/grodvi/dvi.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
g++ -std=gnu++11 -DHAVE_CONFIG_H -I. -I./src/include  -I./src/include -I./lib 
-I./src/include -I./lib -D_REENTRANT  -g -O2 -MT src/devices/grodvi/dvi.o -MD 
-MP -MF $depbase.Tpo -c -o src/devices/grodvi/dvi.o src/devices/grodvi/dvi.cpp 
&&\
mv -f $depbase.Tpo $depbase.Po
In file included from src/devices/grodvi/dvi.cpp:26:0:
./lib/math.h: In function ‘bool isfinite(float)’:
./lib/math.h:3098:1: error: ‘bool isfinite(float)’ conflicts with a previous 
declaration
 _GL_MATH_CXX_REAL_FLOATING_DECL_2 (isfinite, isfinite, bool)
 ^
In file included from 
/opt/csw/lib/gcc/sparc-sun-solaris2.10/5.5.0/include-fixed/math.h:23:0,
                 from ./lib/math.h:46,
                 from src/devices/grodvi/dvi.cpp:26:
/usr/include/iso/math_c99.h:685:14: note: previous declaration ‘bool 
std::isfinite(float)’
  inline bool isfinite(float __X) { return __builtin_isfinite(__X); }
              ^
In file included from src/devices/grodvi/dvi.cpp:26:0:
./lib/math.h: In function ‘bool isfinite(double)’:
./lib/math.h:3098:1: error: ‘bool isfinite(double)’ conflicts with a previous 
declaration
 _GL_MATH_CXX_REAL_FLOATING_DECL_2 (isfinite, isfinite, bool)
 ^
In file included from 
/opt/csw/lib/gcc/sparc-sun-solaris2.10/5.5.0/include-fixed/math.h:23:0,
                 from ./lib/math.h:46,
                 from src/devices/grodvi/dvi.cpp:26:
/usr/include/iso/math_c99.h:710:14: note: previous declaration ‘bool 
std::isfinite(double)’
  inline bool isfinite(double __X) { return __builtin_isfinite(__X); }
              ^
In file included from src/devices/grodvi/dvi.cpp:26:0:
./lib/math.h: In function ‘bool isfinite(long double)’:
./lib/math.h:3098:1: error: ‘bool isfinite(long double)’ conflicts with a 
previous declaration
 _GL_MATH_CXX_REAL_FLOATING_DECL_2 (isfinite, isfinite, bool)
 ^
In file included from 
/opt/csw/lib/gcc/sparc-sun-solaris2.10/5.5.0/include-fixed/math.h:23:0,
                 from ./lib/math.h:46,
                 from src/devices/grodvi/dvi.cpp:26:
/usr/include/iso/math_c99.h:731:14: note: previous declaration ‘bool 
std::isfinite(long double)’
  inline bool isfinite(long double __X) {
              ^
In file included from src/devices/grodvi/dvi.cpp:26:0:
./lib/math.h: In function ‘bool isinf(float)’:
./lib/math.h:3133:1: error: ‘bool isinf(float)’ conflicts with a previous 
declaration
 _GL_MATH_CXX_REAL_FLOATING_DECL_2 (isinf, isinf, bool)
 ^
In file included from 
/opt/csw/lib/gcc/sparc-sun-solaris2.10/5.5.0/include-fixed/math.h:23:0,
                 from ./lib/math.h:46,
                 from src/devices/grodvi/dvi.cpp:26:
/usr/include/iso/math_c99.h:686:14: note: previous declaration ‘bool 
std::isinf(float)’
  inline bool isinf(float __X) { return __builtin_isinf(__X); }
              ^
In file included from src/devices/grodvi/dvi.cpp:26:0:
./lib/math.h: In function ‘bool isinf(double)’:
./lib/math.h:3133:1: error: ‘bool isinf(double)’ conflicts with a previous 
declaration
 _GL_MATH_CXX_REAL_FLOATING_DECL_2 (isinf, isinf, bool)
 ^
In file included from 
/opt/csw/lib/gcc/sparc-sun-solaris2.10/5.5.0/include-fixed/math.h:23:0,
                 from ./lib/math.h:46,
                 from src/devices/grodvi/dvi.cpp:26:
/usr/include/iso/math_c99.h:711:14: note: previous declaration ‘bool 
std::isinf(double)’
  inline bool isinf(double __X) { return __builtin_isinf(__X); }
              ^
In file included from src/devices/grodvi/dvi.cpp:26:0:
./lib/math.h: In function ‘bool isinf(long double)’:
./lib/math.h:3133:1: error: ‘bool isinf(long double)’ conflicts with a previous 
declaration
 _GL_MATH_CXX_REAL_FLOATING_DECL_2 (isinf, isinf, bool)
 ^
In file included from 
/opt/csw/lib/gcc/sparc-sun-solaris2.10/5.5.0/include-fixed/math.h:23:0,
                 from ./lib/math.h:46,
                 from src/devices/grodvi/dvi.cpp:26:
/usr/include/iso/math_c99.h:733:14: note: previous declaration ‘bool 
std::isinf(long double)’
  inline bool isinf(long double __X) { return __builtin_isinf(__X); }
              ^
gmake[2]: *** [Makefile:10882: src/devices/grodvi/dvi.o] Error 1
gmake[2]: Leaving directory '/export/home/gbranden/groff-1.23.0.4692-4b2f66'
gmake[1]: *** [Makefile:13270: all-recursive] Error 1
gmake[1]: Leaving directory '/export/home/gbranden/groff-1.23.0.4692-4b2f66'
gmake: *** [Makefile:7539: all] Error 2
$ g++ --version
g++ (GCC) 5.5.0
Copyright (C) 2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

$ gcc --version
gcc (GCC) 5.5.0
Copyright (C) 2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

$ uname -a
SunOS gcc-solaris11 5.11 11.3 sun4u sparc SUNW,SPARC-Enterprise

I wonder if this Solaris 11 host's use of a directory called
"/opt/csw/lib/gcc/sparc-sun-solaris2.10/5.5.0/include-fixed/math.h"
suggests a problem.

The source archive is 9.0MB.  Here's a URL for it.

https://paste.c-net.org/MonkeysFinished

As usual, let me know if I've left out important information.

Regards,
Branden

Attachment: signature.asc
Description: PGP signature

  • groff/gnulib build... G. Branden Robinson

Reply via email to