[Openmcl-devel] How is this possible?

Gary Palter gmpalter4clozure at fastmail.com
Thu Feb 16 19:25:50 PST 2023


Starting with, I believe, macOS Big Sur, Apple created a single prelinked file containing all of the system libraries as part of the System volume. (It’s called the dyld_shared_cache.) The standard APIs to access shared libraries (e.g., dlopen) translate library pathnames to the appropriate entries in the cache.

So, the library files do not exist in the filesystem but, if you use the standard APIs, they appear to exist. And, that’s what you’re seeing below.

  - Gary


> On Feb 16, 2023, at 9:44 PM, Ron Garret <ron at flownet.com> wrote:
> 
> Clozure Common Lisp Version 1.12.1 (v1.12.1-10-gca107b94) DarwinX8664
> ...
> ? (require :cl+ssl)
> Loading CL+SSL NILTo load "cl+ssl":
>   Load 1 ASDF system:
>     cl+ssl
> ; Loading "cl+ssl"
> 
> :CL+SSL
> NIL
> ? (pprint ccl::*shared-libraries*)
> 
> (#<SHLIB /usr/lib/libssl.48.dylib #x3020014FFE9D>
>  #<SHLIB /usr/lib/libcrypto.46.dylib #x3020014FFF6D>
> ...
> 
> 
> At this point, cl+ssl is working, and I can make foreign calls to routines in libcrypto.  However, back in the terminal...
> 
> 
> ron at RMBA1 ~ % ls /usr/lib/libssl*
> zsh: no matches found: /usr/lib/libssl*
> ron at RMBA1 ~ % ls /usr/lib/libcrypto*
> zsh: no matches found: /usr/lib/libcrypto*
> 
> 
> And using spotlight, I can't find libssl.48.dylib or libcrypto.46.dylib anywhere.
> 
> And yet, cl+ssl is working.  How???
> 
> rg
> 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.clozure.com/pipermail/openmcl-devel/attachments/20230216/8953a2d1/attachment.htm>


More information about the Openmcl-devel mailing list