Skip to content

Commit 9e3a653

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 9e3a653

File tree

2 files changed

+9
-10
lines changed

2 files changed

+9
-10
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 & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -264,14 +264,6 @@ L</Platform Support> section, instead.
264264

265265
[ List changes as an =item entry ].
266266

267-
=over 4
268-
269-
=item *
270-
271-
XXX
272-
273-
=back
274-
275267
=head1 Testing
276268

277269
XXX Any significant changes to the testing of a freshly built perl should be
@@ -344,9 +336,10 @@ L</Modules and Pragmata> section.
344336

345337
=over 4
346338

347-
=item XXX-some-platform
339+
=item MacOS (Darwin)
348340

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

351344
=back
352345

0 commit comments

Comments
 (0)