all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Vincent Legoll <vincent.legoll@gmail.com>
To: "Ludovic Courtès" <ludo@gnu.org>
Cc: guix-devel <guix-devel@gnu.org>
Subject: Re: how to create and test a new service definition
Date: Sun, 14 May 2017 10:44:47 +0200	[thread overview]
Message-ID: <CAEwRq=pr3LbVBe30uFcm4mxkgDsBtz71wbavTZkCtn9A6_hVfA@mail.gmail.com> (raw)
In-Reply-To: <878tm0zflx.fsf@gnu.org>

On Sat, May 13, 2017 at 10:06 PM, Ludovic Courtès <ludo@gnu.org> wrote:
> Vincent Legoll <vincent.legoll@gmail.com> skribis:
>> ERROR: qemu failed "qemu-system-x86_64"
>
> What were the lines above this one?  This tool tries to use KVM if it
> seems available.  Maybe in your case it “seems” to be available (as in
> /dev/kvm exists) but is actually unusable?

Formatting '/gnu/store/miyri69r76ji72y6aq5xci8z2j68n5s1-qemu-image',
fmt=qcow2 size=31457280 encryption=off cluster_size=65536
lazy_refcounts=off refcount_bits=16
qemu-system-x86_64: error: failed to set MSR 0xd90 to 0x0
qemu-system-x86_64:
/tmp/guix-build-qemu-minimal-2.9.0.drv-0/qemu-2.9.0/target/i386/kvm.c:1833:
kvm_put_msrs: Assertion `ret == cpu->kvm_msr_buf->nmsrs' failed.
Backtrace:
In ice-9/boot-9.scm:
 160: 10 [catch #t #<catch-closure 8c5b80> ...]
In unknown file:
   ?: 9 [apply-smob/1 #<catch-closure 8c5b80>]
In ice-9/boot-9.scm:
  66: 8 [call-with-prompt prompt0 ...]
In ice-9/eval.scm:
 432: 7 [eval # #]
In ice-9/boot-9.scm:
2412: 6 [save-module-excursion #<procedure 8e67c0 at
ice-9/boot-9.scm:4084:3 ()>]
4089: 5 [#<procedure 8e67c0 at ice-9/boot-9.scm:4084:3 ()>]
1734: 4 [%start-stack load-stack #<procedure 8f69c0 at
ice-9/boot-9.scm:4080:10 ()>]
1739: 3 [#<procedure 8f86c0 ()>]
In unknown file:
   ?: 2 [primitive-load
"/gnu/store/rdpki7xkanivgb7jdczvk27kma47rj54-qemu-image-builder"]
In ./gnu/build/vm.scm:
 126: 1 [load-in-linux-vm
"/gnu/store/6mcs53r3ggy3csq7z4hwhx2iccfds3yn-linux-vm-loader" ...]
In unknown file:
   ?: 0 [scm-error misc-error #f "~A ~S" ("qemu failed"
"qemu-system-x86_64") #f]

ERROR: In procedure scm-error:
ERROR: qemu failed "qemu-system-x86_64"
environment variable `PATH' set to
`/gnu/store/rh3953267ifpb5bpl3l0f9vcmkx6zgl5-qemu-minimal-2.9.0/bin:/gnu/store/6908gy3pws0ccys49ni98idwnicchlr2-coreutils-8.26/bin'
builder for `/gnu/store/g2zyq34flqswxaikr0m774aizwbh0xdm-qemu-image.drv'
failed with exit code 1
cannot build derivation
`/gnu/store/qh5rvmv7rss59w4prb4bwq0r1m0jqwql-run-vm.sh.drv': 1
dependencies couldn't be built
guix system: error: build failed: build of
`/gnu/store/qh5rvmv7rss59w4prb4bwq0r1m0jqwql-run-vm.sh.drv' failed

Looks like kvm is there though, in my qemu guixsd VM:

vince@guixsd ~$ l /dev/*kvm*
crw-rw---- 1 root kvm 10, 232 May 14 10:36 /dev/kvm

Maybe use of qemu without hw assisted kvm would work when already in a
virtualized environment...

> ‘GUIX_PACKAGE_PATH’ is documented at
> <https://www.gnu.org/software/guix/manual/html_node/Package-Modules.html#index-GUIX_005fPACKAGE_005fPATH>.

Yes, that's where I finally found it again, with google's help, I
first searched there:

> <https://www.gnu.org/software/guix/manual/html_node/Defining-Packages.html>,
> <https://www.gnu.org/software/guix/manual/html_node/Submitting-Patches.html>.

So I think adding something to these pages, maybe only linking to where it is
described would have been sufficient... WDYT ?

> There’s probably room for improvement though.  What changes/additions
> would you suggest?

I would suggest having a paragraph or 2 about how to setup a dev environment:
- using GUIX_PACKAGE_PATH
- setting up a link (where ?) to a local guix checkout

I read "8.1 Building from Git" and was frustrated by its avoidance to explain
how to do it. This is the logical (at least for me) place where this should be
explained.

I can try to add something about the env var, but cannot do the link thing, I
think this is what Catonano is speaking about :

> George suggested me the trick to link a checked out master branch to
> .local/guix/profile (or maybe it's the other way around: it's linking
> .local/guix/profile to a checked out master branch)

WDYT ?

>> guix edit is throwing me :
>> E166: Can't open linked file for writing
>
> This error does not come from ‘guix edit’, but maybe from your editor.
> As for why the file is read-only, see
> <https://www.gnu.org/software/guix/manual/html_node/Invoking-guix-edit.html>.

And here is the other place where that variable is talked about, I
really fumbled
my research... So if something more substantial is put in 8.1, maybe we can just
link to it from there too...

Another idea, would be to enhance guix edit, like that:
if there's a user writable place for package definitions (either
GUIX_PACKAGE_PATH or a link to a local git checkout, or...), then guix edit
make a temp copy of the store file, if it is not modified, the copy is
thrown away
at guix edit exit and if it is modified, kept there...

WDYT ?

-- 
Vincent Legoll

  parent reply	other threads:[~2017-05-14  8:44 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-05-13 10:06 how to create and test a new service definition Vincent Legoll
2017-05-13 14:40 ` Ludovic Courtès
2017-05-13 15:24   ` Vincent Legoll
2017-05-13 20:06     ` Ludovic Courtès
2017-05-14  7:56       ` Catonano
2017-05-14  9:04         ` ng0
2017-05-14 11:48           ` ng0
2017-05-14  8:44       ` Vincent Legoll [this message]
2017-05-14  9:53         ` Catonano
2017-05-15 13:26         ` Ludovic Courtès

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAEwRq=pr3LbVBe30uFcm4mxkgDsBtz71wbavTZkCtn9A6_hVfA@mail.gmail.com' \
    --to=vincent.legoll@gmail.com \
    --cc=guix-devel@gnu.org \
    --cc=ludo@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.