Hi Jeff, At 2024-12-06T13:19:27-0500, Jeffrey Walton wrote: > On Fri, Dec 6, 2024 at 1:16 PM G. Branden Robinson > <g.branden.robin...@gmail.com> wrote: > > > > At 2024-12-06T16:49:13+0000, Colin Watson wrote: > > > On Fri, Dec 06, 2024 at 06:04:57AM -0600, G. Branden Robinson wrote: > > > > Is there something I can specify to "configure" or make(1) to > > > > override gnulib's decision here? > > > > > > While I have no expertise with Solaris 10 in particular, passing > > > `gl_cv_func_signbit=yes` as a `./configure` argument ought to override > > > Gnulib's decision to supply a replacement. > > > > For some reason, it doesn't. :( > > Try `gl_cv_func_signbit=no` since you don't want to activate the code path.
Thanks. Weirdly, neither setting makes a difference. The build fails in the same spot for the same reason if this setting is "yes", "no", or absent. gmake[2]: Entering directory '/export/home/gbranden/groff-1.23.0.2599-3cde9' CXX src/devices/grodvi/dvi.o In file included from src/devices/grodvi/dvi.cpp:25:0: ./lib/math.h: In function ‘bool signbit(float)’: ./lib/math.h:3281:1: error: ‘bool signbit(float)’ conflicts with a previous declaration _GL_MATH_CXX_REAL_FLOATING_DECL_2 (signbit, signbit, 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:25: /usr/include/iso/math_c99.h:688:14: note: previous declaration ‘bool std::signbit(float)’ inline bool signbit(float __X) { return __builtin_signbitf(__X); } ^ In file included from src/devices/grodvi/dvi.cpp:25:0: ./lib/math.h: In function ‘bool signbit(double)’: ./lib/math.h:3281:1: error: ‘bool signbit(double)’ conflicts with a previous declaration _GL_MATH_CXX_REAL_FLOATING_DECL_2 (signbit, signbit, 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:25: /usr/include/iso/math_c99.h:712:14: note: previous declaration ‘bool std::signbit(double)’ inline bool signbit(double __X) { return __builtin_signbit(__X); } ^ In file included from src/devices/grodvi/dvi.cpp:25:0: ./lib/math.h: In function ‘bool signbit(long double)’: ./lib/math.h:3281:1: error: ‘bool signbit(long double)’ conflicts with a previous declaration _GL_MATH_CXX_REAL_FLOATING_DECL_2 (signbit, signbit, 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:25: /usr/include/iso/math_c99.h:736:14: note: previous declaration ‘bool std::signbit(long double)’ inline bool signbit(long double __X) { return __builtin_signbitl(__X); } ^ gmake[2]: *** [Makefile:9134: src/devices/grodvi/dvi.o] Error 1 gmake[2]: Leaving directory '/export/home/gbranden/groff-1.23.0.2599-3cde9' gmake[1]: *** [Makefile:11284: all-recursive] Error 1 gmake[1]: Leaving directory '/export/home/gbranden/groff-1.23.0.2599-3cde9' gmake: *** [Makefile:6714: all] Error 2 *** installation directories are NOT clean (.../info/dir is OK) Attaching my build script. I run it with "bash ../go" to avoid Solaris 10 /bin/sh, the World's Worst Shell. Regards, Branden
#!/bin/sh export MAKE=make if [ "$(uname -s)" = SunOS ] then export PATH=/usr/xpg4/bin:$PATH export MAKE=$(which gmake) export AR=$(which gar) if [ "$(uname -r)" = 5.10 ] then #export M4=$(which gm4) export CONFIG_SHELL=/bin/bash fi fi gs=absent urw=absent urw_dir=/usr/share/fonts/type1/urw-base35 test -f /usr/bin/gs && gs=present # fontconfig might litter this directory with a .uuid file >:-( if [ -d $urw_dir ] then count=$(find $urw_dir -type f | wc -l) test $count -gt 1 && urw=present fi echo SCENARIO: urw $urw, gs $gs ./configure --prefix=$HOME gl_cv_func_signbit=no \ && $MAKE if [ $? = 0 ] then # Expect test failures on Solaris 10. if [ "$(uname -s)" = SunOS ] && [ "$(uname -r)" = 5.10 ] then echo Fixing up the test scripts to use a POSIX shell. >&2 gsed -i -e '1s@#!/bin/sh@#!/usr/xpg4/bin/sh@' \ `find . -name '*.sh' | egrep '/(examples|tests)/'` gsed -i -e '1s@#!/bin/sh@#!/usr/xpg4/bin/sh@' \ `find . -name '*.sh.in' | egrep '/(examples|tests)/'` $MAKE check $MAKE install install-doc \ && : #&& $MAKE uninstall \ #&& $MAKE distclean else echo GBR: PATH=$PATH $MAKE check \ && $MAKE install install-doc \ && : #&& $MAKE uninstall \ #&& $MAKE distclean fi fi list=$(find $HOME/bin $HOME/lib $HOME/share -type f) if [ -n "$list" ] then echo '*** installation directories are NOT clean (.../info/dir is OK)' else echo '$HOME/{bin,lib,share}' directories are clean fi
signature.asc
Description: PGP signature