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

Attachment: signature.asc
Description: PGP signature

Reply via email to