From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andy Patterson Subject: Re: ASDF 2 and 3 Date: Tue, 7 Mar 2017 00:01:40 -0500 Message-ID: <20170307000140.351dc298@uwaterloo.ca> References: <87a88yvfq1.fsf@gnu.org> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="MP_/5gYdVlFxHDd6tFyKqDjozdd" Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:59457) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cl8Cm-0008OA-Oz for help-guix@gnu.org; Tue, 07 Mar 2017 01:02:42 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1cl8Cj-0005VL-Mg for help-guix@gnu.org; Tue, 07 Mar 2017 01:02:40 -0500 In-Reply-To: <87a88yvfq1.fsf@gnu.org> List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-guix-bounces+gcggh-help-guix=m.gmane.org@gnu.org Sender: "Help-Guix" To: Ludovic =?UTF-8?B?Q291cnTDqHM=?= Cc: "help-guix@gnu.org" , Jack Lucas --MP_/5gYdVlFxHDd6tFyKqDjozdd Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Content-Disposition: inline Hi Jack, Ludo', On Mon, 06 Mar 2017 11:53:26 +0100 ludo@gnu.org (Ludovic Court=C3=A8s) wrote: > Hello, >=20 > Jack Lucas skribis: >=20 > > I really don't know how to describe this issue. I can't actually > > pinpoint where the problem is even though I've spent almost all day > > pulling my hair out over it. > > > > When installing CCL guix will pull version 1.11 from the server to > > install. Version 1.11 is built with ASDF3.1.5 but after installing > > and loading it up using (require "asdf"), (in-package :asdf) and > > finally *asdf-version* it says it has ASDF 2.26. Huh. Way back when I started working on CL in guix, I wondered why the ccl package didn't include asdf. Now I have a reason to investigate it. > > > > So I guess what I am asking for help with is I have poured over the > > CCL definition in guix, and every single asdf related file in the > > guix tree. I see absolutely no reasoning for this would change from > > 3.1.5 -> 2.26.=20 > > > > I've tried grepping for any other LISP directories or asfd.lisp's. > > And nothing exists. > > > > I'm fine with trying to work around it I just want to make sure > > guix isn't doing some backround magic to force ASDF 2.26 on > > everything. =20 Guix isn't doing anything special. After having investigated, my guess is that CCL_DEFAULT_DIRECTORY is set in your environment. This variable determines how ccl looks up pathnames with the 'ccl:' prefix. You can check '*module-search-path*' to see which pathnames are being searched for asdf. The other possibilities are that you have asdf in $HOME/openmcl/modules, or that you've extended '*module-search-path*' in your initialization file, and placed asdf somewhere there. If you'd like to see how the guix ccl package acts in the absence of your environment, you can run it like this: $ guix environment --pure --container --ad-hoc ccl -- ccl >=20 > I don=E2=80=99t know what the problem is, but Andy (Cc=E2=80=99d) may hav= e an answer. > Andy? The attached patches aim to address the problems. The first is that our ccl package was not installing any libraries. I'm not sure if we should be trying to compile these libraries first; I wasn't able to find anything in the build system to suggest such. The second patch ensures that the environment always points toward the executed ccl image's directory, which I believe is in line with the guix philosophy of "static" package behaviour. >=20 > Thanks for reporting the issue. >=20 > Ludo=E2=80=99. Thanks! -- Andy --MP_/5gYdVlFxHDd6tFyKqDjozdd Content-Type: text/x-patch Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=0001-gnu-ccl-Install-included-libraries.patch >From 75814db025a39eedc24c3554df84f60b27d0567d Mon Sep 17 00:00:00 2001 From: Andy Patterson Date: Mon, 6 Mar 2017 23:22:11 -0500 Subject: [PATCH 1/2] gnu: ccl: Install included libraries. * gnu/packages/lisp.scm (ccl)[arguments]: Add 'srfi-26' to '#:modules', and copy the included libraries to the output in the 'install' phase. --- gnu/packages/lisp.scm | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm index b7465e304..0303fe1d3 100644 --- a/gnu/packages/lisp.scm +++ b/gnu/packages/lisp.scm @@ -412,6 +412,9 @@ statistical profiler, a code coverage tool, and many other extensions.") ("subversion" ,subversion))) (arguments `(#:tests? #f ;no 'check' target + #:modules ((srfi srfi-26) + (guix build utils) + (guix build gnu-build-system)) #:phases (alist-replace 'unpack @@ -463,10 +466,16 @@ statistical profiler, a code coverage tool, and many other extensions.") ;; "guix package --search=" (_ "UNSUPPORTED"))) (heap (string-append kernel ".image"))) - (mkdir-p libdir) + (install-file kernel libdir) + (install-file heap libdir) + + (let ((dirs '("lib" "library" "examples" "contrib" + "tools" "objc-bridge"))) + (for-each copy-recursively + dirs + (map (cut string-append libdir <>) dirs))) + (mkdir-p bindir) - (copy-file kernel (string-append libdir kernel)) - (copy-file heap (string-append libdir heap)) (with-output-to-file wrapper (lambda () (display -- 2.11.1 --MP_/5gYdVlFxHDd6tFyKqDjozdd Content-Type: text/x-patch Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=0002-gnu-ccl-Forcibly-set-CCL_DEFAULT_DIRECTORY.patch >From c00976d18111d3b35bfbcd2dabdb2cee23370e4f Mon Sep 17 00:00:00 2001 From: Andy Patterson Date: Mon, 6 Mar 2017 23:27:52 -0500 Subject: [PATCH 2/2] gnu: ccl: Forcibly set CCL_DEFAULT_DIRECTORY. * gnu/packages/lisp.scm (ccl)[arguments]: Unconditionally set the CCL_DEFAULT_DIRECTORY environment variable in the wrapper script. --- gnu/packages/lisp.scm | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm index 0303fe1d3..fd6bdd3e4 100644 --- a/gnu/packages/lisp.scm +++ b/gnu/packages/lisp.scm @@ -481,9 +481,7 @@ statistical profiler, a code coverage tool, and many other extensions.") (display (string-append "#!" bash "/bin/sh\n" - "if [ -z \"$CCL_DEFAULT_DIRECTORY\" ]; then\n" - " CCL_DEFAULT_DIRECTORY=" libdir "\n" - "fi\n" + "CCL_DEFAULT_DIRECTORY=" libdir "\n" "export CCL_DEFAULT_DIRECTORY\n" "exec " libdir kernel "\n")))) (chmod wrapper #o755))) -- 2.11.1 --MP_/5gYdVlFxHDd6tFyKqDjozdd--