bug-gnulib
[Top][All Lists]
Advanced

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

Re: getgroups: test: =: unary operator expected


From: Jim Meyering
Subject: Re: getgroups: test: =: unary operator expected
Date: Wed, 22 Oct 2008 17:32:43 +0200

Simon Josefsson <address@hidden> wrote:
> Jim, the getgroups m4 check causes errors on mingw:
>
> ./configure: line 8004: test: =: unary operator expected
>
> The problem is this code:
>
>   AC_REQUIRE([AC_FUNC_GETGROUPS])
>   if test $ac_cv_func_getgroups_works = no; then
>
> The AC_FUNC_GETGROUPS function doesn't set ac_cv_func_getgroups_works if
> there is no getgroups function at all, which is the case on mingw.
>
> The patch below fixes the configure error, although maybe other
> solutions are more preferred.

Hi Simon,

Thanks for the patch.
That looks like a fine patch while we wait for a fixed version of
autoconf to come into play (proposed patch below).  An alternative
would be to provide a fixed AC_FUNC_GETGROUPS in gnulib, while we wait,
but your fix is so simple it's not worth it.

Please push that in gnulib.

To autoconf folks, I've attached the obvious patch below,
and will push it some time tomorrow if no one objects.


>>From 372854e7458969151cd1ec722670f17685479b20 Mon Sep 17 00:00:00 2001
> From: Simon Josefsson <address@hidden>
> Date: Wed, 22 Oct 2008 14:13:47 +0200
> Subject: [PATCH] getgroups: Avoid invoking test with wrong parameters.
>
> ---
>  ChangeLog       |    4 ++++
>  m4/getgroups.m4 |    6 +++---
>  2 files changed, 7 insertions(+), 3 deletions(-)
>
> diff --git a/ChangeLog b/ChangeLog
> index 0dca26b..bd0a10a 100644
> --- a/ChangeLog
> +++ b/ChangeLog
> @@ -1,3 +1,7 @@
> +2008-10-22  Simon Josefsson  <address@hidden>
> +
> +     * m4/getgroups.m4: Avoid invoking test with wrong parameters.
> +
>  2008-10-22  Eric Blake  <address@hidden>
>  
>       glthread/thread: avoid compiler warning
> diff --git a/m4/getgroups.m4 b/m4/getgroups.m4
> index edc2bde..0364752 100644
> --- a/m4/getgroups.m4
> +++ b/m4/getgroups.m4
> @@ -1,9 +1,9 @@
> -#serial 10
> +#serial 11
>  
>  dnl From Jim Meyering.
>  dnl A wrapper around AC_FUNC_GETGROUPS.
>  
> -# Copyright (C) 1996, 1997, 1999, 2000, 2001, 2002, 2003, 2004 Free
> +# Copyright (C) 1996, 1997, 1999, 2000, 2001, 2002, 2003, 2004, 2008 Free
>  # Software Foundation, Inc.
>  #
>  # This file is free software; the Free Software Foundation
> @@ -13,7 +13,7 @@ dnl A wrapper around AC_FUNC_GETGROUPS.
>  AC_DEFUN([gl_FUNC_GETGROUPS],
>  [
>    AC_REQUIRE([AC_FUNC_GETGROUPS])
> -  if test $ac_cv_func_getgroups_works = no; then
> +  if test "$ac_cv_func_getgroups_works" != yes; then
>      AC_LIBOBJ(getgroups)
>      AC_DEFINE(getgroups, rpl_getgroups,
>        [Define as rpl_getgroups if getgroups doesn't work right.])

>From 965e144f507f0e0d39cf3fd16097d6ec29479b93 Mon Sep 17 00:00:00 2001
From: Jim Meyering <address@hidden>
Date: Wed, 22 Oct 2008 17:25:46 +0200
Subject: [PATCH] AC_FUNC_GETGROUPS: always define $ac_cv_func_getgroups_works

* lib/autoconf/functions.m4 (AC_FUNC_GETGROUPS): Always define
the shell variable, $ac_cv_func_getgroups_works.  Otherwise,
if it set to "yes" in the environment and configure is run on
a system like mingw that lacks the getgroups function, it would
mistakenly define HAVE_GETGROUPS.  Reported by Simon Josefsson in
<http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/15354>.
---
 ChangeLog                 |   10 ++++++++++
 lib/autoconf/functions.m4 |    5 ++---
 2 files changed, 12 insertions(+), 3 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index f150c5f..5bac8c1 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,13 @@
+2008-10-22  Jim Meyering  <address@hidden>
+
+       AC_FUNC_GETGROUPS: always define $ac_cv_func_getgroups_works
+       * lib/autoconf/functions.m4 (AC_FUNC_GETGROUPS): Always define
+       the shell variable, $ac_cv_func_getgroups_works.  Otherwise,
+       if it set to "yes" in the environment and configure is run on
+       a system like mingw that lacks the getgroups function, it would
+       mistakenly define HAVE_GETGROUPS.  Reported by Simon Josefsson in
+       <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/15354>.
+
 2008-10-22  Eric Blake  <address@hidden>

        Fix testsuite failure.
diff --git a/lib/autoconf/functions.m4 b/lib/autoconf/functions.m4
index 14fe315..3999134 100644
--- a/lib/autoconf/functions.m4
+++ b/lib/autoconf/functions.m4
@@ -619,6 +619,7 @@ if test $ac_cv_func_getgroups = no; then
   AC_CHECK_LIB(bsd, getgroups, [GETGROUPS_LIB=-lbsd])
 fi

+ac_cv_func_getgroups_works=no
 # Run the program to test the functionality of the system-supplied
 # getgroups function only if there is such a function.
 if test $ac_cv_func_getgroups = yes; then
@@ -626,9 +627,7 @@ if test $ac_cv_func_getgroups = yes; then
    [AC_RUN_IFELSE([AC_LANG_PROGRAM([AC_INCLUDES_DEFAULT],
       [[/* On Ultrix 4.3, getgroups (0, 0) always fails.  */
        return getgroups (0, 0) == -1;]])],
-                 [ac_cv_func_getgroups_works=yes],
-                 [ac_cv_func_getgroups_works=no],
-                 [ac_cv_func_getgroups_works=no])
+                 [ac_cv_func_getgroups_works=yes])
    ])
   if test $ac_cv_func_getgroups_works = yes; then
     AC_DEFINE(HAVE_GETGROUPS, 1,
-- 
1.6.0.2.588.g3102





reply via email to

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