Ralf Wildenhues | 12 Jun 2009 12:26
Picon
Picon

testsuite failures with current git master M4

Hi Eric,

seeing a couple of failures with current git master M4:

Cheers,
Ralf

## -------------------------------------- ##
## GNU M4 1.9a.502-64df-dirty test suite. ##
## -------------------------------------- ##

testsuite: command line was:
  $ ../m4/tests/testsuite -C tests

## ----------- ##
## ChangeLogs. ##
## ----------- ##

testsuite: ../../m4/gnulib/ChangeLog:
| 2009-04-16  Jim Meyering  <meyering <at> redhat.com>
| 
| 	useless-if-before-free: improve conversion code
| 	* build-aux/useless-if-before-free: Adjust code-in-comment to match
| 	"...!= 0" as well as "...!= NULL".  emacs has one of the former.
| 
| 2009-04-14  Bruno Haible  <bruno <at> clisp.org>
| 
| 	* modules/fcntl (Depends-on): Add extensions.
| 	* m4/fcntl_h.m4 (gl_FCNTL_H): Add a comment.

(Continue reading)

Ralf Wildenhues | 12 Jun 2009 13:06
Picon
Picon

git master should use gnulib module snprintf

Hi Eric,

git master M4 uses snprintf in m4/output.c but does not use the snprintf
module from gnulib.  This leads to a link error on Tru64/OSF1:

autom4te_perllibdir='../../autoconf'/lib                                        AUTOM4TE_CFG='../lib/autom4te.cfg'         ../bin/autom4te      
-B '..'/lib -B '../../autoconf'/lib         --language=autotest -I . -I ../../autoconf/tests
../../autoconf/tests/suite.at -o ./testsuite.tmp
15433:/home/rwild/local/alphaev5-dec-osf4.0d/bin/m4: /sbin/loader: Fatal Error: Unresolved
symbol in /home/rwild/local/alphaev5-dec-osf4.0d/lib/libm4.so.0: snprintf
autom4te: /home/rwild/local/alphaev5-dec-osf4.0d/bin/m4 failed with exit status: 1

Cheers,
Ralf

Eric Blake | 13 Jun 2009 06:41
Gravatar

Re: testsuite failures with current git master M4


According to Ralf Wildenhues on 6/12/2009 4:26 AM:
> Hi Eric,
> 
> seeing a couple of failures with current git master M4:
> 
> +++ /tmp/m4/build/tests/testsuite.dir/at-groups/40/stdout	2009-06-12 12:23:32.000000000 +0200
>  <at>  <at>  -1,3 +1,3  <at>  <at> 
> -m4: unrecognized option `--diversions=1'
> +m4: unrecognized option '--diversions=1'

Odd.  All of these failures look like they are related to getopt; perhaps
there is some locale effect on the translation of the "`" in the getopt
strings when using glibc instead of gnulib's version?  What version of
glibc is this?  Can we figure out why ` was showing up as ', to determine
whether I should relax the testsuite, or else improve gnulib to recognize
this translation anomaly in the getopt output?

--
Don't work too hard, make some time for fun as well!

Eric Blake             ebb9 <at> byu.net
Ralf Wildenhues | 13 Jun 2009 11:21
Picon
Picon

Re: testsuite failures with current git master M4

* Eric Blake wrote on Sat, Jun 13, 2009 at 06:41:20AM CEST:
> According to Ralf Wildenhues on 6/12/2009 4:26 AM:
> > seeing a couple of failures with current git master M4:
> > 
> > +++ /tmp/m4/build/tests/testsuite.dir/at-groups/40/stdout	2009-06-12 12:23:32.000000000 +0200
> >  <at>  <at>  -1,3 +1,3  <at>  <at> 
> > -m4: unrecognized option `--diversions=1'
> > +m4: unrecognized option '--diversions=1'
> 
> Odd.  All of these failures look like they are related to getopt; perhaps
> there is some locale effect on the translation of the "`" in the getopt
> strings when using glibc instead of gnulib's version?  What version of
> glibc is this?

This is eglibc from Debian testing:

GNU C Library (EGLIBC) stable release version 2.9, by Roland McGrath et al.
Copyright (C) 2008 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.
Compiled by GNU CC version 4.3.3.
Compiled on a Linux >>2.6.26-2-amd64<< system on 2009-05-08.
Available extensions:
        crypt add-on version 2.1 by Michael Glad and others
        GNU Libidn by Simon Josefsson
        Native POSIX Threads Library by Ulrich Drepper et al
        BIND-8.2.3-T5B
For bug reporting instructions, please see:
<http://www.eglibc.org/issues/>.
(Continue reading)

Eric Blake | 13 Jun 2009 16:42
Gravatar

Re: git master should use gnulib module snprintf


According to Ralf Wildenhues on 6/12/2009 5:06 AM:
> Hi Eric,
> 
> git master M4 uses snprintf in m4/output.c but does not use the snprintf
> module from gnulib.  This leads to a link error on Tru64/OSF1:

Thanks for the report.  Fixed as follows, also affected branch-1.6:

--
Don't work too hard, make some time for fun as well!

Eric Blake             ebb9 <at> byu.net
From e6a31a7b140bc717b5320e1dcb588eea46a6839c Mon Sep 17 00:00:00 2001
From: Eric Blake <ebb9 <at> byu.net>
Date: Sat, 13 Jun 2009 08:04:12 -0600
Subject: [PATCH] Avoid snprintf link failures.

* ltdl/m4/gnulib-cache.m4: Import snprintf-posix module.
Reported by Ralf Wildenhues.

Signed-off-by: Eric Blake <ebb9 <at> byu.net>
---
 ChangeLog               |    6 ++++++
 ltdl/m4/gnulib-cache.m4 |    3 ++-
 2 files changed, 8 insertions(+), 1 deletions(-)

diff --git a/ChangeLog b/ChangeLog
(Continue reading)

Ralf Wildenhues | 14 Jun 2009 08:50
Picon
Picon

Re: testsuite failures with current git master M4

* Ralf Wildenhues wrote on Sat, Jun 13, 2009 at 11:21:04AM CEST:
> * Eric Blake wrote on Sat, Jun 13, 2009 at 06:41:20AM CEST:
> > According to Ralf Wildenhues on 6/12/2009 4:26 AM:
> > > seeing a couple of failures with current git master M4:

> > > -m4: unrecognized option `--diversions=1'
> > > +m4: unrecognized option '--diversions=1'
> > 
> > Odd.  All of these failures look like they are related to getopt; perhaps
> > there is some locale effect on the translation of the "`" in the getopt
> > strings when using glibc instead of gnulib's version?  What version of
> > glibc is this?
> 
> This is eglibc from Debian testing:

However, the corresponding change to drop "`" from getopt error messages
is in upstream glibc as well:
<http://sourceware.org/git/?p=glibc.git;a=commit;h=2127a18634b03df94c69900765c3a44016251d93>

Cheers,
Ralf

Eric Blake | 15 Jun 2009 14:04
Gravatar

Re: testsuite failures with current git master M4


According to Ralf Wildenhues on 6/14/2009 12:50 AM:
>>> Odd.  All of these failures look like they are related to getopt; perhaps
>>> there is some locale effect on the translation of the "`" in the getopt
>>> strings when using glibc instead of gnulib's version?  What version of
>>> glibc is this?
>> This is eglibc from Debian testing:
> 
> However, the corresponding change to drop "`" from getopt error messages
> is in upstream glibc as well:

It sounds like it is thus time for us to resync glibc's getopt
implementation into gnulib, and for me to relax m4's testsuite to accept
either spelling.

--
Don't work too hard, make some time for fun as well!

Eric Blake             ebb9 <at> byu.net
Jay | 16 Jun 2009 09:04
Picon
Favicon

errors building m4 on interix/sfu/sua

m4-1.4.13
spawni.c: In function `gl_posix_spawn_internal':
spawni.c:233: warning: implicit declaration of function `seteuid'
spawni.c:234: warning: implicit declaration of function `setegid'
spawni.c:354: error: `ESTALE' undeclared (first use in this function)
spawni.c:354: error: (Each undeclared identifier is reported only once
spawni.c:354: error: for each function it appears in.)
 
 => suggest #ifdef ESTALE around the use of ESTALE
   (I see Posix mandates ESTALE, and gnulib works around it missing on some systems.)
 
 
 seteuid/gid are "only" warnings so I guess ok.
 seteuid is in libc.a but not any headers.

 
m4-1.4.12
fatal-signal.c: In function `install_handlers':
fatal-signal.c:189: error: `SA_NODEFER' undeclared (first use in this function)
fatal-signal.c:189: error: (Each undeclared identifier is reported only once
fatal-signal.c:189: error: for each function it appears in.)
 
 
m4-1.4.11
 => no problem


 - Jay

Eric Blake | 16 Jun 2009 14:05
Gravatar

Re: errors building m4 on interix/sfu/sua


[adding bug-gnulib]

According to Jay on 6/16/2009 1:04 AM:
> m4-1.4.13
> spawni.c: In function `gl_posix_spawn_internal':
> spawni.c:233: warning: implicit declaration of function `seteuid'
> spawni.c:234: warning: implicit declaration of function `setegid'
> spawni.c:354: error: `ESTALE' undeclared (first use in this function)
> spawni.c:354: error: (Each undeclared identifier is reported only once
> spawni.c:354: error: for each function it appears in.)
>  
>  => suggest #ifdef ESTALE around the use of ESTALE
>    (I see Posix mandates ESTALE, and gnulib works around it missing on
> some systems.)
>  
>  
>  seteuid/gid are "only" warnings so I guess ok.
>  seteuid is in libc.a but not any headers.

Thanks for the report.  Yes, gnulib can work around missing ESTALE, but we
would need to port errno_h.m4 to detect interix's situation on which
errno's are already defined.  Interix has not had a champion on the gnulib
list lately, so if you are willing, please step in to help us port to your
platform.  Are there any other errors besides ESTALE missing?  Or put
another way, would modifying the gl_HEADER_ERRNO_H macro to check for
missing ESTALE be sufficient to detect that your system's errno.h is
lacking, and that the existing replacement header would then pick up all
the slack?  Seeing the contents of config.log around the point where it
tells you "checking for complete errno.h" would be helpful.

> 
>  
> m4-1.4.12
> fatal-signal.c: In function `install_handlers':
> fatal-signal.c:189: error: `SA_NODEFER' undeclared (first use in this
> function)

I'm not worried about fixing older m4 versions.  Let's focus on getting
the latest to work.

--
Don't work too hard, make some time for fun as well!

Eric Blake             ebb9 <at> byu.net
jay.krell | 16 Jun 2009 16:08
Picon
Favicon

Re: errors building m4 on interix/sfu/sua

Isn't just ifdef estale around use of it sufficient? Or is there some  
chance of const int or such? Given that const int cannot be switched  
on in C, they must    all be defines and simple ifdef suffices and is  
fully portable no need for configury? Right? Old versions: just  
showing lame options tried and even worked. I don't/won'tlikely have  
the paperwork,

  - Jay (phone)

On Jun 16, 2009, at 5:05 AM, Eric Blake <ebb9 <at> byu.net> wrote:

> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> [adding bug-gnulib]
>
> According to Jay on 6/16/2009 1:04 AM:
>> m4-1.4.13
>> spawni.c: In function `gl_posix_spawn_internal':
>> spawni.c:233: warning: implicit declaration of function `seteuid'
>> spawni.c:234: warning: implicit declaration of function `setegid'
>> spawni.c:354: error: `ESTALE' undeclared (first use in this function)
>> spawni.c:354: error: (Each undeclared identifier is reported only  
>> once
>> spawni.c:354: error: for each function it appears in.)
>>
>> => suggest #ifdef ESTALE around the use of ESTALE
>>   (I see Posix mandates ESTALE, and gnulib works around it missing on
>> some systems.)
>>
>>
>> seteuid/gid are "only" warnings so I guess ok.
>> seteuid is in libc.a but not any headers.
>
> Thanks for the report.  Yes, gnulib can work around missing ESTALE,  
> but we
> would need to port errno_h.m4 to detect interix's situation on which
> errno's are already defined.  Interix has not had a champion on the  
> gnulib
> list lately, so if you are willing, please step in to help us port  
> to your
> platform.  Are there any other errors besides ESTALE missing?  Or put
> another way, would modifying the gl_HEADER_ERRNO_H macro to check for
> missing ESTALE be sufficient to detect that your system's errno.h is
> lacking, and that the existing replacement header would then pick up  
> all
> the slack?  Seeing the contents of config.log around the point where  
> it
> tells you "checking for complete errno.h" would be helpful.
>
>>
>>
>> m4-1.4.12
>> fatal-signal.c: In function `install_handlers':
>> fatal-signal.c:189: error: `SA_NODEFER' undeclared (first use in this
>> function)
>
> I'm not worried about fixing older m4 versions.  Let's focus on  
> getting
> the latest to work.
>
> - --
> Don't work too hard, make some time for fun as well!
>
> Eric Blake             ebb9 <at> byu.net
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.4.9 (Cygwin)
> Comment: Public key at home.comcast.net/~ericblake/eblake.gpg
> Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
>
> iEYEARECAAYFAko3ip4ACgkQ84KuGfSFAYDSowCdG6ssrKEM51K3OextdaipEY6a
> 0MEAn2dn80VncrT4c66XkvzZMDZPK1KV
> =DWJX
> -----END PGP SIGNATURE-----
>


Gmane