grep-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [platform-testers] new snapshot available: grep-3.4-almost.19-ff30


From: Bruno Haible
Subject: Re: [platform-testers] new snapshot available: grep-3.4-almost.19-ff30
Date: Sat, 19 Sep 2020 15:12:55 +0200
User-agent: KMail/5.1.3 (Linux/4.4.0-189-generic; KDE/5.18.0; x86_64; ; )

Jeffrey Walton wrote in
<https://lists.gnu.org/archive/html/grep-devel/2020-09/msg00020.html>:

> Hi Everyone,
> 
> grep-3.4-almost.19-ff30 fails self test on Alpine Linux 3.10 with
> BusyBox, triplet x86_64-pc-linux-gnu.
> 
>   ...
>   FAIL: test-hard-locale
>   FAIL: test-setlocale_null-mt-all
> 
> Attached are config.log and test-suite.log.

The cause of these two failures is the wrong triplet: $host_os is
  - on Alpine Linux 3.10: linux-gnu,
  - on Alpine Linux 3.9 and 3.12: linux-musl.
The triplet comes from config.guess. The test there uses ldd ('ldd --version'
in particular). But on Alpine Linux 3.10 /usr/bin/ldd has been replaced with
a shell script that does not understand the --version option.

This patch fixes it. Part of it can be removed once config.guess will have been
corrected.


2020-09-19  Bruno Haible  <bruno@clisp.org>

        Fix recognition of musl libc on Alpine Linux 3.10.
        Reported by Jeffrey Walton <noloader@gmail.com> in
        <https://lists.gnu.org/archive/html/grep-devel/2020-09/msg00020.html>.
        * m4/musl.m4 (gl_MUSL_CANONICAL_HOST): New macro.
        (gl_MUSL_LIBC): Require it.
        * m4/setlocale_null.m4 (gl_FUNC_SETLOCALE_NULL): Likewise.
        * modules/setlocale-null (Files): Add m4/musl.m4.

diff --git a/m4/musl.m4 b/m4/musl.m4
index 252054c..343c71a 100644
--- a/m4/musl.m4
+++ b/m4/musl.m4
@@ -1,4 +1,4 @@
-# musl.m4 serial 1
+# musl.m4 serial 2
 dnl Copyright (C) 2019-2020 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
@@ -9,10 +9,40 @@ dnl with or without modifications, as long as this notice is 
preserved.
 # <https://lists.gnu.org/archive/html/bug-gnulib/2018-02/msg00079.html>.
 # From Bruno Haible.
 
+# There are three ways to test for musl libc:
+# a. Look at the 'ldd --version' output. This is how config.guess
+#    does it. But it fails on Alpine Linux 3.10, because on this system
+#    'ldd' is a shell script that does not understand the '--version'
+#    option.
+# b. Test whether the header file <bits/alltypes.h> exists.
+# c. Test whether the header file <stdarg.h> defines the macro
+#    __DEFINED_va_list.
+# We use a+c.
+
 AC_DEFUN_ONCE([gl_MUSL_LIBC],
 [
-  AC_REQUIRE([AC_CANONICAL_HOST])
+  AC_REQUIRE([gl_MUSL_CANONICAL_HOST])
   case "$host_os" in
     *-musl*) AC_DEFINE([MUSL_LIBC], [1], [Define to 1 on musl libc.]) ;;
   esac
 ])
+
+# Like AC_CANONICAL_HOST, except for a fix regarding Alpine Linux 3.10.
+
+AC_DEFUN([gl_MUSL_CANONICAL_HOST],
+[
+  AC_REQUIRE([AC_CANONICAL_HOST])
+  case "$host_os" in
+    linux*-gnu*)
+      AC_EGREP_CPP([actually_musl],
+        [#include <stdarg.h>
+         #ifdef __DEFINED_va_list
+          actually_musl
+         #endif
+        ],
+        [host=`echo "$host" | sed -e 's/gnu.*/musl/'`
+         host_os=`echo "$host_os" | sed -e 's/gnu.*/musl/'`
+        ])
+      ;;
+  esac
+])
diff --git a/m4/setlocale_null.m4 b/m4/setlocale_null.m4
index c1ee1f7..20c5c99 100644
--- a/m4/setlocale_null.m4
+++ b/m4/setlocale_null.m4
@@ -1,4 +1,4 @@
-# setlocale_null.m4 serial 2
+# setlocale_null.m4 serial 3
 dnl Copyright (C) 2019-2020 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
@@ -6,7 +6,7 @@ dnl with or without modifications, as long as this notice is 
preserved.
 
 AC_DEFUN([gl_FUNC_SETLOCALE_NULL],
 [
-  AC_REQUIRE([AC_CANONICAL_HOST])
+  AC_REQUIRE([gl_MUSL_CANONICAL_HOST])
   AC_REQUIRE([gl_PTHREADLIB])
   AC_CHECK_HEADERS_ONCE([threads.h])
 
diff --git a/modules/setlocale-null b/modules/setlocale-null
index 2774004..d8c57a2 100644
--- a/modules/setlocale-null
+++ b/modules/setlocale-null
@@ -7,6 +7,7 @@ lib/setlocale_null.c
 lib/setlocale-lock.c
 lib/windows-initguard.h
 m4/setlocale_null.m4
+m4/musl.m4
 m4/threadlib.m4
 m4/visibility.m4
 




reply via email to

[Prev in Thread] Current Thread [Next in Thread]