Skip to content

Commit a11e3b5

Browse files
committed
Turn off locale collation in Darwin
With 5.41.11, Darwin is failing in its libc with: Assertion failed: (p->val == key), function lookup_substsearch, file collate.c, line 596. This started after we upgraded to Unicode 16.0.
1 parent 7c4efc4 commit a11e3b5

File tree

2 files changed

+9
-4
lines changed

2 files changed

+9
-4
lines changed

hints/darwin.sh

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -371,6 +371,12 @@ ccflags="$ccflags -DNO_POSIX_2008_LOCALE"
371371
# See comments in locale.c about this #define
372372
ccflags="$ccflags -DHAS_BROKEN_LANGINFO_CODESET"
373373

374+
# Get: "Assertion failed: (p->val == key), function lookup_substsearch, file
375+
# collate.c, line 596."
376+
if [ "$darwin_major" -ge 24 && "$perl_revision" -ge 5 -a ( "$perl_version" -ge 42 -o ( "$perl_version" -eq 41 -a "$perl_subversion" -ge 11 ) ) ]; then
377+
ccflags="$ccflags -DNO_LOCALE_COLLATE"
378+
fi
379+
374380
ldlibpthname='DYLD_LIBRARY_PATH';
375381

376382
# useshrplib=true results in much slower startup times.

pod/perldelta.pod

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -268,8 +268,6 @@ L</Platform Support> section, instead.
268268

269269
=item *
270270

271-
XXX
272-
273271
=back
274272

275273
=head1 Testing
@@ -344,9 +342,10 @@ L</Modules and Pragmata> section.
344342

345343
=over 4
346344

347-
=item XXX-some-platform
345+
=item MacOS (Darwin)
348346

349-
XXX
347+
Collation of strings using locales on MacOS 15 (Darwin 24) and up has
348+
been turned off due to a failed assertion in its libc.
350349

351350
=back
352351

0 commit comments

Comments
 (0)