--- Begin Message ---
Subject: |
[PATCH] gnu: mpfr-boot: Use gmp-boot as a dependency |
Date: |
Wed, 4 Aug 2021 18:20:21 -0300 |
The current GMP version is incompatible with MPFR 2.4 (which was released
in 2009) and causes the build of ‘mpfr-boot’ to fail.
Fix the problem by using ‘gmp-boot’, which is from early 2010.
* gnu/packages/commencement.scm (mpfr-boot)[propagated-inputs]: Add
gmp-boot.
---
Hello,
This is a problem affecting both master and core-updates-frozen, so
I suggest committing this patch to master. It applies cleanly on both
branches.
It also affects at least the i686-linux, x86_64-linux and powerpc64-linux
architectures.
For reference, there’s a ton of error messages during build but these
are the first ones:
In file included from mpfr-impl.h:81:0,
from add1.c:23:
mpfr.h:141:9: error: unknown type name ‘__gmp_const’
typedef __gmp_const __mpfr_struct *mpfr_srcptr;
^~~~~~~~~~~
In file included from mpfr-impl.h:81:0,
from add.c:23:
mpfr.h:141:9: error: unknown type name ‘__gmp_const’
typedef __gmp_const __mpfr_struct *mpfr_srcptr;
^~~~~~~~~~~
mpfr.h:141:35: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’
before ‘*’ token
typedef __gmp_const __mpfr_struct *mpfr_srcptr;
^
mpfr.h:204:29: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’
before ‘char’
__MPFR_DECLSPEC __gmp_const char * mpfr_get_version _MPFR_PROTO
((void));
^~~~
mpfr.h:205:29: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’
before ‘char’
__MPFR_DECLSPEC __gmp_const char * mpfr_get_patches _MPFR_PROTO
((void));
^~~~
Thanks,
Thiago
gnu/packages/commencement.scm | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm
index 16eb46d44d77..f8973392262f 100644
--- a/gnu/packages/commencement.scm
+++ b/gnu/packages/commencement.scm
@@ -1869,7 +1869,8 @@ ac_cv_c_float_format='IEEE (little-endian)'
(uri (string-append "mirror://gnu/mpfr/mpfr-" version
".tar.gz"))
(sha256 (base32
-
"0dxn4904dra50xa22hi047lj8kkpr41d6vb9sd4grca880c7wv94"))))))
+
"0dxn4904dra50xa22hi047lj8kkpr41d6vb9sd4grca880c7wv94"))))
+ (propagated-inputs `(("gmp" ,gmp-boot))))) ; <mpfr.h> refers to
<gmp.h>
(define mpc-boot
(package
--- End Message ---
--- Begin Message ---
Subject: |
Re: bug#49881: [PATCH] gnu: mpfr-boot: Use gmp-boot as a dependency |
Date: |
Fri, 13 Aug 2021 00:14:46 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux) |
Hi,
Thiago Jung Bauermann <bauermann@kolabnow.com> skribis:
> Em quarta-feira, 11 de agosto de 2021, às 18:49:03 -03, Ludovic Courtès
> escreveu:
[...]
>> Indeed. However, it turns out that ‘gmp-boot’, ‘mpfr-boot’, and
>> ‘mpc-boot’ are not actually used as dependencies; we only ever use their
>> source.
>>
>> I propose to instead make that explicit with the patch below. WDYT?
>
> I think it’s a great solution! Much simpler than my patches for this issue
> and also 49880 and 49882. Thank you very much for working on it.
>
> I also confirmed that with your patch, ‘gmp-boot’, ‘mpfr-boot’, and ‘mpc-
> boot’ “build” correctly on powerpc64le-linux (not that it really matters),
> and they also “build” correctly on i686-linux. The latter system also
> builds ‘gcc-core-mesboot1’ correctly.
Awesome, pushed as b417dde293080184dae9098e408849a237903a84.
> Out of curiosity, why did the CI even try to build ‘gmp-boot’, ‘mpfr-boot’,
> and ‘mpc-boot’ on powerpc64le-linux? They’re not public packages, and
> moreover they are only dependencies of ‘gcc-core-mesboot1’ which is only
> relevant on i686-linux…
That comes from commit 37861f6c293d7ed1033050b2b0597885ba65186f. The
motivation was to ensure that substitutes for these intermediate
packages would be available on the ci.guix front-end node. Failing to
do that, Cuirass would not attempt fetch them from build nodes on the
front-end node.
Sorry that this caused a false alarm!
Thanks,
Ludo’.
--- End Message ---