GNU bug report logs - #35662
Really relocatable binaries crash with Permission denied

Previous Next

Package: guix;

Reported by: "pelzflorian (Florian Pelz)" <pelzflorian <at> pelzflorian.de>

Date: Thu, 9 May 2019 22:03:02 UTC

Severity: normal

Tags: wontfix

Done: Ludovic Courtès <ludo <at> gnu.org>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: "pelzflorian (Florian Pelz)" <pelzflorian <at> pelzflorian.de>
To: Ludovic Courtès <ludo <at> gnu.org>
Cc: 35662 <at> debbugs.gnu.org
Subject: bug#35662: Really relocatable binaries crash with Permission denied
Date: Mon, 13 May 2019 17:17:36 +0200
On Mon, May 13, 2019 at 03:54:11PM +0200, Ludovic Courtès wrote:
> Can you show the mount options of you root file system?
> 
>   mount | grep 'on / '
> 

[f_pelz12 <at> tux6 ~]$ mount | grep 'on / '
rpool/data/subvol-161199-disk-0 on / type zfs (rw,noatime,xattr,posixacl)


> What’s the exit code of this command:
> 
>   guile -c '((@@ (guix scripts environment) assert-container-features))'
> 
> ?
>

Guix is not installed.  Using a Guix git repository in ~/guix:

[f_pelz12 <at> tux6 guix]$ guile -c '((@@ (guix scripts environment) assert-container-features))'
[…]
;;; In procedure scm_lreadr: guix/packages.scm:534:11: Unknown # object: #\~
ERROR: In procedure primitive-load-path:
In procedure scm_lreadr: guix/packages.scm:534:11: Unknown # object: #\~


The line in question is:

        #~(begin
            (use-modules (ice-9 ftw)

I do not see how to make it recognize gexps.

If I wanted to compile Guix myself, the configure script reports
various missing dependencies (guile-gnutls is among them).  I could
ask the admin tomorrow if they could set up guix on a test “virtual
machine”/container.

I will instead now try this from gnu/build/linux-container.scm:

scheme@(guile-user)> (define (user-namespace-supported?)
  "Return #t if user namespaces are supported on this system."
  (file-exists? "/proc/self/ns/user"))

(define (unprivileged-user-namespace-supported?)
  "Return #t if user namespaces can be created by unprivileged users."
  (let ((userns-file "/proc/sys/kernel/unprivileged_userns_clone"))
    (if (file-exists? userns-file)
        (eqv? #\1 (call-with-input-file userns-file read-char))
        #t)))

(define (setgroups-supported?)
  "Return #t if the setgroups proc file, introduced in Linux-libre 3.19,
exists."
  (file-exists? "/proc/self/setgroups"))

scheme@(guile-user)> (user-namespace-supported?)
$1 = #t
scheme@(guile-user)> (unprivileged-user-namespace-supported?)
$2 = #t
scheme@(guile-user)> (setgroups-supported?)
$3 = #t

Regards,
Florian




This bug report was last modified 6 years and 68 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.