[Openmcl-devel] dfsl/foreign function oddities

Chris Curtis enderx12 at mac.com
Fri May 13 07:07:06 PDT 2005


I'm having some dfsl weirdness with foreign functions.

I have one asdf system with code that calls  
#___CFStringMakeConstantString. That system is then loaded by another  
asdf system (via :depends-on). If I clean out all the dfsls in both  
systems and build, everything works great. If I build again, I get  
compiler warnings:

;   Undefined function OS::|__CFStringMakeConstantString| (2 references)

and, unsurprisingly, at runtime I get:

     Error: Undefined function OS::|__CFStringMakeConstantString|  
called with arguments (#<A Mac Pointer #xCAF40>) .

This can be easily corrected by deleting *just* the dfsl that  
references #___CFStringMakeConstantString (or any dfsl that it  
depends on and thus triggers a recompile) -- voilà, it works again.

I suspect that this might have something to do with the fact that  
__CFStringMakeConstantString is not officially a published API, since  
it's the only function that gets this error. I'm just not  
knowledgeable enough about the guts of the #_ interface to even know  
where to start.

Any ideas?

--chris







More information about the Openmcl-devel mailing list