Skip to content

Commit c8b2ad5

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 c8b2ad5

File tree

2 files changed

+8
-1
lines changed

2 files changed

+8
-1
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: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -268,7 +268,8 @@ L</Platform Support> section, instead.
268268

269269
=item *
270270

271-
XXX
271+
Collation of strings using locales on MacOS (Darwin) v15 and up has
272+
been turned off due to a failed assertion in its libc.
272273

273274
=back
274275

0 commit comments

Comments
 (0)