GNU bug report logs - #54279
[PATCH 0/2] Fix transfig build errors.

Previous Next

Package: guix-patches;

Reported by: Ivan Vilata i Balaguer <ivan <at> selidor.net>

Date: Sun, 6 Mar 2022 23:46:02 UTC

Severity: normal

Tags: patch

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

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 54279 in the body.
You can then email your comments to 54279 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 guix-patches <at> gnu.org:
bug#54279; Package guix-patches. (Sun, 06 Mar 2022 23:46:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Ivan Vilata i Balaguer <ivan <at> selidor.net>:
New bug report received and forwarded. Copy sent to guix-patches <at> gnu.org. (Sun, 06 Mar 2022 23:46:02 GMT) Full text and rfc822 format available.

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

From: Ivan Vilata i Balaguer <ivan <at> selidor.net>
To: guix-patches <at> gnu.org
Subject: [PATCH 0/2] Fix transfig build errors.
Date: Mon, 7 Mar 2022 00:45:02 +0100
[Message part 1 (text/plain, inline)]
Hello!  The following patches fix two build errors of the package `transfig`
caused by the upgrade to binutils 2.36 (namely bug
<https://issues.guix.gnu.org/53425> (similar to
<https://bugs.debian.org/981072>) and to GCC 10+ with option `-f-no-common`
(similar to <https://bugs.gentoo.org/706706>, which I found when I fixed the
previous one).  Thanks!

Ivan Vilata i Balaguer (2):
  gnu: transfig: Avoid "ar" option incompatibility with binutils 2.36.
  gnu: transfig: Fix "multiple definition" errors with GCC 10+.

 .../patches/transfig-gcc10-fno-common.patch   | 33 +++++++++++++++++++
 gnu/packages/xfig.scm                         | 14 ++++++--
 2 files changed, 45 insertions(+), 2 deletions(-)
 create mode 100644 gnu/packages/patches/transfig-gcc10-fno-common.patch

-- 
2.34.0


-- 
Ivan Vilata i Balaguer -- https://elvil.net/
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#54279; Package guix-patches. (Sun, 06 Mar 2022 23:48:01 GMT) Full text and rfc822 format available.

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

From: Ivan Vilata i Balaguer <ivan <at> selidor.net>
To: 54279 <at> debbugs.gnu.org
Subject: [PATCH 1/2] gnu: transfig: Avoid "ar" option incompatibility with
 binutils 2.36.
Date: Mon, 7 Mar 2022 00:47:07 +0100
[Message part 1 (text/plain, inline)]
Fixes <https://issues.guix.gnu.org/53425>.

* gnu/packages/xfig.scm (transfig)[arguments]<#:phases>: Remove "l" option
from "ar" invocation in makefiles to avoid incompatible meaning in binutils
2.36 causing error "ar: libdeps specified more than once".
---
 gnu/packages/xfig.scm | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/xfig.scm b/gnu/packages/xfig.scm
index 9004c79e22..ad2f701ff1 100644
--- a/gnu/packages/xfig.scm
+++ b/gnu/packages/xfig.scm
@@ -3,6 +3,7 @@
 ;;; Copyright © 2014 Federico Beffa <beffa <at> fbengineering.ch>
 ;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me <at> tobias.gr>
 ;;; Copyright © 2021 Efraim Flashner <efraim <at> flashner.co.il>
+;;; Copyright © 2022 Ivan Vilata i Balaguer <ivan <at> selidor.net>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -123,6 +124,7 @@ (define-public transfig
                (invoke "xmkmf" "-a")
                (substitute* '("Makefile"
                               "fig2dev/Makefile"
+                              "fig2dev/dev/Makefile"
                               "transfig/Makefile")
                  ;; These imake variables somehow remain undefined
                  (("DefaultGcc2[[:graph:]]*Opt") "-O2")
@@ -131,7 +133,12 @@ (define-public transfig
                  (("(MANPATH = )[[:graph:]]*" _ front)
                   (string-append front out "/share/man"))
                  (("(CONFDIR = )([[:graph:]]*)" _ front default)
-                  (string-append front out default)))
+                  (string-append front out default))
+                 ;; The "l" option was silently ignored until binutils 2.36,
+                 ;; where it got a different purpose.  So remove it to avoid
+                 ;; "ar: libdeps specified more than once".
+                 (("((AR|MODAR) = ar )clq" _ front)
+                  (string-append front "cq")))
                #t)))
          (add-after 'install 'install/doc
            (lambda _
-- 
2.34.0


-- 
Ivan Vilata i Balaguer -- https://elvil.net/
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#54279; Package guix-patches. (Sun, 06 Mar 2022 23:48:02 GMT) Full text and rfc822 format available.

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

From: Ivan Vilata i Balaguer <ivan <at> selidor.net>
To: 54279 <at> debbugs.gnu.org
Subject: [PATCH 2/2] gnu: transfig: Fix "multiple definition" errors with GCC
 10+.
Date: Mon, 7 Mar 2022 00:47:32 +0100
[Message part 1 (text/plain, inline)]
* gnu/packages/patches/transfig-gcc10-fno-common.patch: New patch.
* gnu/packages/xfig.scm (transfig)[source]<origin>: Use patch
"transfig-gcc10-fno-common.patch" to avoid "multiple definition" errors with
GCC 10+ and "-f-no-common".
---
 .../patches/transfig-gcc10-fno-common.patch   | 33 +++++++++++++++++++
 gnu/packages/xfig.scm                         |  5 ++-
 2 files changed, 37 insertions(+), 1 deletion(-)
 create mode 100644 gnu/packages/patches/transfig-gcc10-fno-common.patch

diff --git a/gnu/packages/patches/transfig-gcc10-fno-common.patch b/gnu/packages/patches/transfig-gcc10-fno-common.patch
new file mode 100644
index 0000000000..ebe9236533
--- /dev/null
+++ b/gnu/packages/patches/transfig-gcc10-fno-common.patch
@@ -0,0 +1,33 @@
+Fixes "multiple definition" errors when building with GCC 10+.
+
+Based on <https://bugs.gentoo.org/show_bug.cgi?id=706706>.
+--- a/fig2dev/dev/gensvg.c	2010-07-01 22:41:16.000000000 +0200
++++ b/fig2dev/dev/gensvg.c	2022-02-27 20:02:33.379945500 +0100
+@@ -230,10 +230,12 @@
+ };
+ 
+ /* arrowhead arrays */
+-Point   points[50], fillpoints[50], clippoints[50];
+-int     npoints, nfillpoints, nclippoints;
+-int     arrowx1, arrowy1;	/* first point of object */
+-int     arrowx2, arrowy2;	/* second point of object */
++Point   fillpoints[50];
++int     nfillpoints;
++extern Point   points[50], clippoints[50];
++extern int     npoints, nclippoints;
++extern int     arrowx1, arrowy1;	/* first point of object */
++extern int     arrowx2, arrowy2;	/* second point of object */
+ 
+ static int tileno=0; /* number of current tile */ 
+ 
+--- a/fig2dev/fig2dev.h	2010-03-16 19:53:20.000000000 +0100
++++ b/fig2dev/fig2dev.h	2022-02-27 19:56:06.072253991 +0100
+@@ -126,7 +126,7 @@
+ extern char	*prog, *from, *to;
+ extern char	*name;
+ extern double	font_size;
+-Boolean	correct_font_size;	/* use correct font size */
++extern Boolean	correct_font_size;	/* use correct font size */
+ extern double	mag, fontmag;
+ extern FILE	*tfp;
+ 
diff --git a/gnu/packages/xfig.scm b/gnu/packages/xfig.scm
index ad2f701ff1..1d4d17527c 100644
--- a/gnu/packages/xfig.scm
+++ b/gnu/packages/xfig.scm
@@ -86,7 +86,10 @@ (define-public transfig
                            version ".tar.gz"))
        (sha256
         (base32
-         "0i3p7qmg2w8qrad3pn42b0miwarql7yy0gpd49b1bpal6bqsiicf"))))
+         "0i3p7qmg2w8qrad3pn42b0miwarql7yy0gpd49b1bpal6bqsiicf"))
+       (patches
+        (search-patches
+         "transfig-gcc10-fno-common.patch")))) ; fix GCC10 build
     (build-system gnu-build-system)
     (native-inputs
      (list imake makedepend))
-- 
2.34.0


-- 
Ivan Vilata i Balaguer -- https://elvil.net/
[signature.asc (application/pgp-signature, inline)]

Reply sent to Ludovic Courtès <ludo <at> gnu.org>:
You have taken responsibility. (Fri, 11 Mar 2022 22:10:03 GMT) Full text and rfc822 format available.

Notification sent to Ivan Vilata i Balaguer <ivan <at> selidor.net>:
bug acknowledged by developer. (Fri, 11 Mar 2022 22:10:04 GMT) Full text and rfc822 format available.

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

From: Ludovic Courtès <ludo <at> gnu.org>
To: Ivan Vilata i Balaguer <ivan <at> selidor.net>
Cc: 53425-done <at> debbugs.gnu.org, 54279-done <at> debbugs.gnu.org
Subject: Re: bug#54279: [PATCH 0/2] Fix transfig build errors.
Date: Fri, 11 Mar 2022 23:09:07 +0100
Bona nit!

Ivan Vilata i Balaguer <ivan <at> selidor.net> skribis:

> Hello!  The following patches fix two build errors of the package `transfig`
> caused by the upgrade to binutils 2.36 (namely bug
> <https://issues.guix.gnu.org/53425> (similar to
> <https://bugs.debian.org/981072>) and to GCC 10+ with option `-f-no-common`
> (similar to <https://bugs.gentoo.org/706706>, which I found when I fixed the
> previous one).  Thanks!

I added the patch to ‘gnu/local.mk’ and applied both patches.

Thanks!

Ludo’.




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Sat, 09 Apr 2022 11:24:06 GMT) Full text and rfc822 format available.

This bug report was last modified 3 years and 67 days ago.

Previous Next


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