Hi Jacob, Thanks for the quick response.
At 2024-12-01T23:48:09-0600, Jacob Bachmeyer wrote:
> On 12/1/24 21:03, G. Branden Robinson wrote:
> > [...]
> >
> > So the "good tr" branch is being taken in the configure script, but not
> > in vivo at a shell prompt. I can't explain this.
>
> First question: what shell is configure actually running under?
>
> Autoconf makes an effort to find a plausible POSIX shell, and /bin/sh
> on Solaris 10 is not it. The copy of bash-3.2 you used for
> interactive testing was probably not it either. I seem to recall that
> grepping config.status for CONFIG_SHELL should tell you.
Here's what I get.
$ grep CONFIG_SHELL config.status
SHELL=${CONFIG_SHELL-/bin/bash}
$as_echo "running CONFIG_SHELL=/bin/bash $*" >&6
CONFIG_SHELL='/bin/bash'
export CONFIG_SHELL
$ /bin/bash --version
GNU bash, version 3.2.51(1)-release (sparc-sun-solaris2.10)
Copyright (C) 2007 Free Software Foundation, Inc.
> Off the top of my head, try `CONFIG_SHELL=/full/name/of/bash-3.2
> configure` and see if the test works.
Okay, I did. The mystery would appear to deepen.
The same grep gets the same results.
I drive the build from a shell script because building on Solaris 10
_or_ 11 is a headache. I'm attaching the script.
> > Would someone kindly point out my rookie mistake?
> I am not so certain that this is exactly a rookie mistake---it looks
> like you may have uncovered a shell bug, but in which shell?
I am baffled that bash 3.2 would behave one way interactively and
another when run via configure. Presumably something else is going on?
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 \
&& $MAKE
if [ $? = 0 ]
then
# Expect test failures on Solaris 10.
if [ "$(uname -s)" = SunOS ] && [ "$(uname -r)" = 5.10 ]
then
# Fix up the test scripts to use a POSIX shell.
gsed -i -e '1s@#!/bin/sh@#!/usr/xpg4/bin/sh@' \
`find . -name '*.sh' | grep /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
