GNU bug report logs - #24069
gcc man page is broken

Previous Next

Package: guix;

Reported by: Danny Milosavljevic <dannym <at> scratchpost.org>

Date: Mon, 25 Jul 2016 20:25:02 UTC

Severity: normal

Done: ludo <at> gnu.org (Ludovic Courtès)

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 24069 in the body.
You can then email your comments to 24069 AT debbugs.gnu.org in the normal way.

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-guix <at> gnu.org:
bug#24069; Package guix. (Mon, 25 Jul 2016 20:25:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Danny Milosavljevic <dannym <at> scratchpost.org>:
New bug report received and forwarded. Copy sent to bug-guix <at> gnu.org. (Mon, 25 Jul 2016 20:25:02 GMT) Full text and rfc822 format available.

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

From: Danny Milosavljevic <dannym <at> scratchpost.org>
To: bug-guix <at> gnu.org
Subject: gcc man page is broken
Date: Mon, 25 Jul 2016 22:23:42 +0200
$ man gcc

timestamp

 Manual page gcc(1) line 1/2 (END) (press h for help or q to quit)

$ ls -l /home/dannym/.guix-profile/share/man/man1/gcc.1.gz
lrwxrwxrwx 106 root guixbuild 79  1. Jan 1970  /home/dannym/.guix-profile/share/man/man1/gcc.1.gz -> /gnu/store/1xsd8qd6i0zkzwxa53rp5palcfxb7xqb-gccgo-4.9.3/share/man/man1/gcc.1.gz


Err.... what?

That's also the case for the normal gcc package (for example 4.9.3).

But

$ info gcc

works fine.




Information forwarded to bug-guix <at> gnu.org:
bug#24069; Package guix. (Thu, 30 Mar 2017 22:23:01 GMT) Full text and rfc822 format available.

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

From: "Branson, Joshua A" <jbranso <at> purdue.edu>
To: "24069 <at> debbugs.gnu.org" <24069 <at> debbugs.gnu.org>
Subject: Re: gcc man page is broken
Date: Thu, 30 Mar 2017 22:22:38 +0000
I can confirm that this bug still exists.  The man page is broken as described, but info gcc works just fine.

Thanks,

Joshua



Information forwarded to bug-guix <at> gnu.org:
bug#24069; Package guix. (Sat, 30 Sep 2017 20:38:02 GMT) Full text and rfc822 format available.

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

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: "Branson\, Joshua A" <jbranso <at> purdue.edu>
Cc: "24069 <at> debbugs.gnu.org" <24069 <at> debbugs.gnu.org>
Subject: Re: bug#24069: gcc man page is broken
Date: Sat, 30 Sep 2017 16:36:55 -0400
"Branson, Joshua A" <jbranso <at> purdue.edu> writes:

> I can confirm that this bug still exists.  The man page is broken as described, but info gcc works just fine.
>
> Thanks,
>
> Joshua

The problem is likely caused by lack of the lack of perl as well as pod2man, as
suggested by gcc's build log:

--8<---------------cut here---------------start------------->8---
echo timestamp > gcc.pod
perl ../../gcc-7.2.0/gcc/../contrib/texi2pod.pl ../../gcc-7.2.0/gcc/doc/invoke.texi > gcc.pod
/gnu/store/kpxi8h3669afr9r1bgvaf9ij3y4wdyyn-bash-minimal-4.4.12/bin/bash: perl: command not found
make[2]: [Makefile:3257: gcc.pod] Error 127 (ignored)
echo timestamp > doc/gcc.1
(pod2man --center="GNU" --release="gcc-7.2.0" --date=2017-08-14 --section=1 gcc.pod > doc/gcc.1.T$$ && \
	mv -f doc/gcc.1.T$$ doc/gcc.1) || \
	(rm -f doc/gcc.1.T$$ && exit 1)
/gnu/store/kpxi8h3669afr9r1bgvaf9ij3y4wdyyn-bash-minimal-4.4.12/bin/bash: pod2man: command not found
make[2]: [Makefile:3235: doc/gcc.1] Error 1 (ignored)
--8<---------------cut here---------------end--------------->8---

I'm currently rebuilding with those two inputs added, will send a patch
if it fixes the problem.

Maxim




Information forwarded to bug-guix <at> gnu.org:
bug#24069; Package guix. (Sun, 01 Oct 2017 13:40:02 GMT) Full text and rfc822 format available.

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

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: "Branson\, Joshua A" <jbranso <at> purdue.edu>
Cc: 24069 <at> debbugs.gnu.org
Subject: [PATCH] Re: bug#24069: gcc man page is broken
Date: Sun, 01 Oct 2017 09:39:36 -0400
[Message part 1 (text/plain, inline)]
Hello,

Maxim Cournoyer <maxim.cournoyer <at> gmail.com> writes:

> "Branson, Joshua A" <jbranso <at> purdue.edu> writes:
>
>> I can confirm that this bug still exists.  The man page is broken as described, but info gcc works just fine.
>>
>> Thanks,
>>
>> Joshua
>
> The problem is likely caused by lack of the lack of perl as well as pod2man, as
> suggested by gcc's build log:
>
> echo timestamp > gcc.pod
> perl ../../gcc-7.2.0/gcc/../contrib/texi2pod.pl ../../gcc-7.2.0/gcc/doc/invoke.texi > gcc.pod
> /gnu/store/kpxi8h3669afr9r1bgvaf9ij3y4wdyyn-bash-minimal-4.4.12/bin/bash: perl: command not found
> make[2]: [Makefile:3257: gcc.pod] Error 127 (ignored)
> echo timestamp > doc/gcc.1
> (pod2man --center="GNU" --release="gcc-7.2.0" --date=2017-08-14 --section=1 gcc.pod > doc/gcc.1.T$$ && \
> 	mv -f doc/gcc.1.T$$ doc/gcc.1) || \
> 	(rm -f doc/gcc.1.T$$ && exit 1)
> /gnu/store/kpxi8h3669afr9r1bgvaf9ij3y4wdyyn-bash-minimal-4.4.12/bin/bash: pod2man: command not found
> make[2]: [Makefile:3235: doc/gcc.1] Error 1 (ignored)
>
> I'm currently rebuilding with those two inputs added, will send a patch
> if it fixes the problem.

I believe the attached patch *should* fix it (simply adds perl as a native
input; pod2man apparently comes with perl itself):

[0001-gnu-gcc-Fix-manual-pages.patch (text/x-patch, attachment)]
[Message part 3 (text/plain, inline)]
I haven't been able to test it though; when attempting to rebuild gcc, I
get a stack overflow before the build process even starts (seems like a
guix problem -- I'll try to git pull & rebuild):

--8<---------------cut here---------------start------------->8---
./pre-inst-env guix build -K gcc
allocate_stack failed: Cannot allocate memory
Warning: Unwind-only `stack-overflow' exception; skipping pre-unwind handler.
allocate_stack failed: Cannot allocate memory
Warning: Unwind-only `stack-overflow' exception; skipping pre-unwind handler.
allocate_stack failed: Cannot allocate memory
Warning: Unwind-only `stack-overflow' exception; skipping pre-unwind handler.
allocate_stack failed: Cannot allocate memory
Warning: Unwind-only `stack-overflow' exception; skipping pre-unwind handler.
--8<---------------cut here---------------end--------------->8---

Maxim

Information forwarded to bug-guix <at> gnu.org:
bug#24069; Package guix. (Sun, 01 Oct 2017 16:01:01 GMT) Full text and rfc822 format available.

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

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: bug-guix <at> gnu.org
Subject: Re: bug#24069: [PATCHv2] Re: bug#24069: gcc man page is broken
Date: Sun, 01 Oct 2017 11:54:56 -0400
[Message part 1 (text/plain, inline)]
Version 2.

Removes the unnecessary (ice-9 match) use clause I added while
experimenting.

[0001-gnu-gcc-Fix-manual-pages.patch (text/x-patch, attachment)]

Information forwarded to bug-guix <at> gnu.org:
bug#24069; Package guix. (Mon, 02 Oct 2017 09:25:02 GMT) Full text and rfc822 format available.

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

From: Efraim Flashner <efraim <at> flashner.co.il>
To: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Cc: 24069 <at> debbugs.gnu.org
Subject: Re: bug#24069: [PATCHv2] Re: bug#24069: gcc man page is broken
Date: Mon, 2 Oct 2017 12:24:31 +0300
[Message part 1 (text/plain, inline)]
On Sun, Oct 01, 2017 at 11:54:56AM -0400, Maxim Cournoyer wrote:
> Version 2.
> 
> Removes the unnecessary (ice-9 match) use clause I added while
> experimenting.
> 

> From a044901c0fc51571b8ed6809080029b8701b09e4 Mon Sep 17 00:00:00 2001
> From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
> Date: Sun, 1 Oct 2017 09:27:31 -0400
> Subject: [PATCH] gnu: gcc: Fix manual pages.
> 
> Fixes bug #24069.
> 
> * gnu/packages/gcc.scm (gcc-4.7)[native-inputs]: Add perl.
> (gcc-4.9)[native-inputs]: Likewise.
> ---
>  gnu/packages/gcc.scm | 7 +++++--
>  1 file changed, 5 insertions(+), 2 deletions(-)
> 
> diff --git a/gnu/packages/gcc.scm b/gnu/packages/gcc.scm
> index 7870d4513..7089b420f 100644
> --- a/gnu/packages/gcc.scm
> +++ b/gnu/packages/gcc.scm
> @@ -155,7 +155,8 @@ where the OS part is overloaded to denote a specific ABI---into GCC
>  
>        ;; GCC < 5 is one of the few packages that doesn't ship .info files.
>        ;; Newer texinfos fail to build the manual, so we use an older one.
> -      (native-inputs `(("texinfo" ,texinfo-5)))
> +      (native-inputs `(("perl" ,perl)   ;for manpages
> +                       ("texinfo" ,texinfo-5)))
>  
>        (arguments
>         `(#:out-of-source? #t
> @@ -370,7 +371,9 @@ Go.  It also includes runtime support libraries for these languages.")
>                  "14l06m7nvcvb0igkbip58x59w3nq6315k6jcz3wr9ch1rn9d44bc"))
>                (patches (search-patches "gcc-arm-bug-71399.patch"
>                                         "gcc-libvtv-runpath.patch"))))
> -    (native-inputs `(("texinfo" ,texinfo)))))
> +    ;; Override inherited texinfo-5 with latest version.
> +    (native-inputs `(("perl" ,perl)   ;for manpages
> +                     ("texinfo" ,texinfo)))))
>  
>  (define-public gcc-5
>    ;; Note: GCC >= 5 ships with .info files but 'make install' fails to install
> -- 
> 2.14.1
> 

I believe this would cause gcc-5 to be rebuilt, which would cause a
world rebuild, so for the moment we also need a native-inputs entry for
gcc-5 making sure that nothing changes, ie: that we're only using
texinfo there, preferably with a note that it should be changed in the
future.  Also, you should take a look at gnu/packages/commencement and
make sure that we're not adding perl as a native-input for gcc-boot0 or
for libstdc++, wherever that happens to live (I don't remember off
hand).

I assume it is OK for us to build the man pages for gcc-final (if it
happens) since this is the gcc used for actually building packages, and
I believe the one pulled in for gcc-toolchain.


-- 
Efraim Flashner   <efraim <at> flashner.co.il>   אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted
[signature.asc (application/pgp-signature, inline)]

Information forwarded to bug-guix <at> gnu.org:
bug#24069; Package guix. (Mon, 02 Oct 2017 14:54:01 GMT) Full text and rfc822 format available.

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

From: ludo <at> gnu.org (Ludovic Courtès)
To: Efraim Flashner <efraim <at> flashner.co.il>
Cc: 24069 <at> debbugs.gnu.org, Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: Re: bug#24069: [PATCHv2] Re: bug#24069: gcc man page is broken
Date: Mon, 02 Oct 2017 16:53:34 +0200
Efraim Flashner <efraim <at> flashner.co.il> skribis:

> I believe this would cause gcc-5 to be rebuilt, which would cause a
> world rebuild, so for the moment we also need a native-inputs entry for
> gcc-5 making sure that nothing changes, ie: that we're only using
> texinfo there, preferably with a note that it should be changed in the
> future.  Also, you should take a look at gnu/packages/commencement and
> make sure that we're not adding perl as a native-input for gcc-boot0 or
> for libstdc++, wherever that happens to live (I don't remember off
> hand).

I think this should go to ‘core-updates’.

> I assume it is OK for us to build the man pages for gcc-final (if it
> happens) since this is the gcc used for actually building packages, and
> I believe the one pulled in for gcc-toolchain.

More precisely, building man pages for ‘gcc-boot0’ is pointless and
possibly adds Perl on the graph for no good reason.  So if we can
arrange to just have man pages in ‘gcc-final’, we’re good.

Efraim, could you check whether that works for ‘core-updates’?

Thanks,
Ludo’.




Information forwarded to bug-guix <at> gnu.org:
bug#24069; Package guix. (Mon, 02 Oct 2017 20:16:01 GMT) Full text and rfc822 format available.

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

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: ludo <at> gnu.org (Ludovic Courtès)
Cc: 24069 <at> debbugs.gnu.org, Efraim Flashner <efraim <at> flashner.co.il>
Subject: Re: bug#24069: [PATCHv2] Re: bug#24069: gcc man page is broken
Date: Mon, 02 Oct 2017 16:15:10 -0400
[Message part 1 (text/plain, inline)]
Hello,

ludo <at> gnu.org (Ludovic Courtès) writes:

> Efraim Flashner <efraim <at> flashner.co.il> skribis:
>
>> I believe this would cause gcc-5 to be rebuilt, which would cause a
>> world rebuild, so for the moment we also need a native-inputs entry for
>> gcc-5 making sure that nothing changes, ie: that we're only using
>> texinfo there, preferably with a note that it should be changed in the
>> future.  Also, you should take a look at gnu/packages/commencement and
>> make sure that we're not adding perl as a native-input for gcc-boot0 or
>> for libstdc++, wherever that happens to live (I don't remember off
>> hand).
>
> I think this should go to ‘core-updates’.
>
>> I assume it is OK for us to build the man pages for gcc-final (if it
>> happens) since this is the gcc used for actually building packages, and
>> I believe the one pulled in for gcc-toolchain.
>
> More precisely, building man pages for ‘gcc-boot0’ is pointless and
> possibly adds Perl on the graph for no good reason.  So if we can
> arrange to just have man pages in ‘gcc-final’, we’re good.
>
> Efraim, could you check whether that works for ‘core-updates’?
>
> Thanks,
> Ludo’.

I believe this is what is accomplished by the attached patch v3. Thanks
to Efraim for the points raised. It turned out that the stack overflow I
was getting attempting to test the previous version was caused by a
circular dependency that was introduced by gcc-boot0 inheriting
perl. This is now fixed.

I spent the last couple hours rebuilding gcc but it failed due to lack
of space on my side... Retrying now but it'll take a few hours before I
can confirm that it works as intended.

Thank you both!

[0001-gnu-gcc-Fix-manual-pages.patch (text/x-patch, attachment)]

Information forwarded to bug-guix <at> gnu.org:
bug#24069; Package guix. (Tue, 03 Oct 2017 02:29:03 GMT) Full text and rfc822 format available.

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

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: ludo <at> gnu.org (Ludovic Courtès)
Cc: 24069 <at> debbugs.gnu.org
Subject: Re: bug#24069: [PATCHv3] Re: bug#24069: gcc man page is broken
Date: Mon, 02 Oct 2017 22:28:14 -0400
Patch v3 still doesn't fix the problem. There are now pod2man errors
that prevent correctly generating the man pages:

--8<---------------cut here---------------start------------->8---
Makefile:3076: update target 'gcc.pod' due to: ../../gcc-5.4.0/gcc/doc/invoke.texi ../../gcc-5.4.0/gcc/doc/cppenv.texi ../../gcc-5.4.0/gcc/doc/cppopts.texi gcc-vers.texi
echo timestamp > gcc.pod
perl ../../gcc-5.4.0/gcc/../contrib/texi2pod.pl ../../gcc-5.4.0/gcc/doc/invoke.texi > gcc.pod
Unescaped left brace in regex is illegal here in regex; marked by <-- HERE in m/^\@strong{ <-- HERE (.*)}$/ at ../../gcc-5.4.0/gcc/../contrib/texi2pod.pl line 319.
make: [Makefile:3077: gcc.pod] Error 255 (ignored)
Makefile:3054: update target 'doc/gcc.1' due to: gcc.pod
echo timestamp > doc/gcc.1
(pod2man --center="GNU" --release="gcc-5.4.0" --date=2016-06-03 --section=1 gcc.pod > doc/gcc.1.T$$ && \
        mv -f doc/gcc.1.T$$ doc/gcc.1) || \
        (rm -f doc/gcc.1.T$$ && exit 1)
pod2man: unable to format gcc.pod
make: [Makefile:3055: doc/gcc.1] Error 1 (ignored)
Makefile:3085: update target 'gpl.pod' due to: ../../gcc-5.4.0/gcc/doc/include/gpl_v3.texi
echo timestamp > gpl.pod
perl ../../gcc-5.4.0/gcc/../contrib/texi2pod.pl ../../gcc-5.4.0/gcc/doc/include/gpl_v3.texi > gpl.pod
Unescaped left brace in regex is illegal here in regex; marked by <-- HERE in m/^\@strong{ <-- HERE (.*)}$/ at ../../gcc-5.4.0/gcc/../contrib/texi2pod.pl line 319.
make: [Makefile:3086: gpl.pod] Error 255 (ignored)
Makefile:3060: update target 'doc/gpl.7' due to: gpl.pod
echo timestamp > doc/gpl.7
(pod2man --center="GNU" --release="gcc-5.4.0" --date=2016-06-03 --section=7 gpl.pod > doc/gpl.7.T$$ && \
        mv -f doc/gpl.7.T$$ doc/gpl.7) || \
        (rm -f doc/gpl.7.T$$ && exit 1)
pod2man: unable to format gpl.pod
make: [Makefile:3061: doc/gpl.7] Error 1 (ignored)
../../gcc-5.4.0/gcc/cp/Make-lang.in:189: update target 'doc/g++.1' due to: doc/gcc.1
cp doc/gcc.1 doc/g++.1
rm gcc.pod
make: Leaving directory '/tmp/guix-build-gcc-5.4.0.drv-0/build/gcc'
--8<---------------cut here---------------end--------------->8---

I could trigger this output by cd'ing into the failed derivation and
running:

--8<---------------cut here---------------start------------->8---
cd /tmp/guix-build-gcc-5.4.0.drv-0
# running guix environment from stable guix pull, so need to add perl manually
guix environment --no-grafts gcc <at> 5.4.0 --ad-hoc perl
make configure-gcc && make --trace -C gcc doc
--8<---------------cut here---------------end--------------->8---

Continuing investigation...




Information forwarded to bug-guix <at> gnu.org:
bug#24069; Package guix. (Tue, 03 Oct 2017 23:45:02 GMT) Full text and rfc822 format available.

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

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: ludo <at> gnu.org (Ludovic Courtès)
Cc: 24069 <at> debbugs.gnu.org
Subject: Re: bug#24069: [PATCHv4] Re: bug#24069: gcc man page is broken
Date: Tue, 03 Oct 2017 19:44:31 -0400
[Message part 1 (text/plain, inline)]
Maxim Cournoyer <maxim.cournoyer <at> gmail.com> writes:

> Patch v3 still doesn't fix the problem. There are now pod2man errors
> that prevent correctly generating the man pages:
[...]
> (pod2man --center="GNU" --release="gcc-5.4.0" --date=2016-06-03 --section=7 gpl.pod > doc/gpl.7.T$$ && \
>         mv -f doc/gpl.7.T$$ doc/gpl.7) || \
>         (rm -f doc/gpl.7.T$$ && exit 1)
> pod2man: unable to format gpl.pod
> make: [Makefile:3061: doc/gpl.7] Error 1 (ignored)
> ../../gcc-5.4.0/gcc/cp/Make-lang.in:189: update target 'doc/g++.1' due to: doc/gcc.1
> cp doc/gcc.1 doc/g++.1
> rm gcc.pod
> make: Leaving directory '/tmp/guix-build-gcc-5.4.0.drv-0/build/gcc'
>

Apparently GCC < 6 required a patch to its texi2pod.pl script, which had
a syntax problem. The attached patch fixes this last problem. I could
successfully build GCC 5.4.0 by using a derived package for testing
(otherwise it would trigger a world rebuild which was never ending of my
lesser machine).

Here's the patch used to test it:

--8<---------------cut here---------------start------------->8---
 gnu/packages/gcc.scm                        | 21 +++++++++++++++++++++
 gnu/packages/patches/gcc-fix-texi2pod.patch | 19 +++++++++++++++++++
 2 files changed, 40 insertions(+)
 create mode 100644 gnu/packages/patches/gcc-fix-texi2pod.patch

diff --git a/gnu/packages/gcc.scm b/gnu/packages/gcc.scm
index 7870d4513..320201b9c 100644
--- a/gnu/packages/gcc.scm
+++ b/gnu/packages/gcc.scm
@@ -395,6 +395,27 @@ Go.  It also includes runtime support libraries for these languages.")
     ;; `(("isl" ,isl)
     ;;   ,@(package-inputs gcc-4.7)))))
 
+(define-public gcc-5-dev
+  (package (inherit gcc-5)
+    (name "gcc-dev")
+    (version "5.4.0-dev")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "mirror://gnu/gcc/gcc-"
+                                  version "/gcc-" version ".tar.bz2"))
+              (sha256
+               (base32
+                "0fihlcy5hnksdxk0sn6bvgnyq8gfrgs8m794b1jxwd1dxinzg3b0"))
+              (patches (search-patches "gcc-arm-bug-71399.patch"
+                                       "gcc-strmov-store-file-names.patch"
+                                       "gcc-asan-powerpc-missing-include.patch"
+                                       "gcc-5.0-libvtv-runpath.patch"
+                                       "gcc-5-source-date-epoch-1.patch"
+                                       "gcc-5-source-date-epoch-2.patch"
+                                       "gcc-fix-texi2pod.patch"))))
+    (native-inputs `(("perl" ,perl)   ;for manpages
+                     ("texinfo" ,texinfo)))))
+
 (define-public gcc-6
   (package
     (inherit gcc-5)
diff --git a/gnu/packages/patches/gcc-fix-texi2pod.patch b/gnu/packages/patches/gcc-fix-texi2pod.patch
new file mode 100644
index 000000000..28bd56a38
--- /dev/null
+++ b/gnu/packages/patches/gcc-fix-texi2pod.patch
@@ -0,0 +1,19 @@
+This patch was taken from the official GCC git repository.
+X-Git-Url: https://gcc.gnu.org/git/?p=gcc.git;a=blobdiff_plain;f=contrib%2Ftexi2pod.pl;h=91bdbb5cea933d0381f2924ab94490fca31d5800;hp=eba1bcaa3cffa78b46030b219d04fe7d68367658;hb=67b56c905078d49d3e4028085e5cb1e1fb87a8aa;hpb=2f508a78310caab123e9794d3dcfe41f2769449b
+
+It fixes a defect in the contrib/texi2pod.pl script that prevented generating
+manual pages. It was corrected in the GCC 6.X series.
+
+diff --git a/contrib/texi2pod.pl b/contrib/texi2pod.pl
+index eba1bca..91bdbb5 100755
+--- a/contrib/texi2pod.pl
++++ b/contrib/texi2pod.pl
+@@ -316,7 +316,7 @@ while(<$inf>) {
+ 	@columns = ();
+ 	for $column (split (/\s*\@tab\s*/, $1)) {
+ 	    # @strong{...} is used a @headitem work-alike
+-	    $column =~ s/^\@strong{(.*)}$/$1/;
++	    $column =~ s/^\@strong\{(.*)\}$/$1/;
+ 	    push @columns, $column;
+ 	}
+ 	$_ = "\n=item ".join (" : ", @columns)."\n";
--8<---------------cut here---------------end--------------->8---

I could then build gcc-dev and verify that the man pages gcc and cpp
were working correctly in an environment instantiated using:

--8<---------------cut here---------------start------------->8---
./pre-inst-env guix environment --pure --ad-hoc gcc-dev man-db
--8<---------------cut here---------------end--------------->8---

The complete patch is attached; it should be good for core-updates.

Thank you,

Maxim

[0001-gnu-gcc-Fix-manual-pages.patch (text/x-patch, attachment)]

Added tag(s) pending. Request was from Maxim Cournoyer <maxim.cournoyer <at> gmail.com> to control <at> debbugs.gnu.org. (Wed, 04 Oct 2017 00:13:01 GMT) Full text and rfc822 format available.

Reply sent to ludo <at> gnu.org (Ludovic Courtès):
You have taken responsibility. (Tue, 31 Oct 2017 15:17:02 GMT) Full text and rfc822 format available.

Notification sent to Danny Milosavljevic <dannym <at> scratchpost.org>:
bug acknowledged by developer. (Tue, 31 Oct 2017 15:17:02 GMT) Full text and rfc822 format available.

Message #39 received at 24069-done <at> debbugs.gnu.org (full text, mbox):

From: ludo <at> gnu.org (Ludovic Courtès)
To: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Cc: 24069-done <at> debbugs.gnu.org, Efraim Flashner <efraim <at> flashner.co.il>
Subject: Re: bug#24069: [PATCHv4] Re: bug#24069: gcc man page is broken
Date: Tue, 31 Oct 2017 16:16:15 +0100
Hi!

Maxim Cournoyer <maxim.cournoyer <at> gmail.com> skribis:

>>From 7229d7887289316031847893f8ad020ff07bdcdd Mon Sep 17 00:00:00 2001
> From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
> Date: Sun, 1 Oct 2017 09:27:31 -0400
> Subject: [PATCH] gnu: gcc: Fix manual pages.
>
> Fixes bug #24069. perl is made a native input to all of the gcc-* packages
> except for gcc-boot0; perl-boot0 is made a native input to gcc-final.
>
> * gnu/packages/patches/gcc-fix-texi2pod.patch: Add patch file to fix texi2pod.
> * gnu/local.mk (dist_patch_DATA): Register it.
> * gnu/packages/gcc.scm (gcc-4.7, gcc-4.8, gcc-4.9, gcc-5): Use it.
> (gcc-4.7)[native-inputs]: Add perl.
> (gcc-4.9)[native-inputs]: Likewise.
> * gnu/packages/commencement.scm (gcc-boot0)[native-inputs]: Filter out perl.
> (gcc-final)[native-inputs]: Add perl-boot0.

Efraim pushed the patch as 19d27131968355a1da962e52163df51e0e03aba1 so I
think we’re all set.  Thank you!

The definition of ‘gcc-final’ in (gnu packages commencement) has an
explicit #:allowed-references white list, so we can be sure it won’t
retain a reference to Perl.

Ludo’.




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Wed, 29 Nov 2017 12:24:05 GMT) Full text and rfc822 format available.

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

Previous Next


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