in reply to perl 5.38 - File open test failures on RockyLinux 8.8

All those tests are filesystem-related. Is the filesystem you are building on somehow non-standard?

This is a long shot, since I would expect far more tests to fail if your filesystem were weird, but maybe you are building on a network filesystem (AFS, NFS, ...) which behaves weird.

Other than that, it is weird that only some of the tests that create/check files fail and the basic ones seem to pass.

One thing that comes to mind when looking at ExtUtils::Install/Packlist.t:

# set this file to read-only chmod 0444, 'eplist'; ... eval { ExtUtils::Packlist::write({}, 'eplist') };

If you are running the tests as root or some other kind of superuser, the test will pass, as file permissions don't apply to root.

Replies are listed 'Best First'.
Re^2: perl 5.38 - File open test failures on RockyLinux 8.8
by Anonymous Monk on Jul 26, 2023 at 00:26 UTC

    I had run all the commands as mere-mortal user, nor do I have any intention to run them as root.

    Ah, yes, NFS! Thanks for bringing that up. (Unless something weird happens, do not notice the file system that is NFS.) User directories are available over NFSv4, where I was building|testing the things; will try on a local disk (ext4).

Re^2: perl 5.38 - File open test failures on RockyLinux 8.8
by Anonymous Monk on Aug 02, 2023 at 01:07 UTC

    Tests passed when (built &) tested directly on RockyLinux 8.8 ext4; OpenZFS 2.1.4 (FreeBSD 13.1-RELEASE-p8 zfs-2.1.4-FreeBSD_g52bad4f23) & 2.2.0 (FreeBSD 14-CURRENT zfs-2.2.0-FreeBSD_g009d3288) file systems.

    Cannot say what would happen on ZFS of the FreeBSD 12 server that exports the directory over NFSv4 (as do not have a set up laying around, nor am I in(v|ter)ested enough to bother with a virtual machine).

Re^2: perl 5.38 - File open test failures on RockyLinux 8.8
by Anonymous Monk on Mar 04, 2024 at 11:00 UTC

    Hello everyone,

    I am experiencing the same errors and some more:

    op/stat.t (Ws +tat: 0 Tests: 111 Failed: 1) Failed test: 91 ../cpan/ExtUtils-Install/t/can_write_dir.t (Ws +tat: 512 (exited 2) Tests: 12 Failed: 2) Failed tests: 7-8 Non-zero exit status: 2 ../cpan/ExtUtils-Install/t/Packlist.t (Ws +tat: 256 (exited 1) Tests: 35 Failed: 1) Failed test: 18 Non-zero exit status: 1 ../cpan/ExtUtils-MakeMaker/t/Mkbootstrap.t (Ws +tat: 256 (exited 1) Tests: 18 Failed: 1) Failed test: 8 Non-zero exit status: 1 ../cpan/ExtUtils-Manifest/t/Manifest.t (Ws +tat: 256 (exited 1) Tests: 98 Failed: 1) Failed test: 93 Non-zero exit status: 1 ../cpan/IO-Compress/t/cz-14gzopen.t (Ws +tat: 1024 (exited 4) Tests: 264 Failed: 4) Failed tests: 182-183, 185-186 Non-zero exit status: 4 ../ext/POSIX/t/termios.t (Ws +tat: 1536 (exited 6) Tests: 1655 Failed: 6) Failed tests: 98, 100, 1649, 1651, 1653, 1655 Non-zero exit status: 6
    during compilation of perl 5.38.2 using perlbrew on AFS filesystem (Auristor 2021.05)

    Compiling locally (CentOS7 and RHEL9) works fine, though. AFS ACLs are set diffenrently and do not use the local FS calls, thus it comes to my mind it could be worth pondering on an environment variable, which states during compilation time, that the underlying FS is non-standard, so the tests may be skipped or the variable evaluated and other test might be run. Whoever is willing to implement that...

      If you review the output of ./Configure, it should detect that it is running under AFS.

      Maybe people have not build Perl on AFS for a long time.

        Indeed, Configure detects AFS and states AFS may be running... I'll be extra cautious then.... But I cannot find anything in the code or tests, which reflects such a behaviour; but that might well be my inability to find the relevant code parts.