Posted September 27, 20159 yr Following from this question, I want to use several different Lisp packages through quicklisp, but I can't get the installation to work correctly. After doing some digging, I found out that the path to quicklisp is not defined correctly. This is the content of the ql:*quicklisp-home* global: > ql:*quicklisp-home* #P"/Users/opusmodus/quicklisp/" I realised that changing this manually doesn't fix the issue, and because of this I can't install or use quicklisp correctly. Note that I do not have a user by the name opusmodus and creating that directory with my user's permission does not fix it. I managed to do something by using SBCL as my own user to load and install quicklisp, and then in opusmodus use the following: (load #p"/Users/ajf-/quicklisp/setup.lisp") But it's actually a workaround and it's not very reliable (also gives an error sometimes). Can you please point me in the right direction? Thank you very much
September 27, 20159 yr The quicklisp folder should be in your home directory. Try this: (let ((quicklisp-init (merge-pathnames "quicklisp/setup.lisp" "/Users/your-home-directory-name/"))) (when (probe-file quicklisp-init) (load quicklisp-init))) Even better: (let ((quicklisp-init (merge-pathnames "quicklisp/setup.lisp" (user-homedir-pathname)))) (when (probe-file quicklisp-init) (load quicklisp-init)))
September 27, 20159 yr Author Thank you for your ultra quick reply I really appreciate that. Doing that yields: > (let ((quicklisp-init (merge-pathnames "quicklisp/setup.lisp" "/Users/ajf-/"))) (when (probe-file quicklisp-init) (load quicklisp-init))) ; Warning: loading dependencies of #<system "quicklisp"> completed without its input file #P"/Users/opusmodus/quicklisp/quicklisp/quicklisp.asd" ; While executing: #<standard-method asdf/action:compute-action-stamp (t asdf/operation:operation asdf/component:component)>, in process Listener-1(7). > Error: File #P"/Users/opusmodus/quicklisp/quicklisp/package.lisp" not found > While executing: ccl::fcomp-find-file, in process Listener-1(7). > Type cmd-. to abort, cmd-\ for a list of available restarts. > Type :? for other options. Seems like it keeps referencing /Users/opusmodus regardless of that line. Maybe I should take further steps before this? Perhaps uninstall the quicklisp installation I did personally with SBCL? The second option you posted has the same effect. Again, thanks
September 27, 20159 yr Author That gives the correct result: > (user-homedir-pathname) #P"/Users/ajf-/" Please don't hesitate to ask any sort of information from me to find a solution. I'll be happy to provide with whatever you need. Thank you
September 27, 20159 yr What about this: (unless (find-package "QUICKLISP") (when (probe-file "~/quicklisp/setup.lisp") (load "~/quicklisp/setup"))) I will need to install Opusmodus on my Mac Mini and see why that is.
September 27, 20159 yr Author That, at least, doesn't give any errors: > (unless (find-package "QUICKLISP") (when (probe-file "~/quicklisp/setup.lisp") (load "~/quicklisp/setup"))) nil What should I do from here? Thank you!
September 29, 20159 yr Author I am really sorry, I really don't want to oblige and your support has been great, but it seems I'm having more trouble. I hope this is not just me being a dummy and it helps in some way: 1- asdf:*central-registry* keeps pointing to /Users/opusmodus. No big deal, I added a setf in ~/.ccl-init.lisp that configures it. Manually downloaded the libraries that are referenced by it (cl-store, alexandria, xmls, cl-ppcre, cl-interval -- no idea about "quantizers"). 2- Installing drakma fails at usocket because Opmo can't find the CCL interfaces: https://gist.github.com/ajf-/8229a803a4717d589d59. (probe-file "ccl:") shows "/Applications/" which doesn't seem quite right. (#_getpid) shows more info: https://gist.github.com/ajf-/920d3be32f7e241c1b0d. I Manually installed ccl through brew install clozure-cl, and I tried to do: (ccl::replace-base-translation "ccl:" "/usr/local/Cellar/clozure-cl/1.10/libexec/") But I keep getting Error: Foreign function not found errors with (#_getpid) and (ql:quickload "usocket"). Trying the Apple Store version of CCL (at "/Applications/Clozure CL.app/Contents/Resources/ccl/") did not work either. A custom svn co from http://ccl.clozure.com/download.html did not do the trick either. 3- ~/.ccl-init.lisp doesn't seem to be loading on startup. I'll keep trying to sort this out tomorrow, but please let me know if there's something I am not doing right here and if there's any way I can help. Bests, Alain
September 30, 20159 yr On 29 September 2015 at 05:15:24, ajf- said: I am really sorry, I really don't want to oblige and your support has been great, but it seems I'm having more trouble. I hope this is not just me being a dummy and it helps in some way: 1- asdf:*central-registry* keeps pointing to /Users/opusmodus. No big deal, I added a setf in ~/.ccl-init.lisp that configures it. Manually downloaded the libraries that are referenced by it (cl-store, alexandria, xmls, cl-ppcre, cl-interval -- no idea about "quantizers"). 2- Installing drakma fails at usocket because Opmo can't find the CCL interfaces... 3- ~/.ccl-init.lisp doesn't seem to be loading on startup. 1) Fixed by downloading the updated Opusmodus.app, with changes I made yesterday. See http://opusmodus.com/forums/topic/310-opusmodus-1117247/ 2) The interfaces don't ship with Opusmodus, and since they would bloat the app by 75 megabytes, I think it best to let programmers who need them do the heavy lifting for making them available in their environments. Here's how I made it work in the Guest account on my Mac: Quote # In a shell cd mkdir ccl cd ccl svn co http://svn.clozure.com/publicsvn/openmcl//release/1.11/darwin-x86-headers64 ;; Then, in Opusmodus, or in a file in the "~/Opusmodus/Extensions" folder (replacing <userid> appropriately): (setf (logical-pathname-translations "ccl") '((#P"ccl:**;*.*" #P"/Users/<userid>/ccl/**/*.*"))) This requires svn, which I think is part of the XCode command lines tools, or from other places. Of course, you can pick any place you want for the "ccl" directory. You just need to change the logical-pathname-translations to match. You can also install a whole CCL. Best to use version 1.11, since Opusmodus is based on that. Look at (logical-pathname-translations "ccl"), and change what you need to make it point at wherever your CCL is installed. 3) Opusmodus intentionally does NOT load ~/.ccl-init.lisp on startup. Add a file to ~/Opusmodus/Extensions/
Create an account or sign in to comment