bug#31023: --verbosity=4 breaks build?

2018-04-06 Thread Martin Castillo
Hi,

On 02.04.2018 23:48, Ludovic Courtès wrote:
> Hello Martin,
> 
> As a foreword, note that ‘--verbosity’ is almost useless, even to Guix
> developers.  I think we should hide it under a weird name, maybe
> ‘--daemon-debug’?

Ok.

> 
> Your Raspberry will handle the build if and only if you’re requesting an
> armhf-linux build. 

I'd like to be able to offload any build to other machines/the pi. What
is the reason for only offloading builds that will be native builds on
the offloading machine?

Martin

--
GPG: 7FDE 7190 2F73 2C50 236E  403D CC13 48F1 E644 08EC





bug#31023: --verbosity=4 breaks build?

2018-04-06 Thread Ludovic Courtès
Hello,

Martin Castillo  skribis:

> guix build grep --no-substitutes -M 1 --verbosity=4 2>builderr
> # I aborted the first after a few seconds

You’re right about --verbosity=4 interrupting builds, I get:

--8<---cut here---start->8---
$ guix build --verbosity=4 vim --no-substitutes
[…]
|   |   building path(s) 
`/gnu/store/i9smsibsawg6y7bby25iha3q1dkaq7w7-vim-8.0.1428'
|   |   |   found build user `guixbuilder01'
|   |   |   found build user `guixbuilder02'
|   |   |   found build user `guixbuilder03'
|   |   |   found build user `guixbuilder04'
|   |   |   found build user `guixbuilder05'
|   |   |   found build user `guixbuilder06'
|   |   |   found build user `guixbuilder07'
|   |   |   found build user `guixbuilder08'
|   |   |   found build user `guixbuilder09'
|   |   |   found build user `guixbuilder10'
|   |   |   trying user `guixbuilder01'
|   |   |   killing all processes running under uid `30001'
|   |   |   setting up chroot environment in 
`/gnu/store/ld1kzfb1jyh0jw6yxhprcd3zvj57c986-vim-8.0.1428.drv.chroot'
|   |   |   executing builder 
`/gnu/store/z2i9srf64afxina1g2bd7k7y8cjqsxrr-guile-2.2.3/bin/guile'
|   killing all processes running under uid `30001'
|   recursively deleting path `/tmp/guix-build-vim-8.0.1428.drv-0'
|   recursively deleting path 
`/gnu/store/ld1kzfb1jyh0jw6yxhprcd3zvj57c986-vim-8.0.1428.drv.chroot'
|   lock released on 
`/gnu/store/i9smsibsawg6y7bby25iha3q1dkaq7w7-vim-8.0.1428.lock'
|   building of `/gnu/store/ld1kzfb1jyh0jw6yxhprcd3zvj57c986-vim-8.0.1428.drv': 
goal destroyed
guix build: error: build failed: |   |   |   bind mounting `/dev/full' to 
`/gnu/store/ld1kzfb1jyh0jw6yxhprcd3zvj57c986-vim-8.0.1428.drv.chroot/dev/full'
--8<---cut here---end--->8---

IOW, the debugging message is interpreted as an error message.

Indeed, if we strace it, we see:

--8<---cut here---start->8---
read(13, "gmlo\0\0\0\0", 8) = 8
read(13, "_\0\0\0\0\0\0\0", 8)  = 8
read(13, "|   building of 
`/gnu/store/ld1kzfb1jyh0jw6yxhprcd3zvj57c986-vim-8.0.1428.drv': goal 
destroyed\n", 95) = 95
read(13, "\0", 1)   = 1
write(2, "|   building of 
`/gnu/store/ld1kzfb1jyh0jw6yxhprcd3zvj57c986-vim-8.0.1428.drv': goal 
destroyed\n", 95) = 95
read(13, "ptxc\0\0\0\0", 8) = 8
read(13, "w\0\0\0\0\0\0\0", 8)  = 8
read(13, "|   |   |   bind mounting `/dev/full' to 
`/gnu/store/ld1kzfb1jyh0jw6yxhprcd3zvj57c986-vim-8.0.1428.drv.chr--8<---cut
 here---end--->8---

Normal messages arrive with the “gmlo” prefix, but the “bind mounting”
message arrives with the “ptxc” prefix, which (guix store) interprets as
‘%stderr-error’ and raises an exception right away.

Not sure why we get that “ptxc” prefix.

Ludo’.





bug#31023: --verbosity=4 breaks build?

2018-04-02 Thread Ludovic Courtès
Hello Martin,

As a foreword, note that ‘--verbosity’ is almost useless, even to Guix
developers.  I think we should hide it under a weird name, maybe
‘--daemon-debug’?

Martin Castillo  skribis:

> I found this while trying to test offloading.
> The both attached logs are the results of
>
> guix build grep --no-substitutes -M 1 --verbosity=3 2>buildsuc
> guix build grep --no-substitutes -M 1 --verbosity=4 2>builderr
> # I aborted the first after a few seconds

I don’t see anything fishy in ‘builderr’.  What makes you think it
failed?

> The command was executed on guixsd with guix 0.14.0.3450-be5ed.
> Using -M 0 it tells me to increase -M or enabled distributed builds,
> even though guix offload test succeds. The offload machine is a
> raspberry pi. Is guix able to crosscompile when offloading on other
> architectures?

Your Raspberry will handle the build if and only if you’re requesting an
armhf-linux build.  That is, if your machine is an x86_64 box, you’ll
want to type:

  guix build grep -s armhf-linux

in which case the build will go to the Raspberry.

Note that this is *not* cross-compilation.  It’s simply native
compilation offloaded to a separate machine.

For cross-compilation, see ‘--target’:

  
https://www.gnu.org/software/guix/manual/html_node/Additional-Build-Options.html

HTH,
Ludo’.