GNU bug report logs -
#36518
[core-updates] python-boot0 fails to build on armhf and aarch64
Previous Next
Reported by: Marius Bakke <mbakke <at> fastmail.com>
Date: Fri, 5 Jul 2019 23:46:02 UTC
Severity: normal
Done: Marius Bakke <mbakke <at> fastmail.com>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
[Message part 1 (text/plain, inline)]
Your message dated Sun, 07 Jul 2019 16:42:35 +0200
with message-id <87d0ilrjms.fsf <at> devup.no>
and subject line Re: bug#36518: [core-updates] python-boot0 fails to build on armhf and aarch64
has caused the debbugs.gnu.org bug report #36518,
regarding [core-updates] python-boot0 fails to build on armhf and aarch64
to be marked as done.
(If you believe you have received this mail in error, please contact
help-debbugs <at> gnu.org.)
--
36518: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=36518
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
[Message part 3 (text/plain, inline)]
On the core-updates branch, since commit
5f3f70391809f8791c55c05bd1646bc58508fa2c, bootstrapping fails early for
armhf-linux and aarch64 when trying to build pkg-config (for
python-boot0). That can be easily worked around with this patch:
[Message part 4 (text/x-patch, inline)]
diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm
index d28296449d..183536d0b4 100644
--- a/gnu/packages/commencement.scm
+++ b/gnu/packages/commencement.scm
@@ -1866,6 +1866,7 @@ the bootstrap environment."
(inherit python-minimal)
(inputs
`(("expat" ,expat-sans-tests))) ;remove OpenSSL, zlib, etc.
+ (native-inputs '()) ;and pkg-config
(arguments
(substitute-keyword-arguments (package-arguments
python-minimal)
[Message part 5 (text/plain, inline)]
But then Python fails at the configure stage because pthreads is not
working with the bootstrap compiler on those platforms.
I'm not sure what to do about it. I tried using 'python-on-guile' with
this patch:
[Message part 6 (text/x-patch, inline)]
diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm
index f26145cb0b..747ec7c594 100644
--- a/gnu/packages/base.scm
+++ b/gnu/packages/base.scm
@@ -816,6 +816,33 @@ with the Linux kernel.")
(license lgpl2.0+)
(home-page "https://www.gnu.org/software/libc/")))
+(define-public glibc-sans-python
+ (package
+ (inherit glibc)
+ (name "glibc-with-guile-python")
+ (arguments
+ (substitute-keyword-arguments (package-arguments glibc)
+ ((#:phases phases)
+ `(modify-phases ,phases
+ (add-after 'unpack 'patch-configure
+ (lambda _
+ ;; Relax Python version check.
+ (substitute* "configure"
+ (("\\$critic_missing python") "")
+ (("\\$PYTHON_PROG -B") "$PYTHON_PROG"))
+ #t))))))
+ (native-inputs `(("texinfo" ,texinfo)
+ ("perl" ,perl)
+ ("bison" ,bison)
+ ("gettext" ,gettext-minimal)
+ ("python" ,(@ (gnu packages guile-xyz) python-on-guile))
+ ,@(if (hurd-target?)
+ `(("mig" ,mig)
+ ("perl" ,perl))
+ '())))))
+
+
+
;; Below are old libc versions, which we use mostly to build locale data in
;; the old format (which the new libc cannot cope with.)
[Message part 7 (text/plain, inline)]
But the interpreter fails with 'unbound variable: this' upon running
glibcs Python scripts.
Until python-on-guile is complete enough to run the glibc scripts, I
think we'll have to insert an older version of glibc into the
bootstrap graph, so that Python can be built with pthreads on all
platforms. WDYT?
[signature.asc (application/pgp-signature, inline)]
[Message part 9 (message/rfc822, inline)]
[Message part 10 (text/plain, inline)]
Ricardo Wurmus <rekado <at> elephly.net> writes:
> Hi Marius,
>
>> But the interpreter fails with 'unbound variable: this' upon running
>> glibcs Python scripts.
>
> This means it fell through to the case where “python” is called with
> more than one argument:
>
> --8<---------------cut here---------------start------------->8---
> (define* (main #:optional (args (command-line)))
> (match args
> ((_ file)
> (let ((compiled (string-append file ".go")))
> (compile-file file
> #:from python
> #:output-file compiled)
> (load-compiled compiled)))
> ((_)
> (repl-default-option-set! 'prompt ">>> ")
> (set! (@@ (system repl common) repl-welcome)
> (const (display "\
> Python on Guile, version 0.1.0
> (Hit Ctrl-D to exit.)
> ")))
> (start-repl python)
> #t)
> (_ (format (current-error-port)
> "usage: ~a file.py~%" this))))
> --8<---------------cut here---------------end--------------->8---
>
> “this” was supposed to be the first match, i.e. the “python” executable
> itself. Anyway, the problem is that “python” doesn’t handle any flags
> at all. I’ll implement option “handling” soon (maybe we can ignore most
> options to “python”).
I pushed a workaround in 4f5fe46388eb70055b6935df053f74b7ccdaf55f, which
uses an older version of Python that can be built without threads.
[signature.asc (application/pgp-signature, inline)]
This bug report was last modified 5 years and 314 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.