* gettext.m4 update
@ 2017-09-11 13:34 Kamil Rytarowski
2017-09-13 11:53 ` Kamil Rytarowski
0 siblings, 1 reply; 5+ messages in thread
From: Kamil Rytarowski @ 2017-09-11 13:34 UTC (permalink / raw)
To: gdb, Pedro Alves
[-- Attachment #1.1: Type: text/plain, Size: 311 bytes --]
Hello,
The current gettext.m4 bundled into GDB is too old for the NetBSD case.
We mark GDB as BROKEN_GETTEXT_DETECTION and comment that it fails to add
-lintl to the linker command line.
Could we please update it to a newer version?
gettext.m4 is located in https://ftp.gnu.org/pub/gnu/gettext/
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: gettext.m4 update
2017-09-11 13:34 gettext.m4 update Kamil Rytarowski
@ 2017-09-13 11:53 ` Kamil Rytarowski
2017-09-13 13:15 ` Pedro Alves
0 siblings, 1 reply; 5+ messages in thread
From: Kamil Rytarowski @ 2017-09-13 11:53 UTC (permalink / raw)
To: gdb, Pedro Alves, Sergio Durigan Junior
[-- Attachment #1.1: Type: text/plain, Size: 1528 bytes --]
On 11.09.2017 15:36, Kamil Rytarowski wrote:
> Hello,
>
> The current gettext.m4 bundled into GDB is too old for the NetBSD case.
>
> We mark GDB as BROKEN_GETTEXT_DETECTION and comment that it fails to add
> -lintl to the linker command line.
>
> Could we please update it to a newer version?
>
> gettext.m4 is located in https://ftp.gnu.org/pub/gnu/gettext/
>
I know what breaks the NetBSD buildbot [1].
The following rule (intl/Makefile.in) [2] breaks:
.c.o:
$(COMPILE) $<
.y.c:
$(YACC) $(YFLAGS) --output $@ $<
rm -f $*.h
This means that if plural.y is newer than plural.c it will be regenerated.
There is required Bison < 3.0 (the last one used for regeneration was
1.35), which is already too old to keep it around.
Git does not track mtime in files, and this enforces regeneration of
plural.c, at least in random checkouts. The NetBSD buildbot was
unfortunate to get plural.y newer:
$ stat -f %Fm ./binutils-gdb-master/intl/plural.c
1477324070.931854837
$ stat -f %Fm ./binutils-gdb-master/intl/plural.y
1477324070.931949821
The cleanest and newfangled solution would be to upgrade to newer
gettext and enforce regeneration always.
A kludge would be to insert touch(1) call before execution of intl/Makefile.
I don't know about any good solutions in the middle.
[1]
https://gdb-build.sergiodj.net/builders/NetBSD-x86_64-m64/builds/2456/steps/compile%20gdb/logs/stdio
[2]
https://github.com/wallento/binutils-gdb/blob/master/intl/Makefile.in#L135
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 850 bytes --]
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: gettext.m4 update
2017-09-13 11:53 ` Kamil Rytarowski
@ 2017-09-13 13:15 ` Pedro Alves
2017-09-13 13:21 ` Andreas Schwab
0 siblings, 1 reply; 5+ messages in thread
From: Pedro Alves @ 2017-09-13 13:15 UTC (permalink / raw)
To: Kamil Rytarowski, gdb, Sergio Durigan Junior
On 09/13/2017 12:42 PM, Kamil Rytarowski wrote:
> On 11.09.2017 15:36, Kamil Rytarowski wrote:
>> Hello,
>>
>> The current gettext.m4 bundled into GDB is too old for the NetBSD case.
>>
>> We mark GDB as BROKEN_GETTEXT_DETECTION and comment that it fails to add
>> -lintl to the linker command line.
>>
>> Could we please update it to a newer version?
>>
>> gettext.m4 is located in https://ftp.gnu.org/pub/gnu/gettext/
>>
>
> I know what breaks the NetBSD buildbot [1].
>
> The following rule (intl/Makefile.in) [2] breaks:
>
> .c.o:
> $(COMPILE) $<
>
> .y.c:
> $(YACC) $(YFLAGS) --output $@ $<
> rm -f $*.h
>
> This means that if plural.y is newer than plural.c it will be regenerated.
>
> There is required Bison < 3.0 (the last one used for regeneration was
> 1.35), which is already too old to keep it around.
>
> Git does not track mtime in files, and this enforces regeneration of
> plural.c, at least in random checkouts. The NetBSD buildbot was
> unfortunate to get plural.y newer:
>
> $ stat -f %Fm ./binutils-gdb-master/intl/plural.c
> 1477324070.931854837
> $ stat -f %Fm ./binutils-gdb-master/intl/plural.y
> 1477324070.931949821
>
>
> The cleanest and newfangled solution would be to upgrade to newer
> gettext and enforce regeneration always.
>
> A kludge would be to insert touch(1) call before execution of intl/Makefile.
>
> I don't know about any good solutions in the middle.
This date issue is likely to be an issue with any generated
file checked in, all over the tree. Usually you won't notice
if you have the right tools that regen succeeds.
Maybe the bot should be doing a recursive touch(1) of all files
after checkout, forcing the same mtime on all checked-out files,
with 'touch -d ..' or 'touch -p ..' or
'touch -r .git/FETCH_HEAD' or something like that.
Thanks,
Pedro Alves
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: gettext.m4 update
2017-09-13 13:15 ` Pedro Alves
@ 2017-09-13 13:21 ` Andreas Schwab
2017-09-13 13:37 ` Kamil Rytarowski
0 siblings, 1 reply; 5+ messages in thread
From: Andreas Schwab @ 2017-09-13 13:21 UTC (permalink / raw)
To: Pedro Alves; +Cc: Kamil Rytarowski, gdb, Sergio Durigan Junior
On Sep 13 2017, Pedro Alves <palves@redhat.com> wrote:
> Maybe the bot should be doing a recursive touch(1) of all files
> after checkout, forcing the same mtime on all checked-out files,
> with 'touch -d ..' or 'touch -p ..' or
> 'touch -r .git/FETCH_HEAD' or something like that.
Or touch each file to the ctime of the last commit that modified it.
Andreas.
--
Andreas Schwab, SUSE Labs, schwab@suse.de
GPG Key fingerprint = 0196 BAD8 1CE9 1970 F4BE 1748 E4D4 88E3 0EEA B9D7
"And now for something completely different."
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: gettext.m4 update
2017-09-13 13:21 ` Andreas Schwab
@ 2017-09-13 13:37 ` Kamil Rytarowski
0 siblings, 0 replies; 5+ messages in thread
From: Kamil Rytarowski @ 2017-09-13 13:37 UTC (permalink / raw)
To: Andreas Schwab, Pedro Alves; +Cc: gdb, Sergio Durigan Junior
[-- Attachment #1.1: Type: text/plain, Size: 787 bytes --]
On 13.09.2017 15:21, Andreas Schwab wrote:
> On Sep 13 2017, Pedro Alves <palves@redhat.com> wrote:
>
>> Maybe the bot should be doing a recursive touch(1) of all files
>> after checkout, forcing the same mtime on all checked-out files,
>> with 'touch -d ..' or 'touch -p ..' or
>> 'touch -r .git/FETCH_HEAD' or something like that.
>
> Or touch each file to the ctime of the last commit that modified it.
>
> Andreas.
>
There are available some workarounds on stackoverflow:
https://stackoverflow.com/a/39192796
I've touch(1)ed plural.c for the bot's checkout and the NetBSD bot can
accomplish the build!
https://gdb-build.sergiodj.net/builders/NetBSD-x86_64-m64/
Long term it's best to switch to newer tools, but I imagine it's not
doable as-is.
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 850 bytes --]
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2017-09-13 13:37 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-09-11 13:34 gettext.m4 update Kamil Rytarowski
2017-09-13 11:53 ` Kamil Rytarowski
2017-09-13 13:15 ` Pedro Alves
2017-09-13 13:21 ` Andreas Schwab
2017-09-13 13:37 ` Kamil Rytarowski
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox