unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Efraim Flashner <efraim@flashner.co.il>
To: Chris Marusich <cmmarusich@gmail.com>
Cc: Guix Devel <guix-devel@gnu.org>
Subject: Re: Release on April 18th?
Date: Fri, 12 Mar 2021 15:43:26 +0200	[thread overview]
Message-ID: <YEtv/nvPVOII+pQB@3900XT> (raw)
In-Reply-To: <87h7lgzs8h.fsf@gmail.com>

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

On Fri, Mar 12, 2021 at 12:33:18AM -0800, Chris Marusich wrote:
> Hi Efraim and Ludo,
> 
> Efraim Flashner <efraim@flashner.co.il> writes:
> 
> > My plan was absolutely to merge master into core-updates after and then
> > integrate all the changes into their affected packages. I'd also make
> > sure to bump gcc to 8 (assuming we don't go straight to 9).
> 
> Sounds good.  If we can get powerpc64le-linux working on master, I'd be
> very happy.  We can simultaneously try that while still working on
> wip-ppc64le (based on core-updates).
> 
> I tried out the wip-ppc64le-for-master branch.  I can build it manually
> on my Debian ppc64le system, but "make check" fails.  There are two test
> failures.
> 
> The first test failure is tests/syscalls.scm.  It seems that Ludo's
> recently added mount procedure (7e9d9f2 syscalls: Add 'mounts' and the
> <mount> record type.) does not work on my system.  In fact, it does not
> work on my Debian ppc64le system, nor does it work on my x86_64 Fedora
> system.  In both cases, the code makes the incorrect assumption that the
> type and source are located in columns 8 and 9, like so:
> 
> --8<---------------cut here---------------start------------->8---
> (define (mounts)
>   "Return the list of mounts (<mount> records) visible in the namespace of the
> current process."
>   (define (string->device-number str)
>     (match (string-split str #\:)
>       (((= string->number major) (= string->number minor))
>        (+ (* major 256) minor))))
> 
>   (call-with-input-file "/proc/self/mountinfo"
>     (lambda (port)
>       (let loop ((result '()))
>         (let ((line (read-line port)))
>           (if (eof-object? line)
>               (reverse result)
>               (match (string-tokenize line)
>                 ((id parent-id major:minor root mount-point
>                      options _ _ type source _ ...)
>                  (let ((devno (string->device-number major:minor)))
>                    (loop (cons (%mount (octal-decode source)
>                                        (octal-decode mount-point)
>                                        devno type options)
>                                result)))))))))))
> --8<---------------cut here---------------end--------------->8---
> 
> However, on my systems, the correct columns are 9 and 10.  Here's the
> first few lines of output from Fedora:
> 
> --8<---------------cut here---------------start------------->8---
> $ cat /proc/self/mountinfo 
> 22 97 0:21 / /sys rw,nosuid,nodev,noexec,relatime shared:2 - sysfs sysfs rw
> 23 97 0:5 / /proc rw,nosuid,nodev,noexec,relatime shared:24 - proc proc rw
> 24 97 0:6 / /dev rw,nosuid shared:20 - devtmpfs devtmpfs rw,size=3923828k,nr_inodes=980957,mode=755
> ...
> --8<---------------cut here---------------end--------------->8---
> 
> And here it is from Debian:
> 
> --8<---------------cut here---------------start------------->8---
> 22 28 0:20 / /sys rw,nosuid,nodev,noexec,relatime shared:7 - sysfs sysfs rw
> 23 28 0:21 / /proc rw,nosuid,nodev,noexec,relatime shared:11 - proc proc rw
> 24 28 0:5 / /dev rw,nosuid,noexec,relatime shared:2 - devtmpfs udev rw,size=15625664k,nr_inodes=244151,mode=755
> ...
> --8<---------------cut here---------------end--------------->8---
> 
> On these systems, the 7th column is an optional field, like "shared:7".
> The proc man page has this to say about column 7:
> 
>   (7) optional fields: zero or more fields of the form "tag[:value]"
> 
> So presumably there can be even more than just one optional field.  In
> any case, Leo Le Bouter kindly checked his own x86_64 system, where he
> observed different output:
> 
> --8<---------------cut here---------------start------------->8---
> $ cat /proc/self/mountinfo 
> 23 27 0:21 / /proc rw,relatime - proc none rw
> 24 27 0:5 / /dev rw,relatime - devtmpfs none rw,size=7972408k,nr_inodes=1993102,mode=755
> 25 27 0:22 / /sys rw,relatime - sysfs none rw
> --8<---------------cut here---------------end--------------->8---
> 
> As you can see, in this case there is no optional column, so the mount
> procedure works fine on Leo's system.  But it fails on mine.
> 
> Ludo, do you have an opinion on how to fix this?  It seems like we can't
> assume the number of columns will always be the same, so I guess we'll
> have to somehow ignore the optional columns more intelligently, if we
> want to keep using string-tokenize to do this.
> 
> The second test failure is tests/pack.scm.  There are two contributing
> factors to this test failure.
> 
> The first contributing factor was commit 8f52ea2 on
> wip-ppc64le-for-master.  It fixes an issue that is not present on
> master, and for that reason it actually causes a problem if it's
> included.  I have removed it from the branch in Savannah; please update
> your local copy.

Ooops, I guess it was like the findutils-boot0 patch, necessary for
core-updates but not needed for master.

> The second contributing factor is this bug:
> 
> https://issues.guix.gnu.org/47018
> 
> However, we can work around it by simply not running guix-daemon when
> running the test.  When guix builds guix, it'll be done in the build
> environment, so these problematic tests will probably be skipped.
> 
> Finally, I tried running make guix-binary.powerpc64le-linux.tar.xz just
> to see how far it would get, anyway.  I was quickly greeted with this
> failure when building glibc-intermediate:
> 
> --8<---------------cut here---------------start------------->8---
> glibc-2.31/wctype/wctrans_l.c
> glibc-2.31/wctype/wctype.c
> glibc-2.31/wctype/wctype.h
> glibc-2.31/wctype/wctype_l.c
> phase `unpack' succeeded after 2.4 seconds
> starting phase `apply-patch'
> Backtrace:
> In ice-9/boot-9.scm:
>  160: 14 [catch #t #<catch-closure 7ffff0382200> ...]
> In unknown file:
>    ?: 13 [apply-smob/1 #<catch-closure 7ffff0382200>]
> In ice-9/boot-9.scm:
>   66: 12 [call-with-prompt prompt0 ...]
> In ice-9/eval.scm:
>  432: 11 [eval # #]
> In ice-9/boot-9.scm:
> 2412: 10 [save-module-excursion #<procedure 7ffff03a4800 at ice-9/boot-9.scm:4084:3 ()>]
> 4089: 9 [#<procedure 7ffff03a4800 at ice-9/boot-9.scm:4084:3 ()>]
> 1734: 8 [%start-stack load-stack ...]
> 1739: 7 [#<procedure 7ffff03ba930 ()>]
> In unknown file:
>    ?: 6 [primitive-load "/gnu/store/kvwc9b9ga1sl4l6fyi3z182570rbsk2i-glibc-intermediate-2.31-guile-builder"]
> In ice-9/eval.scm:
>  387: 5 [eval # ()]
> In ice-9/boot-9.scm:
>  160: 4 [catch srfi-34 ...]
> In srfi/srfi-1.scm:
>  827: 3 [every1 #<procedure 7fffef522f20 at guix/build/gnu-build-system.scm:843:11 (expr)> ...]
> In guix/build/gnu-build-system.scm:
>  847: 2 [#<procedure 7fffef522f20 at guix/build/gnu-build-system.scm:843:11 (expr)> #]
> In guix/build/utils.scm:
>  652: 1 [invoke "patch" "--force" "-p1" "-i" #f]
> In unknown file:
>    ?: 0 [system* "patch" "--force" "-p1" "-i" #f]
> 
> ERROR: In procedure system*:
> ERROR: Wrong type (expecting string): #f
> --8<---------------cut here---------------end--------------->8---
> 
> Something about the way in which we are searching for the patch is off,
> but I don't have time just now to investigate.  Efraim, if you can
> figure it out, that'd be nice, but I'll look into it more tomorrow.
> It's probably something simple and related to commit 2712703.
> 

Leo told me about it yesterday and I pushed a second commit that fixed
it. We needed to make sure the patch file was included as an input,
that's why it got #f instead of a string. In any case, commit
710cfc330a7ed06934a193583b159fbdf07bf2fe takes care of it; it's the
combination of 2712703 and the squash commit.

I'm now running make guix-binary.powerpc64le-linux.tar.xz and so far
it's made it past the initial building stages, we're on to building the
grafts now.


-- 
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 --]

  parent reply	other threads:[~2021-03-12 13:45 UTC|newest]

Thread overview: 64+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-03-02 14:51 Release on April 18th? zimoun
2021-03-02 16:00 ` Julien Lepiller
2021-03-02 20:03 ` Leo Famulari
2021-03-05 14:31   ` Andreas Enge
2021-03-05 19:27     ` Leo Famulari
2021-03-05 20:20       ` zimoun
2021-03-05 20:58         ` Leo Famulari
2021-03-05 23:57           ` zimoun
2021-03-06 20:14           ` Tobias Geerinckx-Rice
2021-03-03 14:16 ` Ludovic Courtès
2021-03-03 18:51   ` Leo Famulari
2021-03-04  9:41     ` zimoun
2021-03-04 19:07       ` Leo Famulari
2021-03-04 22:18         ` zimoun
2021-03-04 22:43           ` Leo Famulari
2021-03-05 20:19     ` Leo Famulari
2021-03-05 23:58       ` zimoun
2021-03-06 18:56         ` Leo Famulari
2021-03-06 19:06     ` Leo Famulari
2021-03-06 23:22       ` Leo Famulari
2021-03-07  3:51         ` Raghav Gururajan
2021-03-07  5:39           ` Raghav Gururajan
2021-03-07 20:44             ` Leo Famulari
2021-03-07 20:56               ` Raghav Gururajan
2021-03-07 20:50             ` Leo Famulari
2021-03-08  9:38       ` zimoun
2021-03-05 20:21   ` Leo Famulari
2021-03-09 18:17 ` Chris Marusich
2021-03-09 21:32   ` Vincent Legoll
2021-03-10  8:30     ` Release on April 18th? (ppc64le support specifically) Efraim Flashner
2021-03-11  9:10     ` Release on April 18th? Chris Marusich
2021-03-12  8:02       ` Vincent Legoll
2021-03-12 18:42         ` Chris Marusich
2021-03-12 18:52           ` Chris Marusich
2021-03-14 12:31           ` Vincent Legoll
2021-03-15 16:36           ` Ludovic Courtès
2021-03-16  4:03           ` Let's include powerpc64le-linux in the next release (was: Re: Release on April 18th?) Chris Marusich
2021-03-16  7:08             ` Efraim Flashner
2021-03-16  8:10               ` Léo Le Bouter
2021-03-23 13:42             ` Let's include powerpc64le-linux in the next release Ludovic Courtès
2021-03-23 13:47               ` Léo Le Bouter
2021-03-23 14:01               ` Tobias Geerinckx-Rice
2021-03-30  8:23                 ` Ludovic Courtès
2021-03-30 22:20                   ` Vincent Legoll
2021-03-23 17:09               ` Let's include powerpc64le-linux in the next release, " Chris Marusich
2021-03-10 13:27   ` Release on April 18th? zimoun
2021-03-10 15:30     ` Efraim Flashner
2021-03-10 15:59       ` zimoun
2021-03-10 18:33         ` Efraim Flashner
2021-03-11  8:58       ` Chris Marusich
2021-03-11 13:30         ` Efraim Flashner
2021-03-12  8:33           ` Chris Marusich
2021-03-12 10:11             ` Andreas Enge
2021-03-12 13:43             ` Efraim Flashner [this message]
  -- strict thread matches above, loose matches on Subject: below --
2021-02-28  6:53 I've rebased wip-ppc64le onto core-updates Chris Marusich
2021-02-28 20:42 ` Léo Le Bouter
2021-03-01 19:14   ` Tobias Platen
2021-03-01 21:36   ` jbranso
2021-03-10 10:17 ` Ludovic Courtès
2021-03-10 10:37   ` Efraim Flashner
2021-03-11  8:24   ` Chris Marusich
2021-03-11  8:37     ` Léo Le Bouter
2021-03-15 16:25     ` Ludovic Courtès
2021-03-16  4:26       ` I've rebased wip-ppc64le onto core-updates, Re: Release on April 18th? Chris Marusich

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

  List information: https://guix.gnu.org/

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

  git send-email \
    --in-reply-to=YEtv/nvPVOII+pQB@3900XT \
    --to=efraim@flashner.co.il \
    --cc=cmmarusich@gmail.com \
    --cc=guix-devel@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 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).