It turns out to be an intermediate-version SBCL bug, fixed by upgrading to 2.0.3.  

Sorry for this additional email, but I thought it better to close the issue out.



On Apr 15, 2020, at 12:36 PM, JTK <jetmonk@gmail.com> wrote:


Thank you for the suggestion to upgrade ASDF, Stelian.

I upgraded my builtin SBCL asdf.fasl from 3.3.4 to 3.3.4.1 (git version) with a manual replacement of fasl.

This 

- fixes my toy test case on OSX+SBCL (no more unnecessary recompile)

- does not fix osicat on OSX+SBCL

- but both osicat and toy test case work in ccl64+OSX with no ASDF fixes needed.

- but osicat works without reloading in SBCL+Linux64, again without an ASDF upgrade.

So it looks like it could be some kind of glitch in asdf or OSX SBCL (up to 1.4.9).

JK



On Apr 14, 2020, at 5:40 PM, Stelian Ionescu <sionescu@cddr.org> wrote:


Hello,

Sorry if this is the wrong place to ask ...

I’m using the ‘osicat’ package ( https://common-lisp.net/project/osicat/   and  https://github.com/osicat/osicat ) in SBCL on OSX.

whenever I do ‘(asdf:load-system “osicat”) it seems to recompile the cffi-grovel-files and their dependencies.

Is this normal, or is there some way to make it behave like asdf usually does, that it recompiles only when a file has changed?

This sounds very much like a bug in ASDF that was fixed a while ago. I suggest upgrading to the latest version and retrying.

--
Stelian Ionescu