GNU bug report logs - #30913
Releasing a build compatible with glibc-2.26+

Previous Next

Package: diffutils;

Reported by: The Fireplace <the.f1repl4ce <at> gmail.com>

Date: Fri, 23 Mar 2018 00:42:01 UTC

Severity: normal

To reply to this bug, email your comments to 30913 AT debbugs.gnu.org.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-diffutils <at> gnu.org:
bug#30913; Package diffutils. (Fri, 23 Mar 2018 00:42:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to The Fireplace <the.f1repl4ce <at> gmail.com>:
New bug report received and forwarded. Copy sent to bug-diffutils <at> gnu.org. (Fri, 23 Mar 2018 00:42:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: The Fireplace <the.f1repl4ce <at> gmail.com>
To: "bug-diffutils <at> gnu.org" <bug-diffutils <at> gnu.org>
Subject: Releasing a build compatible with glibc-2.26+
Date: Thu, 22 Mar 2018 19:38:12 -0500
[Message part 1 (text/plain, inline)]
Hello,
I would like to use diffutils alongside glibc-2.27, but it seems that the latest release of diffutils doesn’t support it. Is it possible that you guys could make a new release or alpha build with the changes that have been made since the last release? As I understand it, the issue has been fixed. I get it if all current changes aren’t tested enough to make a full release, but I’m hoping at least an alpha can be made, though it looks like none have been made in a while. If neither can be made right now, if you have any other way for me to solve this compatibility issue, I’d love to hear it. I look forward to hearing back from you.
Sincerely,
The_Fireplace

[Message part 2 (text/html, inline)]

Information forwarded to bug-diffutils <at> gnu.org:
bug#30913; Package diffutils. (Fri, 23 Mar 2018 05:02:01 GMT) Full text and rfc822 format available.

Message #8 received at 30913 <at> debbugs.gnu.org (full text, mbox):

From: Paul Eggert <eggert <at> cs.ucla.edu>
To: The Fireplace <the.f1repl4ce <at> gmail.com>, 30913 <at> debbugs.gnu.org
Subject: Re: [bug-diffutils] bug#30913: Releasing a build compatible with
 glibc-2.26+
Date: Thu, 22 Mar 2018 22:01:10 -0700
The Fireplace wrote:
> I would like to use diffutils alongside glibc-2.27, but it seems that the latest release of diffutils doesn’t support it.

What's the problem, exactly?




Information forwarded to bug-diffutils <at> gnu.org:
bug#30913; Package diffutils. (Fri, 23 Mar 2018 06:08:02 GMT) Full text and rfc822 format available.

Message #11 received at 30913 <at> debbugs.gnu.org (full text, mbox):

From: Paul Eggert <eggert <at> cs.ucla.edu>
To: The Fireplace <the.f1repl4ce <at> gmail.com>
Cc: 30913 <at> debbugs.gnu.org
Subject: Re: [bug-diffutils] bug#30913: Releasing a build compatible with
 glibc-2.26+
Date: Thu, 22 Mar 2018 23:07:14 -0700
The Fireplace wrote:
> Exactly, when I attempt to make with glibc-2.27 having been installed before it, it fails due to the following:
> https://paste.ubuntu.com/p/JvfC3HRSD4/
> After searching the internet for what the issue was, I only found a few results, of which this was the closest, and it points to incompatibility with glibc 2.26.
> If I can provide any additional details, let me know, and I’ll get them for you.

Can you build from the latest diffutils source on Savannah? If so, all we 
probably need to do is cut a new release. You'll need build tools. Briefly:

git clone https://git.savannah.gnu.org/git/diffutils.git
cd diffutils
./bootstrap
./configure
make
make check




Information forwarded to bug-diffutils <at> gnu.org:
bug#30913; Package diffutils. (Fri, 23 Mar 2018 18:45:02 GMT) Full text and rfc822 format available.

Message #14 received at 30913 <at> debbugs.gnu.org (full text, mbox):

From: Paul Eggert <eggert <at> cs.ucla.edu>
To: The Fireplace <the.f1repl4ce <at> gmail.com>
Cc: 30913 <at> debbugs.gnu.org, Gnulib bugs <bug-gnulib <at> gnu.org>
Subject: Re: [bug-diffutils] bug#30913: Releasing a build compatible
 withglibc-2.26+
Date: Fri, 23 Mar 2018 11:44:06 -0700
[Message part 1 (text/plain, inline)]
On 03/23/2018 12:32 AM, The Fireplace wrote:
>
> Alright, I’ve tested using the process you described, with my only 
> change to it being to add a few needed arguments 
> <https://paste.ubuntu.com/p/36DRSHvbqw/> for my setup to ./configure. 
> When I ran make, it ended somewhat quickly, with the following error:
>
> https://paste.ubuntu.com/p/X4s6McxBBd/
>
Thanks. I installed the attached patch into Gnulib and committed this 
into diffutils. Please try the same procedure again for diffutils. 
CC'ing bug-gnulib.

> Alright, I’ve finished testing. I found -Werror, but removing it 
> didn’t seem to work, so I commented out the unused function it was 
> warning me about instead. After doing that, make finished 
> successfully. However, when running make check, one test failed:
>
> ../build-aux/test-driver: line 107:  6309 Aborted                 
> (core dumped) "$@" > $log_file 2>&1
>
> FAIL: test-fcntl
>
> If you need a full log on that, I can get it for you, just tell me 
> which file you need.
>
gnulib-tests/test-fcntl.log would be the first thing. Also, perhaps you 
can run the program gnulib-tests/test-fcntl under GDB and see exactly 
where it crashes.

[0001-c-stack-port-to-recent-GCC-build.patch (text/x-patch, attachment)]

Information forwarded to bug-diffutils <at> gnu.org:
bug#30913; Package diffutils. (Fri, 23 Mar 2018 18:52:01 GMT) Full text and rfc822 format available.

Message #17 received at 30913 <at> debbugs.gnu.org (full text, mbox):

From: Eric Blake <eblake <at> redhat.com>
To: Paul Eggert <eggert <at> cs.ucla.edu>, The Fireplace <the.f1repl4ce <at> gmail.com>
Cc: 30913 <at> debbugs.gnu.org, Gnulib bugs <bug-gnulib <at> gnu.org>
Subject: Re: [bug-diffutils] bug#30913: Releasing a build compatible
 withglibc-2.26+
Date: Fri, 23 Mar 2018 13:50:55 -0500
On 03/23/2018 01:44 PM, Paul Eggert wrote:

>>From 0d111b0de328d31dd3444ceeec977a7aaa5bb0ed Mon Sep 17 00:00:00 2001
> From: Paul Eggert<eggert <at> cs.ucla.edu>
> Date: Fri, 23 Mar 2018 11:26:15 -0700
> Subject: [PATCH] c-stack: port to recent GCC build
> 
> Problem reported by The Fireplace (Bug#30913).
> * lib/c-stack.c (die): Define only if used.

> +++ b/lib/c-stack.c
> @@ -99,6 +99,10 @@ static void (* volatile segv_action) (int);
>   static char const * volatile program_error_message;
>   static char const * volatile stack_overflow_message;
>   
> +#if ((HAVE_LIBSIGSEGV && ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC) \
> +     || (HAVE_SIGALTSTACK && HAVE_DECL_SIGALTSTACK            \
> +         && HAVE_STACK_OVERFLOW_HANDLING && SIGINFO_WORKS))
> +

That's a maintenance nightmare to keep the #if conditions in sync. 
Would it not be simpler to just use __attribute__((unused)) on the 
function declaration, to tell the compiler that the function does not 
get used in all setups, but that it should not warn in those cases?

-- 
Eric Blake, Principal Software Engineer
Red Hat, Inc.           +1-919-301-3266
Virtualization:  qemu.org | libvirt.org




Information forwarded to bug-diffutils <at> gnu.org:
bug#30913; Package diffutils. (Fri, 23 Mar 2018 19:09:02 GMT) Full text and rfc822 format available.

Message #20 received at 30913 <at> debbugs.gnu.org (full text, mbox):

From: Paul Eggert <eggert <at> cs.ucla.edu>
To: Eric Blake <eblake <at> redhat.com>, The Fireplace <the.f1repl4ce <at> gmail.com>
Cc: 30913 <at> debbugs.gnu.org, Gnulib bugs <bug-gnulib <at> gnu.org>
Subject: Re: [bug-diffutils] bug#30913: Releasing a build compatible
 withglibc-2.26+
Date: Fri, 23 Mar 2018 12:07:57 -0700
On 03/23/2018 11:50 AM, Eric Blake wrote:
> Would it not be simpler to just use __attribute__((unused)) on the 
> function declaration

That should work if properly ifdeffed, yes. I didn't do it that way only 
because nobody else in Gnulib is doing it that way and there are 
problems with __attribute__((unused)) in older GCCs that I didn't want 
to do the research on. As I vaguely recall, __attribute__ ((used)) used 
to mean __attribute__ ((unused)), or was it vice versa?





Information forwarded to bug-diffutils <at> gnu.org:
bug#30913; Package diffutils. (Fri, 23 Mar 2018 21:27:01 GMT) Full text and rfc822 format available.

Message #23 received at 30913 <at> debbugs.gnu.org (full text, mbox):

From: Jim Meyering <jim <at> meyering.net>
To: Eric Blake <eblake <at> redhat.com>
Cc: The Fireplace <the.f1repl4ce <at> gmail.com>, Paul Eggert <eggert <at> cs.ucla.edu>,
 Gnulib bugs <bug-gnulib <at> gnu.org>, 30913 <at> debbugs.gnu.org
Subject: Re: [bug-diffutils] bug#30913: bug#30913: Releasing a build
 compatible withglibc-2.26+
Date: Fri, 23 Mar 2018 14:26:10 -0700
On Fri, Mar 23, 2018 at 11:50 AM, Eric Blake <eblake <at> redhat.com> wrote:
> On 03/23/2018 01:44 PM, Paul Eggert wrote:
>
>>> From 0d111b0de328d31dd3444ceeec977a7aaa5bb0ed Mon Sep 17 00:00:00 2001
>>
>> From: Paul Eggert<eggert <at> cs.ucla.edu>
>> Date: Fri, 23 Mar 2018 11:26:15 -0700
>> Subject: [PATCH] c-stack: port to recent GCC build
>>
>> Problem reported by The Fireplace (Bug#30913).
>> * lib/c-stack.c (die): Define only if used.
>
>
>> +++ b/lib/c-stack.c
>> @@ -99,6 +99,10 @@ static void (* volatile segv_action) (int);
>>   static char const * volatile program_error_message;
>>   static char const * volatile stack_overflow_message;
>>   +#if ((HAVE_LIBSIGSEGV && ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC) \
>> +     || (HAVE_SIGALTSTACK && HAVE_DECL_SIGALTSTACK            \
>> +         && HAVE_STACK_OVERFLOW_HANDLING && SIGINFO_WORKS))
>> +
>
>
> That's a maintenance nightmare to keep the #if conditions in sync. Would it
> not be simpler to just use __attribute__((unused)) on the function
> declaration, to tell the compiler that the function does not get used in all
> setups, but that it should not warn in those cases?

Good point. I think it's safe, these days. At worst,
enable it only for gcc 5.x and newer. Older compilers
should not be used with -Werror.

While not everyone compiles gnulib's regex.c,
I note that it uses the construct via regex_internal.h:

  lib/regex_internal.h:799:static void __attribute__ ((unused))
  lib/regex_internal.h-800-bitset_not (bitset_t set)

with this definition:

  #if __GNUC__ < 3 + (__GNUC_MINOR__ < 1)
  # define __attribute__(arg)
  #endif




Information forwarded to bug-diffutils <at> gnu.org:
bug#30913; Package diffutils. (Sat, 24 Mar 2018 01:46:02 GMT) Full text and rfc822 format available.

Message #26 received at 30913 <at> debbugs.gnu.org (full text, mbox):

From: Bruno Haible <bruno <at> clisp.org>
To: bug-gnulib <at> gnu.org
Cc: The Fireplace <the.f1repl4ce <at> gmail.com>, Paul Eggert <eggert <at> cs.ucla.edu>,
 30913 <at> debbugs.gnu.org
Subject: Re: [bug-diffutils] bug#30913: Releasing a build compatible
 withglibc-2.26+
Date: Sat, 24 Mar 2018 02:45:38 +0100
Hi Paul,

> Thanks. I installed the attached patch into Gnulib and committed this 
> into diffutils.

I think an additional fix of this is in order:

diff --git a/lib/c-stack.c b/lib/c-stack.c
index c309666..9bbe6fe 100644
--- a/lib/c-stack.c
+++ b/lib/c-stack.c
@@ -101,7 +101,7 @@ static char const * volatile stack_overflow_message;
 
 #if ((HAVE_LIBSIGSEGV && ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC) \
      || (HAVE_SIGALTSTACK && HAVE_DECL_SIGALTSTACK            \
-         && HAVE_STACK_OVERFLOW_HANDLING && SIGINFO_WORKS))
+         && HAVE_STACK_OVERFLOW_HANDLING))
 
 /* Output an error message, then exit with status EXIT_FAILURE if it
    appears to have been a stack overflow, or with a core dump


Rationale: There's an additional reference to 'die' in line 314,
with condition
  HAVE_SIGALTSTACK && HAVE_DECL_SIGALTSTACK && HAVE_STACK_OVERFLOW_HANDLING && !SIGINFO_WORKS

Bruno





Information forwarded to bug-diffutils <at> gnu.org:
bug#30913; Package diffutils. (Wed, 28 Mar 2018 08:41:02 GMT) Full text and rfc822 format available.

Message #29 received at 30913 <at> debbugs.gnu.org (full text, mbox):

From: Bruno Haible <bruno <at> clisp.org>
To: bug-gnulib <at> gnu.org
Cc: The Fireplace <the.f1repl4ce <at> gmail.com>, Paul Eggert <eggert <at> cs.ucla.edu>,
 30913 <at> debbugs.gnu.org
Subject: Re: [bug-diffutils] bug#30913: Releasing a build compatible
 withglibc-2.26+
Date: Wed, 28 Mar 2018 10:40:00 +0200
Hi Paul,

ping? OK to commit this fix?

Bruno

> Hi Paul,
> 
> > Thanks. I installed the attached patch into Gnulib and committed this 
> > into diffutils.
> 
> I think an additional fix of this is in order:
> 
> diff --git a/lib/c-stack.c b/lib/c-stack.c
> index c309666..9bbe6fe 100644
> --- a/lib/c-stack.c
> +++ b/lib/c-stack.c
> @@ -101,7 +101,7 @@ static char const * volatile stack_overflow_message;
>  
>  #if ((HAVE_LIBSIGSEGV && ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC) \
>       || (HAVE_SIGALTSTACK && HAVE_DECL_SIGALTSTACK            \
> -         && HAVE_STACK_OVERFLOW_HANDLING && SIGINFO_WORKS))
> +         && HAVE_STACK_OVERFLOW_HANDLING))
>  
>  /* Output an error message, then exit with status EXIT_FAILURE if it
>     appears to have been a stack overflow, or with a core dump
> 
> 
> Rationale: There's an additional reference to 'die' in line 314,
> with condition
>   HAVE_SIGALTSTACK && HAVE_DECL_SIGALTSTACK && HAVE_STACK_OVERFLOW_HANDLING && !SIGINFO_WORKS
> 
> Bruno
> 
> 






Information forwarded to bug-diffutils <at> gnu.org:
bug#30913; Package diffutils. (Wed, 28 Mar 2018 20:12:01 GMT) Full text and rfc822 format available.

Message #32 received at 30913 <at> debbugs.gnu.org (full text, mbox):

From: Paul Eggert <eggert <at> cs.ucla.edu>
To: Bruno Haible <bruno <at> clisp.org>, bug-gnulib <at> gnu.org
Cc: 30913 <at> debbugs.gnu.org, The Fireplace <the.f1repl4ce <at> gmail.com>
Subject: Re: [bug-diffutils] bug#30913: Releasing a build compatible
 withglibc-2.26+
Date: Wed, 28 Mar 2018 13:11:39 -0700
On 03/28/2018 01:40 AM, Bruno Haible wrote:
> ping? OK to commit this fix?

Yes please. Thanks. (Jim had another suggestion which would also work, 
but it hasn't been written yet....)





Information forwarded to bug-diffutils <at> gnu.org:
bug#30913; Package diffutils. (Wed, 28 Mar 2018 20:46:01 GMT) Full text and rfc822 format available.

Message #35 received at 30913 <at> debbugs.gnu.org (full text, mbox):

From: Bruno Haible <bruno <at> clisp.org>
To: Paul Eggert <eggert <at> cs.ucla.edu>
Cc: 30913 <at> debbugs.gnu.org, The Fireplace <the.f1repl4ce <at> gmail.com>,
 bug-gnulib <at> gnu.org
Subject: Re: [bug-diffutils] bug#30913: Releasing a build compatible
 withglibc-2.26+
Date: Wed, 28 Mar 2018 22:45:48 +0200
Paul Eggert wrote:
> Yes please. Thanks.

Pushed.

Bruno





This bug report was last modified 7 years and 78 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.