Lisp-Stat / data-frame

Data frames for Common Lisp
https://lisp-stat.github.io/data-frame
Microsoft Public License
27 stars 4 forks source link

libmd provided by ql package is broken for x86_64 MacOS #30

Open jhgiii opened 1 month ago

jhgiii commented 1 month ago

I've attempted to follow the tutorial for data-frame and had issues when installing the library via quickl-lisp:

~ sbcl --load quicklisp.lisp This is SBCL 2.4.6, an implementation of ANSI Common Lisp. More information about SBCL is available at http://www.sbcl.org/.

SBCL is free software, provided as is, with absolutely no warranty. It is mostly in the public domain; some portions are provided under BSD-style licenses. See the CREDITS and COPYING files in the distribution for more information.

==== quicklisp quickstart 2015-01-28 loaded ====

To continue with installation, evaluate: (quicklisp-quickstart:install)

For installation options, evaluate: (quicklisp-quickstart:help)

debugger invoked on a CFFI:LOAD-FOREIGN-LIBRARY-ERROR in thread

<THREAD tid=259 "main thread" RUNNING {1000A98133}>:

Unable to load any of the alternatives: ("libmd"

P"/Users/xxxx/.quicklisp/dists/quicklisp/software/cephes.cl-20231021-git/scipy-cephes/libmd-x86-64.dylib")

Type HELP for debugger help, or (SB-EXT:EXIT) to exit from SBCL.

restarts (invokable by number or by possibly-abbreviated name): 0: [RETRY ] Try loading the foreign library again. 1: [USE-VALUE ] Use another library instead. 2: [TRY-RECOMPILING ] Recompile init and try loading it again 3: [RETRY ] Retry loading FASL for #<CL-SOURCE-FILE "cephes" "init">. 4: [ACCEPT ] Continue, treating loading FASL for #<CL-SOURCE-FILE "cephes" "init"> as having been successful. 5: Retry ASDF operation. 6: [CLEAR-CONFIGURATION-AND-RETRY] Retry ASDF operation after resetting the configuration. 7: Retry ASDF operation. 8: Retry ASDF operation after resetting the configuration. 9: [ABORT ] Give up on "lisp-stat" 10: [REGISTER-LOCAL-PROJECTS ] Register local projects and try again. 11: Exit debugger, returning to top level.

(CFFI::FL-ERROR "Unable to load any of the alternatives:~% ~S" ("libmd" #P"/Users/xxxxxx/.quicklisp/dists/quicklisp/software/cephes.cl-20231021-git/scipy-cephes/libmd-x86-64.dylib")) source: (ERROR 'LOAD-FOREIGN-LIBRARY-ERROR :FORMAT-CONTROL CONTROL :FORMAT-ARGUMENTS ARGUMENTS) 0] 9 ; ; compilation unit aborted ; caught 1 fatal ERROR condition

I used a work around by installing libmd via Homebrew and symlinking that dylib to the one references in the error:

~ ln -s /usr/local/Cellar/libmd/1.1.0/lib/libmd.dylib /Users/xxxxxx/.quicklisp/dists/quicklisp/software/cephes.cl-20231021-git/scipy-cephes/libmd-x86-64.dylib

snunez1 commented 1 month ago

Quicklisp hasn't been updated in quite a long time. Thanks for mentioning the workaround. I'll leave this open until things are updated so that others with the same problem can find this solution.