Hi Jeff, At 2024-12-06T13:19:27-0500, Jeffrey Walton wrote: > On Fri, Dec 6, 2024 at 1:16 PM G. Branden Robinson > <[email protected]> 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
