[Openmcl-devel] weird corruption of previously built MacOS application

Arthur Cater arthur.cater at ucd.ie
Fri Mar 10 11:55:55 PST 2023


I have been running a ccl application that I built in 2019 using ccl11 on my MacBook Pro running Mojave. Until a couple of hours ago this was working (though a bit flaky, sometimes crashing for no obvious reason in a way it didn’t back in 2019, and Search Files not working). I’d recently been starting it up several times a day.

Today I tried to build another one using ccl12, in a different folder. I had made a backup copy of my program’s sources and fails etc. I changed my build script to CD to the location of ccl12 instead of ccl11.

So the new ClozureCL64 application doesn’t want to start.  But listen, it’s worse.

The old application, with its ccl logical pathname set from the contents of a variable in my ccl-init.lisp file thus (the goblin::*ccl-translations* variable having been set before image creation)

#+:goblin-app
(progn
  (setf (logical-pathname-translations "ccl") goblin::*ccl-translations*)
  (defun goblin::format? () (cl-user::format?))
  (defun goblin::kreuger nil (cl-user::kreuger))
  (when goblin::*eval-queue-process*
    (process-kill (shiftf goblin::*eval-queue-process* nil))))


now has problems starting up, which it didn’t earlier. I’m getting this

; Warning: Interface file #P"/Users/arthur/Desktop/darwin-x86-headers64/cocoa/constants.cdb" does not exist, and the containing directory does not exist.
;          This may mean that that the "ccl:" logical-pathname host has not been properly initialized. 
; While executing: CCL::CDB-OPEN, in process Listener(35).
; Warning: Interface file #P"/Users/arthur/Desktop/darwin-x86-headers64/libc/constants.cdb" does not exist, and the containing directory does not exist.
;          This may mean that that the "ccl:" logical-pathname host has not been properly initialized. 
; While executing: CCL::CDB-OPEN, in process Listener(35).
; Warning: Interface file #P"/Users/arthur/Desktop/darwin-x86-headers64/cocoa/vars.cdb" does not exist, and the containing directory does not exist.
;          This may mean that that the "ccl:" logical-pathname host has not been properly initialized. 
; While executing: CCL::CDB-OPEN, in process Listener(35).
; Warning: Interface file #P"/Users/arthur/Desktop/darwin-x86-headers64/libc/vars.cdb" does not exist, and the containing directory does not exist.
;          This may mean that that the "ccl:" logical-pathname host has not been properly initialized. 
; While executing: CCL::CDB-OPEN, in process Listener(35).
> Error: Foreign variable "NSCommandKeyMask" not found
> While executing: CCL::%LOAD-VAR, in process Listener(35).
> Type cmd-/ to continue, cmd-. to abort, cmd-\ for a list of available restarts.
> If continued: Skip loading init file.
> Type :? for other options.
1 > 



How can my existing application possibly get interfered with in this way? It happens even after restarting the computer. My mental model of the world is under siege. Is there some mechanism that causes strings used in pathnames to be quasi-magically linked across application bundles? I am really puzzled.

Arthur


More information about the Openmcl-devel mailing list