From mboxrd@z Thu Jan 1 00:00:00 1970 From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) Subject: Building Docker images of GuixSD Date: Sat, 28 Oct 2017 22:27:20 +0200 Message-ID: <87inez3tnb.fsf_-_@gnu.org> References: <87bmldavre.fsf@gmail.com> <87efq8pwrf.fsf@gnu.org> <87mv4viknx.fsf@gmail.com> <87she5kz6i.fsf@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:42942) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1e8XhW-0006aB-13 for guix-devel@gnu.org; Sat, 28 Oct 2017 16:27:26 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1e8XhV-0007dJ-2C for guix-devel@gnu.org; Sat, 28 Oct 2017 16:27:26 -0400 Received: from hera.aquilenet.fr ([2a01:474::1]:45146) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1e8XhU-0007cC-S0 for guix-devel@gnu.org; Sat, 28 Oct 2017 16:27:25 -0400 In-Reply-To: <87she5kz6i.fsf@gmail.com> (Chris Marusich's message of "Thu, 26 Oct 2017 21:11:17 -0700") List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: "Guix-devel" To: Chris Marusich Cc: guix-devel@gnu.org Hi Chris, Nice work on building Docker images of GuixSD! Chris Marusich skribis: > [ 1.345843] FS-Cache: Loaded > [ 1.362140] 9pnet: Installing 9P2000 support > [ 1.366118] 9p: Installing v9fs 9p2000 file system support > [ 1.368730] FS-Cache: Netfs '9p' registered for caching > configuring QEMU networking... > loading '/gnu/store/jy509dgcsz82y13fmizv2sqaj90s1vfg-linux-vm-loader'... > ERROR: In procedure dynamic-link: > ERROR: In procedure dynamic-link: file: "/gnu/store/hwygv5jwd47amhp1m67iy= 3bkvxqjlbhm-libgcrypt-1.8.1/lib/libgcrypt", message: "file not found" The code above is running in the initrd, which means that it=E2=80=99s exec= uted by =E2=80=98guile-static-stripped=E2=80=99, which does not support dlopenin= g: --8<---------------cut here---------------start------------->8--- $ guix environment -C --ad-hoc guile-static-stripped libgcrypt -- guile [...] GNU Guile 2.2.2 Copyright (C) 1995-2017 Free Software Foundation, Inc. Guile comes with ABSOLUTELY NO WARRANTY; for details type `,show w'. This program is free software, and you are welcome to redistribute it under certain conditions; type `,show c' for details. Enter `,help' for help. scheme@(guile-user)> (file-exists? (string-append (getenv "GUIX_ENVIRONMENT= ") "/lib/libgcrypt.so")) $1 =3D #t scheme@(guile-user)> (dynamic-link (string-append (getenv "GUIX_ENVIRONMENT= ") "/lib/libgcrypt")) ERROR: In procedure dynamic-link: ERROR: In procedure dynamic-link: file: "/gnu/store/wplxvw0mxxy35j7019j6mkj= vpgl0hs1g-profile/lib/libgcrypt", message: "file not found" Entering a new prompt. Type `,bt' for a backtrace or `,q' to continue. scheme@(guile-user) [1]> --8<---------------cut here---------------end--------------->8--- (The =E2=80=9Cfile not found=E2=80=9D message is misleading.) So we should either make a big initrd with the dynamically-linked Guile, but then we may need to pass =E2=80=9C-m 512=E2=80=9D or similar to qemu=E2= =80=A6 Or we mount the host store over 9p and exec a dynamically-linked Guile from there. I realize it=E2=80=99s a bit sketchy, but I hope it makes sense. Thanks, Ludo=E2=80=99.