From debbugs-submit-bounces@debbugs.gnu.org Mon Nov 30 07:51:28 2015 Received: (at 22053) by debbugs.gnu.org; 30 Nov 2015 12:51:28 +0000 Received: from localhost ([127.0.0.1]:60194 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1a3NvU-00069D-3x for submit@debbugs.gnu.org; Mon, 30 Nov 2015 07:51:28 -0500 Received: from eggs.gnu.org ([208.118.235.92]:60158) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1a3NvR-00068r-GG for 22053@debbugs.gnu.org; Mon, 30 Nov 2015 07:51:25 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1a3NvL-0004mx-6U for 22053@debbugs.gnu.org; Mon, 30 Nov 2015 07:51:20 -0500 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-0.5 required=5.0 tests=BAYES_05,T_RP_MATCHES_RCVD autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:45785) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1a3NvH-0004mN-UK; Mon, 30 Nov 2015 07:51:15 -0500 Received: from [85.119.43.28] (port=41950 helo=pluto) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_128_CBC_SHA1:128) (Exim 4.82) (envelope-from ) id 1a3NvH-0002is-Cr; Mon, 30 Nov 2015 07:51:15 -0500 From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) To: Efraim Flashner Subject: Re: bug#22053: silent failure on guix environment foo --container References: <20151129202959.6a2f6053@debian-netbook> <87k2p0fqou.fsf@gnu.org> <20151130085032.4b9c127e@debian-netbook> <8737vnekxh.fsf@gnu.org> <20151130144413.73383d40@debian-netbook> Date: Mon, 30 Nov 2015 13:51:12 +0100 In-Reply-To: <20151130144413.73383d40@debian-netbook> (Efraim Flashner's message of "Mon, 30 Nov 2015 14:44:13 +0200") Message-ID: <87lh9fbqgv.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.5 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2001:4830:134:3::e X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: 22053 Cc: David Thompson , 22053@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.0 (-----) Efraim Flashner skribis: > On Mon, 30 Nov 2015 13:22:34 +0100 > ludo@gnu.org (Ludovic Court=C3=A8s) wrote: > >> Efraim Flashner skribis: >>=20 >> > On Sun, 29 Nov 2015 22:20:33 +0100 >> > ludo@gnu.org (Ludovic Court=C3=A8s) wrote: >> >=20=20 >> >> Efraim Flashner skribis: >> >>=20 >> >> [...]=20=20 >> >>=20 >> >> The failure is: >> >>=20 >> >> --8<---------------cut here---------------start------------->8--- >> >> 21228 mount("none", "/tmp/guix-directory.5sVcGc//dev/pts", "devpts", = MS_NOSUID|MS_NOEXEC, "newinstance,ptmxmode=3D0666,mode=3D6"...) =3D -1 EPER= M (Operation not permitted) >> >> 21228 exit_group(1) =3D ? >> >> --8<---------------cut here---------------end--------------->8--- >> >>=20 >> >> The problem may be that the kernel does not support >> >> CONFIG_DEVPTS_MULTIPLE_INSTANCES. Could you check that in >> >> /proc/config.gz or similar?=20=20 >> > >> > # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set=20=20 >>=20 >> QED. :-) However, the daemon needs it too. Don=E2=80=99t you have pro= blems >> with guix-daemon as well, when building things locally on that machine? >>=20 >> Ludo=E2=80=99. > > Not at all, I've been building things all day. I=E2=80=99ve realized that the daemon has a fallback case for this situatio= n, in libstore/build.cc: --8<---------------cut here---------------start------------->8--- /* Mount a new devpts on /dev/pts. Note that this requires the kernel to be compiled with CONFIG_DEVPTS_MULTIPLE_INSTANCES=3Dy (which is the case if /dev/ptx/ptmx exists). */ if (pathExists("/dev/pts/ptmx") && !pathExists(chrootRootDir + "/dev/ptmx") && dirsInChroot.find("/dev/pts") =3D=3D dirsInChroot.end()) { if (mount("none", (chrootRootDir + "/dev/pts").c_str(), "devpts", 0, = "newinstance,mode=3D0620") =3D=3D -1) throw SysError("mounting /dev/pts"); createSymlink("/dev/pts/ptmx", chrootRootDir + "/dev/ptmx"); /* Make sure /dev/pts/ptmx is world-writable. With some Linux versions, it is created with permissions 0. */ chmod_(chrootRootDir + "/dev/pts/ptmx", 0666); } --8<---------------cut here---------------end--------------->8--- David, should we do something similar? Thanks, Ludo=E2=80=99.