From debbugs-submit-bounces@debbugs.gnu.org Tue May 15 05:21:10 2018 Received: (at 30879) by debbugs.gnu.org; 15 May 2018 09:21:10 +0000 Received: from localhost ([127.0.0.1]:34986 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fIW8s-0000Kf-I1 for submit@debbugs.gnu.org; Tue, 15 May 2018 05:21:10 -0400 Received: from eggs.gnu.org ([208.118.235.92]:58320) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fIW8q-0000KT-VV for 30879@debbugs.gnu.org; Tue, 15 May 2018 05:21:09 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fIW8h-0002hY-MT for 30879@debbugs.gnu.org; Tue, 15 May 2018 05:21:03 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:58349) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fIW8h-0002h9-JN; Tue, 15 May 2018 05:20:59 -0400 Received: from [193.50.110.240] (port=60362 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1fIW8g-0000cz-SV; Tue, 15 May 2018 05:20:59 -0400 From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) To: Eric Bavier Subject: Re: bug#30879: Commit bc499b113 broke guix on guile@2.0.14, improper field initialization References: <20180320154302.GL105827@pe06.us.cray.com> <877eq6ibp9.fsf@gnu.org> <20180321151642.GN105827@pe06.us.cray.com> <87y3ildttr.fsf@gnu.org> <20180321211403.GO105827@pe06.us.cray.com> <87r2oddo9l.fsf@gnu.org> <20180322144538.GP105827@pe06.us.cray.com> Date: Tue, 15 May 2018 11:20:56 +0200 In-Reply-To: <20180322144538.GP105827@pe06.us.cray.com> (Eric Bavier's message of "Thu, 22 Mar 2018 09:45:38 -0500") Message-ID: <87wow5i8av.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.3 (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: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: 30879 Cc: 30879@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 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: -6.0 (------) Hello Eric, Sorry for the late reply. Eric Bavier skribis: > On Thu, Mar 22, 2018 at 12:04:06AM +0100, Ludovic Court=C3=A8s wrote: >> Eric Bavier skribis: >>=20 >> [...] >>=20 >> > In gnu/system.scm: >> > 501: 3 [operating-system-services # # #f] >> > 476: 2 [essential-services # # #f] >> > 576: 1 [operating-system-etc-service #] >> > In gnu/system/nss.scm: >> > 217: 0 [name-service-switch->string (# # # # ...)] >> > >> > gnu/system/nss.scm:217:19: In procedure name-service-switch->string: >> > gnu/system/nss.scm:217:19: In procedure struct_vtable: Wrong type argu= ment in position 1 (expecting struct): (#< type: # Oh, so it loks like .go files from the system-installed guix are being > picked up: > > 53692 openat(AT_FDCWD, "/usr/local/lib/guile/2.0/site-ccache/gnu/system.g= o", O_RDONLY|O_CLOEXEC) =3D 10 > > I hadn't expected that, but I suppose it makes sense. Running make > under ./pre-inst-env does not help. > > We should probably find a way to prevent this in general, right? It seems that the problem here is that both Guile and Guix were installed with --prefix=3D/usr/local. Guile contains by default $prefix/lib/guile/2.0/site-ccache in its %load-compiled-path. Thus, it will always find the .go files of that Guix that=E2=80=99s installed in the same prefix. > We shouldn't be loading guix modules from outside the source tree > during build. In general we can (and do: see the =E2=80=98make-go=E2=80=99 target and see =E2=80=98pre-inst-env=E2=80=99), but in this case we can=E2=80=99t really p= revent it because $prefix/lib/=E2=80=A6 is in the default search path of Guile, which is admittedly problematic. Maybe we should just forbid install Guix in the same prefix as Guile, and detect that at configure time. WDYT? Ludo=E2=80=99.