unofficial mirror of help-guix@gnu.org 
 help / color / mirror / Atom feed
* guix system disk-image failure aarch64 -> armhf
@ 2020-09-09  8:04 Andreas Enge
  2020-09-09  9:11 ` Mathieu Othacehe
  0 siblings, 1 reply; 8+ messages in thread
From: Andreas Enge @ 2020-09-09  8:04 UTC (permalink / raw)
  To: help-guix

Hello,

when issuing the following command on an aarch64 machine:
   guix system disk-image --system=armhf-linux config.scm
it fails like this:
building /gnu/store/p9iz58wrxc4jiqd21n1q0rwcrjgbrk3q-partition.img.drv...
Backtrace:
           3 (primitive-load "/gnu/store/vs1lk99mbv4hx6jy9dy40c4iyc0…")
In ice-9/eval.scm:
    619:8  2 (_ #(#<directory (guile-user) f5fb87d0> #<procedure …> …))
In ./gnu/build/bootloader.scm:
     91:4  1 (install-efi-loader "/gnu/store/zb6bqw6lfvimafpg8138x5…" …)
    70:35  0 (install-efi _ "grub.cfg" _)
./gnu/build/bootloader.scm:70:35: In procedure install-efi:
In procedure car: Wrong type argument in position 1 (expecting pair): #<unspecified>
environment variable `PATH' set to `/gnu/store/62c83bc4a6vnx94cmgn0h37j3mj8nif8-e2fsprogs-1.45.6/bin:/gnu/store/62c83bc4a6vnx94cmgn0h37j3mj8nif8-e2fsprogs-1.45.6/sbin:/gnu/store/m95apqb285f054811f7svfyfkf9dlcar-fakeroot-1.24/bin:/gnu/store/0xq1p9k2lnpx0cddvqiww0sqj4nr5s76-dosfstools-4.1/sbin:/gnu/store/g4f7x6wiz1mg383dnqw5bbmkpdz67al0-mtools-4.0.24/bin'

The appearance of "efi" and "grub" is suspicious.

I do have this in my config:
  (bootloader (bootloader-configuration
               (bootloader u-boot-novena-bootloader)
               (target "/dev/mmcblk0")))
So there is no trace of grub or efi in it. Does anyone know what is happening?

Andreas



^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: guix system disk-image failure aarch64 -> armhf
  2020-09-09  8:04 guix system disk-image failure aarch64 -> armhf Andreas Enge
@ 2020-09-09  9:11 ` Mathieu Othacehe
  2020-09-09  9:14   ` Mathieu Othacehe
  2020-09-14  9:32   ` Andreas Enge
  0 siblings, 2 replies; 8+ messages in thread
From: Mathieu Othacehe @ 2020-09-09  9:11 UTC (permalink / raw)
  To: Andreas Enge; +Cc: help-guix


Hello Andreas,

> The appearance of "efi" and "grub" is suspicious.
>
> I do have this in my config:
>   (bootloader (bootloader-configuration
>                (bootloader u-boot-novena-bootloader)
>                (target "/dev/mmcblk0")))
> So there is no trace of grub or efi in it. Does anyone know what is happening?

The default Guix System disk image is an x86 compatible disk-image with
an EFI partition so that it can be booted on UEFI compatible
systems. That's why you see occurrences of "grub" and "efi".

That does not really explain the error though, but that's another
issue. The pending patch here[1], will hopefully help users specify
their target image. It means that you should be able to write:

--8<---------------cut here---------------start------------->8---
guix system disk-image -t novena config.scm
--8<---------------cut here---------------end--------------->8---

or,

--8<---------------cut here---------------start------------->8---
guix system disk-image -t raw-image config.scm
--8<---------------cut here---------------end--------------->8---

Until then, running something like:

--8<---------------cut here---------------start------------->8---
(use-modules (gnu)
             (gnu image)
             (gnu system image)
             (guix))

(define my-os
  (primitive-load "/home/mathieu/guix/gnu/system/examples/bare-bones.tmpl"))

(define my-image
  (image
   (format 'disk-image)
   (partitions (list root-partition))
   (operating-system my-os)))

(run-with-store (open-connection)
  (mlet* %store-monad
      ((drv     (lower-object (system-image my-image "armhf-linux")))
       (build   (built-derivations (list drv))))
    (return #t)))
--8<---------------cut here---------------end--------------->8---

should get you closer.

Thanks,

Mathieu

[1]: https://issues.guix.gnu.org/42634


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: guix system disk-image failure aarch64 -> armhf
  2020-09-09  9:11 ` Mathieu Othacehe
@ 2020-09-09  9:14   ` Mathieu Othacehe
  2020-09-14  9:32   ` Andreas Enge
  1 sibling, 0 replies; 8+ messages in thread
From: Mathieu Othacehe @ 2020-09-09  9:14 UTC (permalink / raw)
  To: Andreas Enge; +Cc: help-guix


Sorry, this:

>       ((drv     (lower-object (system-image my-image "armhf-linux")))

should instead be:

--8<---------------cut here---------------start------------->8---
((drv     (lower-object (system-image my-image) "armhf-linux"))
--8<---------------cut here---------------end--------------->8---

Thanks,

Mathieu


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: guix system disk-image failure aarch64 -> armhf
  2020-09-09  9:11 ` Mathieu Othacehe
  2020-09-09  9:14   ` Mathieu Othacehe
@ 2020-09-14  9:32   ` Andreas Enge
  2020-09-14 13:24     ` Efraim Flashner
  1 sibling, 1 reply; 8+ messages in thread
From: Andreas Enge @ 2020-09-14  9:32 UTC (permalink / raw)
  To: Mathieu Othacehe; +Cc: help-guix

Hello Mathieu,

thanks for your helpful reply!

On Wed, Sep 09, 2020 at 11:11:18AM +0200, Mathieu Othacehe wrote:
> That does not really explain the error though, but that's another
> issue. The pending patch here[1], will hopefully help users specify
> their target image. It means that you should be able to write:
> 
> --8<---------------cut here---------------start------------->8---
> guix system disk-image -t novena config.scm
> --8<---------------cut here---------------end--------------->8---

That looks really interesting, but I cannot meaningfully comment on the
bug report. Maybe it is time after the summer vacation season to poke
people more competent on the subject to comment :)

> Until then, running something like:
> --8<---------------cut here---------------start------------->8---
> (run-with-store (open-connection)
>   (mlet* %store-monad
>       ((drv     (lower-object (system-image my-image "armhf-linux")))
>        (build   (built-derivations (list drv))))
>     (return #t)))
> --8<---------------cut here---------------end--------------->8---

If by running you mean calling "guile the-above-file.scm", then I get
strange results. I just did a "guix system reconfigure"; "which guile"
returns "/run/current-system/profile/bin/guile". However then I get lots
of suspicious messages of this kind:
;;; In procedure load-thunk-from-memory: incompatible bytecode version
;;; WARNING: compilation of /run/current-system/profile/share/guile/site/3.0/guix/diagnostics.scm failed:
;;; Unbound variable: trivial-format-string?

How can byte codes be incompatible if on one hand they are part of the
profile, on the other hand I am running guile from the same profile?

Andreas



^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: guix system disk-image failure aarch64 -> armhf
  2020-09-14  9:32   ` Andreas Enge
@ 2020-09-14 13:24     ` Efraim Flashner
  2020-09-14 17:18       ` Andreas Enge
  0 siblings, 1 reply; 8+ messages in thread
From: Efraim Flashner @ 2020-09-14 13:24 UTC (permalink / raw)
  To: Andreas Enge; +Cc: Mathieu Othacehe, help-guix

[-- Attachment #1: Type: text/plain, Size: 2440 bytes --]

On Mon, Sep 14, 2020 at 11:32:42AM +0200, Andreas Enge wrote:
> Hello Mathieu,
> 
> thanks for your helpful reply!
> 
> On Wed, Sep 09, 2020 at 11:11:18AM +0200, Mathieu Othacehe wrote:
> > That does not really explain the error though, but that's another
> > issue. The pending patch here[1], will hopefully help users specify
> > their target image. It means that you should be able to write:
> > 
> > --8<---------------cut here---------------start------------->8---
> > guix system disk-image -t novena config.scm
> > --8<---------------cut here---------------end--------------->8---
> 
> That looks really interesting, but I cannot meaningfully comment on the
> bug report. Maybe it is time after the summer vacation season to poke
> people more competent on the subject to comment :)
> 
> > Until then, running something like:
> > --8<---------------cut here---------------start------------->8---
> > (run-with-store (open-connection)
> >   (mlet* %store-monad
> >       ((drv     (lower-object (system-image my-image "armhf-linux")))
> >        (build   (built-derivations (list drv))))
> >     (return #t)))
> > --8<---------------cut here---------------end--------------->8---
> 
> If by running you mean calling "guile the-above-file.scm", then I get
> strange results. I just did a "guix system reconfigure"; "which guile"
> returns "/run/current-system/profile/bin/guile". However then I get lots
> of suspicious messages of this kind:
> ;;; In procedure load-thunk-from-memory: incompatible bytecode version
> ;;; WARNING: compilation of /run/current-system/profile/share/guile/site/3.0/guix/diagnostics.scm failed:
> ;;; Unbound variable: trivial-format-string?
> 
> How can byte codes be incompatible if on one hand they are part of the
> profile, on the other hand I am running guile from the same profile?
> 
> Andreas
> 

I'm not sure about the trivial-format-string? warning (we should
probably investigate that). Guix is built with guile 3.0.2 and we have
guile-3.0.4. There was an unfortunate soversion bump with guile-3.0.2
and we've been having the incompatible bytecode version since with guile
programs. I've noticed it when launching shepherd as my user.

-- 
Efraim Flashner   <efraim@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

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: guix system disk-image failure aarch64 -> armhf
  2020-09-14 13:24     ` Efraim Flashner
@ 2020-09-14 17:18       ` Andreas Enge
  2020-09-17 12:13         ` Mathieu Othacehe
  0 siblings, 1 reply; 8+ messages in thread
From: Andreas Enge @ 2020-09-14 17:18 UTC (permalink / raw)
  To: Efraim Flashner; +Cc: Mathieu Othacehe, help-guix

On Mon, Sep 14, 2020 at 04:24:19PM +0300, Efraim Flashner wrote:
> I'm not sure about the trivial-format-string? warning (we should

More worrysome is the end of the story:

;;; compiled /home/andreas/.cache/guile/ccache/3.0-LE-8-4.2/gnu/store/xad80h6vbsc1fb844kx1c5l0am97nfm1-guix-1.1.0-25.44c6e6f/share/guile/site/3.0/gnu/system/pam.scm.go
Backtrace:
In ice-9/psyntax.scm:
  1233:19 19 (parse _ (("placeholder" placeholder)) ((top) #(# # …)) …)
   285:10 18 (parse _ (("placeholder" placeholder)) (()) _ c&e (eval) …)
In ice-9/eval.scm:
   293:34 17 (_ #<module (#{ g347337}#) ffff7cf9ba00>)
In ice-9/boot-9.scm:
   3380:4 16 (define-module* _ #:filename _ #:pure _ #:version _ # _ …)
  3393:24 15 (_)
   222:29 14 (map1 _)
   222:29 13 (map1 _)
   222:29 12 (map1 _)
   222:29 11 (map1 _)
   222:29 10 (map1 _)
   222:17  9 (map1 (((gnu system pam)) ((gnu system shadow)) ((…)) …))
  3297:17  8 (resolve-interface (gnu system pam) #:select _ #:hide _ …)
In ice-9/threads.scm:
    390:8  7 (_ _)
In ice-9/boot-9.scm:
  3223:13  6 (_)
In ice-9/threads.scm:
    390:8  5 (_ _)
In ice-9/boot-9.scm:
  3507:20  4 (_)
   2806:4  3 (save-module-excursion _)
  3527:26  2 (_)
In unknown file:
           1 (primitive-load-path "gnu/system/pam" #<procedure ffff7…>)
In /run/current-system/profile/share/guile/site/3.0/gnu/system/pam.scm:
    303:2  0 (_)

/run/current-system/profile/share/guile/site/3.0/gnu/system/pam.scm:303:2: error: service-type: unbound variable
> probably investigate that). Guix is built with guile 3.0.2 and we have
> guile-3.0.4. There was an unfortunate soversion bump with guile-3.0.2
> and we've been having the incompatible bytecode version since with guile
> programs. I've noticed it when launching shepherd as my user.

Actually my system guile is still at 3.0.2:
$ guile --version
guile (GNU Guile) 3.0.2

So I would expect everything to be in sync here.

Or has the system been built with an even older guile? I am a few days back at
$ guix describe
Generation 7    Sep 08 2020 23:36:04    (current)
  guix ee7a7c9
    repository URL: https://git.savannah.gnu.org/git/guix.git
    branch: master
    commit: ee7a7c9014f7dd238ab42d15ef3f5f1fe187d1c3

Andreas



^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: guix system disk-image failure aarch64 -> armhf
  2020-09-14 17:18       ` Andreas Enge
@ 2020-09-17 12:13         ` Mathieu Othacehe
  2020-09-17 15:01           ` Andreas Enge
  0 siblings, 1 reply; 8+ messages in thread
From: Mathieu Othacehe @ 2020-09-17 12:13 UTC (permalink / raw)
  To: Andreas Enge; +Cc: help-guix


Hello Andreas,

> In unknown file:
>            1 (primitive-load-path "gnu/system/pam" #<procedure ffff7…>)
> In /run/current-system/profile/share/guile/site/3.0/gnu/system/pam.scm:
>     303:2  0 (_)
>
> /run/current-system/profile/share/guile/site/3.0/gnu/system/pam.scm:303:2: error: service-type: unbound variable

Oh not good!

Did you use a specific operating system file? Or the raw bare-bones.tmpl
as hardcoded in the snippet I sent?

Thanks,

Mathieu


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: guix system disk-image failure aarch64 -> armhf
  2020-09-17 12:13         ` Mathieu Othacehe
@ 2020-09-17 15:01           ` Andreas Enge
  0 siblings, 0 replies; 8+ messages in thread
From: Andreas Enge @ 2020-09-17 15:01 UTC (permalink / raw)
  To: Mathieu Othacehe; +Cc: help-guix

On Thu, Sep 17, 2020 at 02:13:06PM +0200, Mathieu Othacehe wrote:
> Did you use a specific operating system file? Or the raw bare-bones.tmpl
> as hardcoded in the snippet I sent?

Actually I used my own system file. Now I tried again running
   guile image.scm
where image.scm is your snippet with bare-bones.tmpl in it.

It takes about 90 minutes on the aarch64 machine to build all of Guix with
these "incompatible bytecode" messages. The last screen with warnings and
errors is this one:

;;; /run/current-system/profile/share/guile/site/3.0/gnu/services/dbus.scm:188:12: warning: possibly unbound variable `provision'
;;; /run/current-system/profile/share/guile/site/3.0/gnu/services/dbus.scm:187:12: warning: possibly unbound variable `documentation'
;;; compiled /home/andreas/.cache/guile/ccache/3.0-LE-8-4.2/gnu/store/xad80h6vbsc1fb844kx1c5l0am97nfm1-guix-1.1.0-25.44c6e6f/share/guile/site/3.0/gnu/services/dbus.scm.go
;;; WARNING: compilation of /run/current-system/profile/share/guile/site/3.0/gnu/system/linux-container.scm failed:
;;; error: shepherd-root-service-type: unbound variable
;;; WARNING: compilation of /run/current-system/profile/share/guile/site/3.0/gnu/system/image.scm failed:
;;; error: shepherd-service-type: unbound variable
;;; WARNING: loading compiled file /run/current-system/profile/lib/guile/3.0/site-ccache/gnu/packages/genimage.go failed:
;;; In procedure load-thunk-from-memory: incompatible bytecode version
;;; compiling /run/current-system/profile/share/guile/site/3.0/gnu/packages/genimage.scm
;;; compiled /home/andreas/.cache/guile/ccache/3.0-LE-8-4.2/gnu/store/xad80h6vbsc1fb844kx1c5l0am97nfm1-guix-1.1.0-25.44c6e6f/share/guile/site/3.0/gnu/packages/genimage.scm.go
ice-9/psyntax.scm:2800:12: In procedure syntax-violation:
Syntax error:
/run/current-system/profile/share/guile/site/3.0/gnu/system/image.scm:497:24: bootloader: invalid field specifier in subform (if (eq? format (quote iso9660)) (bootloader-configuration (inherit (operating-system-bootloader base-os)) (bootloader grub-mkrescue-bootloader)) (operating-system-bootloader base-os)) of (bootloader (if (eq? format (quote iso9660)) (bootloader-configuration (inherit (operating-system-bootloader base-os)) (bootloader grub-mkrescue-bootloader)) (operating-system-bootloader base-os)))

Andreas



^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2020-09-17 15:25 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-09-09  8:04 guix system disk-image failure aarch64 -> armhf Andreas Enge
2020-09-09  9:11 ` Mathieu Othacehe
2020-09-09  9:14   ` Mathieu Othacehe
2020-09-14  9:32   ` Andreas Enge
2020-09-14 13:24     ` Efraim Flashner
2020-09-14 17:18       ` Andreas Enge
2020-09-17 12:13         ` Mathieu Othacehe
2020-09-17 15:01           ` Andreas Enge

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).