* [bug#49881] [PATCH] gnu: mpfr-boot: Use gmp-boot as a dependency
@ 2021-08-04 21:20 Thiago Jung Bauermann via Guix-patches via
2021-08-11 21:49 ` Ludovic Courtès
0 siblings, 1 reply; 6+ messages in thread
From: Thiago Jung Bauermann via Guix-patches via @ 2021-08-04 21:20 UTC (permalink / raw)
To: 49881; +Cc: Thiago Jung Bauermann
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
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [bug#49881] [PATCH] gnu: mpfr-boot: Use gmp-boot as a dependency
2021-08-04 21:20 [bug#49881] [PATCH] gnu: mpfr-boot: Use gmp-boot as a dependency Thiago Jung Bauermann via Guix-patches via
@ 2021-08-11 21:49 ` Ludovic Courtès
2021-08-11 21:51 ` Ludovic Courtès
2021-08-12 19:27 ` Thiago Jung Bauermann via Guix-patches via
0 siblings, 2 replies; 6+ messages in thread
From: Ludovic Courtès @ 2021-08-11 21:49 UTC (permalink / raw)
To: Thiago Jung Bauermann; +Cc: 49881
[-- Attachment #1: Type: text/plain, Size: 622 bytes --]
Hi,
Thiago Jung Bauermann <bauermann@kolabnow.com> skribis:
> 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.
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?
Thanks,
Ludo’.
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: Type: text/x-patch, Size: 4050 bytes --]
diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm
index 10b2987a11..dc9b372132 100644
--- a/gnu/packages/commencement.scm
+++ b/gnu/packages/commencement.scm
@@ -1733,38 +1733,28 @@ ac_cv_c_float_format='IEEE (little-endian)'
"gawk" "grep" "guile" "make" "sed" "tar"))))
(define gmp-boot
- (package
- (inherit gmp)
- (version "4.3.2")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://gnu/gmp/gmp-" version
- ".tar.gz"))
- (sha256 (base32
- "15rwq54fi3s11izas6g985y9jklm3xprfsmym3v1g6xr84bavqvv"))))))
+ (let ((version "4.3.2"))
+ (origin
+ (method url-fetch)
+ (uri (string-append "mirror://gnu/gmp/gmp-" version ".tar.gz"))
+ (sha256
+ (base32 "15rwq54fi3s11izas6g985y9jklm3xprfsmym3v1g6xr84bavqvv")))))
(define mpfr-boot
- (package
- (inherit mpfr)
- (version "2.4.2")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://gnu/mpfr/mpfr-" version
- ".tar.gz"))
- (sha256 (base32
- "0dxn4904dra50xa22hi047lj8kkpr41d6vb9sd4grca880c7wv94"))))))
+ (let ((version "2.4.2"))
+ (origin
+ (method url-fetch)
+ (uri (string-append "mirror://gnu/mpfr/mpfr-" version ".tar.gz"))
+ (sha256
+ (base32 "0dxn4904dra50xa22hi047lj8kkpr41d6vb9sd4grca880c7wv94")))))
(define mpc-boot
- (package
- (inherit mpc)
- (version "1.0.3")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "mirror://gnu/mpc/mpc-" version ".tar.gz"))
- (sha256
- (base32
- "1hzci2zrrd7v3g1jk35qindq05hbl0bhjcyyisq9z209xb3fqzb1"))))))
+ (let ((version "1.0.3"))
+ (origin
+ (method url-fetch)
+ (uri (string-append "mirror://gnu/mpc/mpc-" version ".tar.gz"))
+ (sha256
+ (base32 "1hzci2zrrd7v3g1jk35qindq05hbl0bhjcyyisq9z209xb3fqzb1")))))
(define gcc-core-mesboot1
;; GCC 4.6.4 is the latest modular distribution. This package is not
@@ -1782,9 +1772,9 @@ ac_cv_c_float_format='IEEE (little-endian)'
(sha256
(base32
"173kdb188qg79pcz073cj9967rs2vzanyjdjyxy9v0xb0p5sad75"))))
- (inputs `(("gmp-source" ,(package-source gmp-boot))
- ("mpfr-source" ,(package-source mpfr-boot))
- ("mpc-source" ,(package-source mpc-boot))))
+ (inputs `(("gmp-source" ,gmp-boot)
+ ("mpfr-source" ,mpfr-boot)
+ ("mpc-source" ,mpc-boot)))
(native-inputs (%boot-mesboot1-inputs))
(arguments
(list #:implicit-inputs? #f
@@ -1857,14 +1847,17 @@ ac_cv_c_float_format='IEEE (little-endian)'
(list gmp mpfr mpc))
;; Create symlinks like `gmp' -> `gmp-x.y.z'.
- #$@(map (lambda (lib)
+ #$@(map (lambda (lib package)
;; Drop trailing letters, as gmp-6.0.0a unpacks
;; into gmp-6.0.0.
#~(symlink #$(string-trim-right
- (package-full-name lib "-")
+ (basename
+ (origin-actual-file-name lib)
+ ".tar.gz")
char-set:letter)
- #$(package-name lib)))
- (list gmp-boot mpfr-boot mpc-boot)))))
+ #$package))
+ (list gmp-boot mpfr-boot mpc-boot)
+ '("gmp" "mpfr" "mpc")))))
(add-before 'configure 'setenv
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [bug#49881] [PATCH] gnu: mpfr-boot: Use gmp-boot as a dependency
2021-08-11 21:49 ` Ludovic Courtès
@ 2021-08-11 21:51 ` Ludovic Courtès
2021-08-12 19:27 ` Thiago Jung Bauermann via Guix-patches via
1 sibling, 0 replies; 6+ messages in thread
From: Ludovic Courtès @ 2021-08-11 21:51 UTC (permalink / raw)
To: Thiago Jung Bauermann; +Cc: 49881
Ludovic Courtès <ludo@gnu.org> skribis:
> I propose to instead make that explicit with the patch below. WDYT?
This would also address <https://issues.guix.gnu.org/49880> and
<https://issues.guix.gnu.org/49882> actually.
Ludo’.
^ permalink raw reply [flat|nested] 6+ messages in thread
* [bug#49881] [PATCH] gnu: mpfr-boot: Use gmp-boot as a dependency
2021-08-11 21:49 ` Ludovic Courtès
2021-08-11 21:51 ` Ludovic Courtès
@ 2021-08-12 19:27 ` Thiago Jung Bauermann via Guix-patches via
2021-08-12 22:14 ` bug#49881: " Ludovic Courtès
1 sibling, 1 reply; 6+ messages in thread
From: Thiago Jung Bauermann via Guix-patches via @ 2021-08-12 19:27 UTC (permalink / raw)
To: Ludovic Courtès; +Cc: 49881
Hi,
Em quarta-feira, 11 de agosto de 2021, às 18:49:03 -03, Ludovic Courtès
escreveu:
> Hi,
>
> Thiago Jung Bauermann <bauermann@kolabnow.com> skribis:
> > 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.
>
> 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.
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…
--
Thanks,
Thiago
^ permalink raw reply [flat|nested] 6+ messages in thread
* bug#49881: [PATCH] gnu: mpfr-boot: Use gmp-boot as a dependency
2021-08-12 19:27 ` Thiago Jung Bauermann via Guix-patches via
@ 2021-08-12 22:14 ` Ludovic Courtès
2021-08-14 19:46 ` [bug#49881] " Thiago Jung Bauermann via Guix-patches via
0 siblings, 1 reply; 6+ messages in thread
From: Ludovic Courtès @ 2021-08-12 22:14 UTC (permalink / raw)
To: Thiago Jung Bauermann; +Cc: 49881-done
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’.
^ permalink raw reply [flat|nested] 6+ messages in thread
* [bug#49881] [PATCH] gnu: mpfr-boot: Use gmp-boot as a dependency
2021-08-12 22:14 ` bug#49881: " Ludovic Courtès
@ 2021-08-14 19:46 ` Thiago Jung Bauermann via Guix-patches via
0 siblings, 0 replies; 6+ messages in thread
From: Thiago Jung Bauermann via Guix-patches via @ 2021-08-14 19:46 UTC (permalink / raw)
To: Ludovic Courtès; +Cc: 49881
Hello,
Em quinta-feira, 12 de agosto de 2021, às 19:14:46 -03, Ludovic Courtès
escreveu:
> 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.
Thank you!
> > 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.
Thanks for the explanation. It’s nice to learn a bit more about the CI.
> Sorry that this caused a false alarm!
No problem. In hindsight, I should have dug a little deeper. Then I could
have noticed that these packages aren’t built on their own.
--
Thanks,
Thiago
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2021-08-14 19:47 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-08-04 21:20 [bug#49881] [PATCH] gnu: mpfr-boot: Use gmp-boot as a dependency Thiago Jung Bauermann via Guix-patches via
2021-08-11 21:49 ` Ludovic Courtès
2021-08-11 21:51 ` Ludovic Courtès
2021-08-12 19:27 ` Thiago Jung Bauermann via Guix-patches via
2021-08-12 22:14 ` bug#49881: " Ludovic Courtès
2021-08-14 19:46 ` [bug#49881] " Thiago Jung Bauermann via Guix-patches via
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/guix.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).