Hi, I do this: $ clisp -x '(asdf:operate 'asdf:load-op :gsll) (saveinitmem "gsll" :executable t)' $ ./gsll
(gsll:make-chebyshev 1)
FFI::FOREIGN-CALL-OUT: no dynamic object named "gsl_cheb_alloc" in library :DEFAULT this indicates a bug somewhere between cffi and gsll. specifically, the definition of the foreign function gsl_cheb_alloc should specify that it is to be found in "libgsl.so", not in :default. moreover, when I do the (not so) trivial thing: (ffi:default-foreign-language :stdc) (ffi:open-foreign-library "libgslcblas.so") (ffi:def-call-out gsl_cheb_alloc (:library "libgsl.so") (:arguments (n ffi:int)) (:return-type ffi:c-pointer)) (gsl_cheb_alloc 10) ;; ==> #<FOREIGN-ADDRESS #x0000000005503380> (saveinitmem "foo" :executable t) (quit) ./foo (ffi:open-foreign-library "libgslcblas.so") (gsl_cheb_alloc 10) #<FOREIGN-ADDRESS #x0000000001D9F4C0> i.e., if the foreign function definition includes the correct library name, the function will work automatically[*] even in the saved image. So, since I am not quite sure where the bug is hiding, I am reporting this to both gsll and cffi lists. Thanks. Sam. [*] apparently, libgsl.so cannot be loaded before libgslcblas.so is. how do people specify such dependencies?!