SPDX-FileCopyrightText: 2023 Emily Trau SPDX-License-Identifier: GPL-2.0-or-later strcoll() does not exist in mes libc, change it to strcmp. hard_LC_COLLATE is used but not declared when HAVE_SETLOCALE is unset. --- lib/memcoll.c +++ lib/memcoll.c @@ -47,7 +47,7 @@ memcoll (char *s1, size_t s1len, char *s2, size_t s2len) s1[s1len++] = '\0'; s2[s2len++] = '\0'; - while (! (errno = 0, (diff = strcoll (s1, s2)) || errno)) + while (! (errno = 0, (diff = strcmp (s1, s2)) || errno)) { /* strcoll found no difference, but perhaps it was fooled by NUL characters in the data. Work around this problem by advancing --- src/sort.c +++ src/sort.c @@ -91,13 +91,13 @@ double strtod (); #define NEGATION_SIGN '-' #define NUMERIC_ZERO '0' +/* Nonzero if the corresponding locales are hard. */ +static int hard_LC_COLLATE; #if HAVE_SETLOCALE static char decimal_point; static int th_sep; /* if CHAR_MAX + 1, then there is no thousands separator */ -/* Nonzero if the corresponding locales are hard. */ -static int hard_LC_COLLATE; # if HAVE_NL_LANGINFO static int hard_LC_TIME; # endif