Skip to content

op/magic.t fails to build in perl > 5.36.1 on macOS #21890

@perlboy-emeritus

Description

@perlboy-emeritus

Submitted initially at PerlMonks. I try to upgrade perl once a year or so using perlbrew on macOS 12.7.2. My last was 5.36.1 in August 2023, a flawless build. Today I tried 5.38.2 to get the latest stable release with all the security fixes, and when that failed, tried 5.36.3, which also failed. Interestingly, both failed for exactly the same build steps, To wit:

Test Summary Report    perl 5.36.3
-------------------
op/magic.t                                     (Wstat: 0 Tests: 208 Failed: 10)
  Failed tests:  181-184, 186-187, 190, 193, 197, 199
Files=2767, Tests=1206617, 935 wallclock secs (65.29 usr 13.91 sys + 570.01 cusr 79.49 csys = 728.70 CPU)
Result: FAIL
make: *** [test_harness](https://www.perlmonks.org/?node=test_harness) Error 10
##### Brew Failed #####


Test Summary Report     perl 5.38.2
-------------------
op/magic.t                                     (Wstat: 0 Tests: 208 Failed: 10)
  Failed tests:  181-184, 186-187, 190, 193, 197, 199
Files=2767, Tests=1183648, 874 wallclock secs (61.53 usr 13.42 sys + 513.09 cusr 79.00 csys = 667.04 CPU)
Result: FAIL
Finished test run at Thu Jan 25 12:50:13 2024.
make: *** [test_harness](https://www.perlmonks.org/?node=test_harness) Error 10
##### Brew Failed #####


# Failed test 181 - setting $0 does not break %ENV at op/magic.t line 87
#      got "foo foo"
# expected "foo"
# Failed test 182 - setting a key as undef does not delete it at op/magic.t line 87
#      got " "
# expected ""
# Failed test 183 - ENV store of stringified glob at op/magic.t line 87
#      got "*main::TODO *main::TODO"
# expected "*main::TODO"
#  diff at 11
#    after "*main::TODO *main::TODO"
#     have " *main::TODO"
#     want ""
# Failed test 184 - ENV store of stringified ref at op/magic.t line 87
#      got "ARRAY(0x7fadc3259390) ARRAY(0x7fadc3259390)"
# expected "ARRAY(0x7fadc3259390)"
#  diff at 21
#    after "ARRAY(0x7fadc3259390) ARRAY(0x7fadc32593"
#     have " ARRAY(0x7fadc3259390)"
#     want ""
# Failed test 186 - ENV store downgrades utf8 in setenv at op/magic.t line 87
#      got "eh zero <A0> eh zero <A0>"
# expected "eh zero <A0>"
# Failed test 187 - ENV store downgrades utf8 key in setenv at op/magic.t line 87
#      got "widekey widekey"
# expected "widekey"
# Failed test 190 - ENV store takes utf8-encoded key in setenv at op/magic.t line 87
#      got "widekey widekey"
# expected "widekey"
# Failed test 193 - ENV store encodes high utf8 in SV at op/magic.t line 87
#      got "X-Day ᦘ X-Day ᦘ"
# expected "X-Day ᦘ"
# Failed test 197 - at op/magic.t line 87
#      got "foo foo"
# expected "foo"
# Failed test 199 - at op/magic.t line 87
#      got "foo foo"
# expected "foo"
op/magic.t ........................................................... 
Failed 10/208 subtests

Any suggestions? I hate being stuck at 5.36.1. Thanks for your priceless help.


U P D A T E

Apple and macOS are driving me crazy. I purchased a second (refurbished) laptop to run Monterey, as I was maxed out with High Sierra on my go-to machine. I needed to run PDL and it would not build in 10.13.6, and now Perl > 5.36.1 will not build in Monterey. Perlbrew Perl 5.38.2 builds correctly in MacOS 10.13.6. op/magic-27839.t and op/magic.t pass all tests. The changes made to mg.c after 5.36.1 are extensive, more than 3k new code, so the devs broke something. I have little expectation now this will ever be fixed as support for macOS is low-priority. That PDL problem was never addressed to my satisfaction since the way PDL implements macros causes pdlcore.c to segmentation fault in Apple compilers, both clang and gcc. Bummer...

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions