Re: [GNU Autoconf 2.72e] testsuite: 11 119 261 failed on Solaris 11.4 x86
Alan Coopersmith <[email protected]>
| Newsgroups | gmane.comp.sysutils.autoconf.bugs |
|---|---|
| Message-ID | <[email protected]> |
On 12/21/23 10:48, Zack Weinberg wrote:
> On Thu, Dec 21, 2023, at 12:34 PM, Alan Coopersmith wrote:
>> For 119, the code in the Solaris find command that prints the
>> "find: cannot read dir sub/unwritable" message was modified last year
>> to make it not print that message if -prune was in effect for the directory,
>> so it's possible a bug in find was introduced by those changes.
>
> Yes, I believe this is a recently introduced bug in Solaris find.
> This sequence of shell commands should reproduce:
>
> mkdir sub
> mkdir sub/unwritable
> touch sub/unwritable/file
> chmod a-wx sub/unwritable
> find sub -type d ! -perm -700 -exec chmod u+rwx {} \;
It does - I'll file a bug against Solaris find and you can ignore this
report. (If anyone else hits it, the simple workaround is to use
/usr/gnu/bin/find instead of /usr/bin/find.)
> As previously mentioned, the Solaris 11 machine I have access to is
> version 11.3 (unknown patch level; if you know how to get anything
> more specific than that, please let me know).
On Solaris 11.4, you can use uname -v, but on Solaris 11.3 the easiest
way I know is "pkg info entire" should have a line like:
Version: 0.5.11 (Oracle Solaris 11.3.21.5.0)
>> For 261, Solaris gained a /dev/full device in Solaris 11.4.51.
>> Since the only purpose of this device is to return ENOSPC, I would
>> hope that it's fully compatible with the implementations on other OS'es,
>> but I don't know of any testing done to confirm that.
>
> This may be a bug in your /bin/sh or {/usr,}/bin/printf. The command
> that failed in this test is
>
> ./config.status --header=-:input </dev/null >/dev/full
>
> which is *expected* to print an error message (on stderr) and exit
> unsuccessfully, but on your test machine it printed nothing and exited
> successfully.
>
> When I execute this command on my Linux workstation, using the files
> 'config.status' and 'input' from your tarball, I get
>
> ./config.status: line 978: printf: write error: No space left on device
> config.status: error: could not create -
>
> and an unsuccessful exit status. I would guess that on your machine
> the printf built-in and/or standalone printf executable are not
> reporting write errors.
On Solaris 11.4, /bin/sh is currently a somewhat modified ksh93u+ -
we're working to resync with the new community upstream still.
In that shell, when I run:
printf "test" </dev/null >/dev/full
it prints nothing and $? is set to 0.
The same happens with /usr/bin/printf instead of the shell builtin.
> Since I don't have access to a Solaris 11.4 machine myself, and since
> both of these appear to be plain bugs in the shell and utilities, I'm
> currently not planning to make any changes because of these failures.
A two year old version of 11.4 (the 11.4.42 update) is available under terms
we hope are suitable for FOSS developers from
https://www.oracle.com/solaris/solaris11/downloads/solaris-downloads.html
if you have a supported SPARC or x86-64 machine to run it on. Unfortunately
it doesn't include security or other updates, though we hope to get another
update released sometime in the next year or so.
We're also working to make a SPARC Solaris 11.4 machine available to the
gcc build farm, hopefully in the first part of new year.
> Please let me know if you disagree; in which case, please suggest what
> we should do, because I don't see any good workaround in Autoconf's code
> for either issue.
That sounds fine to me. As noted in other mail, I didn't see any failures
from configure scripts, just from the test suite.
--
-Alan Coopersmith- [email protected]
Oracle Solaris Engineering - https://blogs.oracle.com/solaris