Bug 30703 - bfd doc doesn't build anymore with makeinfo 4.12
Summary: bfd doc doesn't build anymore with makeinfo 4.12
Status: RESOLVED FIXED
Alias: None
Product: binutils
Classification: Unclassified
Component: binutils (show other bugs)
Version: 2.41
: P2 normal
Target Milestone: ---
Assignee: Tom Tromey
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2023-07-31 07:48 UTC by Jan Beulich
Modified: 2024-01-10 14:33 UTC (History)
4 users (show)

See Also:
Host:
Target:
Build:
Last reconfirmed:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Jan Beulich 2023-07-31 07:48:22 UTC
As was pointed out on the list, commit 8bb23cdbb498 raises the minimum makeinfo version required, yet top-level configure.ac continues to be happy with 4.7, thus causing the build to fail with (in my case) 4.12. While possible to work around by passing MAKEINFO=true on all make command lines, it would of course be nice if a fresh release built out of the box.

(Note that Component: is wrong, for there not being "bfd" in the list. Afaict only bfd is affected at this point.)
Comment 1 Nick Clifton 2023-08-01 14:36:04 UTC
Hi Jan,

(In reply to Jan Beulich from comment #0)
> As was pointed out on the list, commit 8bb23cdbb498 raises the minimum
> makeinfo version required,

What is the minimum version now required ?
 
Cheers
  Nick
Comment 2 Jan Beulich 2023-08-01 14:43:19 UTC
(In reply to Nick Clifton from comment #1)
> What is the minimum version now required ?

I don't know. My vague recollection from the earlier mail thread is that the author of that patch also didn't really know the exact minimum.
Comment 3 Nick Clifton 2023-08-16 13:59:07 UTC
Hi Jan,

  Right, after downloading, building, installing and running lots of
  different versions of texinfo, I can confirm that support for the
  node style used by commit 8bb23cdbb498 was added with release 6.8.

  So the next question is - are you asking that commit 8bb23cdbb498 be
  reverted, so that the docs will build with older versions of texinfo,
  or that the top level configure.ac be updated to check for at least
  texinfo 6.8 ?

Cheers
  Nick
Comment 4 Jan Beulich 2023-08-17 06:48:43 UTC
(In reply to Nick Clifton from comment #3)
>   So the next question is - are you asking that commit 8bb23cdbb498 be
>   reverted, so that the docs will build with older versions of texinfo,
>   or that the top level configure.ac be updated to check for at least
>   texinfo 6.8 ?

Well, reverting is what I'm doing locally right now, but I don't view this as a good option. Whether to encode the higher version requirement in the top level configury I'm also not sure of - that largely depends if other sub-components' doc would also soon require newer versions. Plus of course wouldn't that require sync-ing with at least gcc? Would it be possible to limit this to bfd's doc for now?

But of course all I really care about is that things build cleanly when configure claims to be happy. I'm not sure what the policy is - it would of course be nice for configure to not fail with too old makeinfo, but for it to instead simply disable doc building (with an appropriate warning).
Comment 5 Nick Clifton 2023-08-29 15:28:34 UTC
Right - I have proposed a patch and asked for comments:

https://sourceware.org/pipermail/binutils/2023-August/129261.html
Comment 6 Tom Tromey 2023-08-29 17:08:12 UTC
(In reply to Jan Beulich from comment #0)
> As was pointed out on the list, commit 8bb23cdbb498 raises the minimum
> makeinfo version required, yet top-level configure.ac continues to be happy
> with 4.7, thus causing the build to fail with (in my case) 4.12

Can you please post the error messages?
Comment 7 Tom Tromey 2023-08-29 17:12:44 UTC
Oh never mind, they were here:

https://sourceware.org/pipermail/binutils/2023-March/126468.html

Given the state of BFD doc stuff, I think it's best
to just back out my patch.
Comment 8 Tom Tromey 2023-08-30 16:30:20 UTC
Maybe someone with this issue could try:

https://sourceware.org/pipermail/binutils/2023-August/129302.html

You really only need the first patch.
Comment 9 Sourceware Commits 2023-08-31 13:32:25 UTC
The master branch has been updated by Tom Tromey <tromey@sourceware.org>:

https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=3b23b03a863d351d2e25daa30b07e23f31350e82

commit 3b23b03a863d351d2e25daa30b07e23f31350e82
Author: Tom Tromey <tom@tromey.com>
Date:   Wed Aug 30 09:22:53 2023 -0600

    Revert "Simplify @node use in BFD documentation"
    
    This reverts commit 8bb23cdbb498ff645bb0937bc8c0cb89e9e5ebd8.
    
    My earlier patch to simplifify the @node uses in the BFD manual didn't
    take into account (1) that BFD doesn't use the ordinary texinfo
    sectioning commands, and (2) that some users are stuck on very ancient
    versions of makeinfo.
    
    This patch reverts the change.
    
    I went through the entire manual using the spacebar, trying to find
    the original problem I reported in the change, but couldn't.  I don't
    know why.  Anyway, all this means is that, with this reversion,
    editing the node structure will be slightly less convenient.
    
    Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=30703
    
    2023-08-30  Tom Tromey  <tom@tromey.com>
    
            PR binutils/30703
            * doc/webassembly.texi, doc/bfd.texi: Revert 8bb23cdb, adding
            parameters back to @node.
Comment 10 Tom Tromey 2023-08-31 13:36:05 UTC
I backed out the offending patch.
Comment 11 vvinayag 2023-09-05 22:31:35 UTC
(In reply to Tom Tromey from comment #10)
> I backed out the offending patch.

Is it possible to backport the revert to binutils-2_41-branch? We are using binutils-2_41-branch, and it is not building for the reasons mentioned above.
Comment 12 Tom Tromey 2023-09-05 23:06:25 UTC
(In reply to vvinayag from comment #11)
> (In reply to Tom Tromey from comment #10)
> > I backed out the offending patch.
> 
> Is it possible to backport the revert to binutils-2_41-branch? We are using
> binutils-2_41-branch, and it is not building for the reasons mentioned above.

I don't know binutils policy about this, but if it is OK, I can
do the work if needed.
Comment 13 vvinayag 2023-09-12 16:27:11 UTC
(In reply to Tom Tromey from comment #12)
> (In reply to vvinayag from comment #11)
> > (In reply to Tom Tromey from comment #10)
> > > I backed out the offending patch.
> > 
> > Is it possible to backport the revert to binutils-2_41-branch? We are using
> > binutils-2_41-branch, and it is not building for the reasons mentioned above.
> 
> I don't know binutils policy about this, but if it is OK, I can
> do the work if needed.

Who would be the best person to progress this? What could be the reason for not backporting it to binutils 2.41, which is where the issue was first introduced?
Comment 14 Nick Clifton 2023-09-13 09:57:29 UTC
(In reply to Tom Tromey from comment #12)
> (In reply to vvinayag from comment #11)
> > (In reply to Tom Tromey from comment #10)
> > > I backed out the offending patch.
> > 
> > Is it possible to backport the revert to binutils-2_41-branch? We are using
> > binutils-2_41-branch, and it is not building for the reasons mentioned above.
> 
> I don't know binutils policy about this, but if it is OK, I can
> do the work if needed.

[Sorry - not paying attention here].

The policy is that it is OK to backport patches to the branch once a release has been made.  Hence it is totally OK for you to go ahead and backport your patch.
Comment 15 Nick Clifton 2023-09-13 09:58:58 UTC
I should note however that we do not normally make further releases from a branch unless there is an important bug that needs to be fixed.  Given that it is possible to work around this build problem, I would not say that it qualifies as being important enough to warrant a 2.41.1 release.
Comment 16 Pete Moore 2024-01-10 13:19:10 UTC
I just got burned by this, after attempting to build 2.41 from  https://ftp.gnu.org/gnu/binutils/binutils-2.41.tar.gz

I think if there had been a 2.41.1 release, I would have picked that and not had the issue.

If a 2.41.1 release is undesirable, another option could be to add a comment to the release notes of 2.41 to specify that makeinfo version 6.8 or higher is required, or set MAKEINFO=true.

Is it acceptable to update release notes, post release?
Comment 17 Nick Clifton 2024-01-10 14:33:27 UTC
(In reply to Pete Moore from comment #16)
> If a 2.41.1 release is undesirable, another option could be to add a comment
> to the release notes of 2.41 to specify that makeinfo version 6.8 or higher
> is required, or set MAKEINFO=true.
> 
> Is it acceptable to update release notes, post release?

By release notes, I assume that you mean the binutils/README file ?

Then sure - adding a comment there on the 2.41 branch is certainly reasonable.  But this will only be of help to people who download the sources from the branch.

Another possibility is to add a description of the problem - and its workaround - to the binutils web page: https://sourceware.org/binutils/

As it happens there is already a precedent for this, as there was another problem with the 2.41 release which needed to be documented on the web page.

It may also be of interest to know that the 2.42 release is due out at the end of this month (Jan '24 for those reading these comments after the fact), and all being well, that release will not have this problem.