If someone could give me some clues about how to debug this it would be great.

I'm trying to figure out why "it" fails to load a particular dylib under macOS.
"it" meaning that I'm not sure who is actually failing, but I suspect it is actually a failure detected and reported by dlopen(3) itself, rather than something wrong in cffi.

The problem seems to be that loading libgdk-x11-2.0.0.dylib triggers a complaint about a library I have loaded from a different place, but the error message indicates a location I have not loaded my LD_LIBRARY_PATH.

Could it possibly be that libgdk-x11-2.0.0.dylib has a hard coded path in it pointing to /usr/local/lib ?

If someone could give me some clues about how to debug this it would be great.

I've set up my LD_LIBRARY_PATH so that it seems to be loading the correct libcairo.2.dylib from /usr/local/Cellar/cairo/1.12.16_1/lib/libcairo.2.dylib.  The reason I think this is because both vmmap (unix command line) and cffi::list-foreign-libraries (lisp) give compatible results.

sh> vmmap -w 16787 | grep dylib | sed -e 's/^.*SM=...  //' | grep cairo
/usr/local/Cellar/cairo/1.14.6_1/lib/libcairo.2.dylib
sh>

and
CL-USER> (cffi::list-foreign-libraries)
(...
 #<CFFI:FOREIGN-LIBRARY
   :LIBCAIRO #P"/usr/local/Cellar/cairo/1.12.16_1/lib/libcairo.dylib" (truename=#P"/usr/local/Cellar/cairo/1.12.16_1/lib/libcairo.2.dylib")>)
CL-USER> 

However, when I attempt to load libgdk-x11-2.0.0.dylib it complains that it cannot find a particular symbol in /usr/local/lib/libcairo.dylib.  Why is it complaining about /usr/local/lib/libcairo.dylib?

Unable to load any of the alternatives:
   ("libgdk-x11-2.0.0.dylib" "libgdk-x11-2.0.dylib")
   
Attempting to load GDK::GDK from lib "libgdk-x11-2.0.dylib"
(%LOAD-FOREIGN-LIBRARY GDK
                       /usr/local/Cellar/gtk+/2.24.24/lib/libgdk-x11-2.0.0.dylib)
Unable to load foreign library (GDK::GDK).
  Error opening shared object "/usr/local/Cellar/gtk+/2.24.24/lib/libgdk-x11-2.0.0.dylib":
  dlopen(/usr/local/Cellar/gtk+/2.24.24/lib/libgdk-x11-2.0.0.dylib, 10): Symbol not found: _cairo_xlib_surface_create
  Referenced from: /usr/local/Cellar/gtk+/2.24.24/lib/libgdk-x11-2.0.0.dylib
  Expected in: /usr/local/lib/libcairo.dylib
 in /usr/local/Cellar/gtk+/2.24.24/lib/libgdk-x11-2.0.0.dylib.

Attempting to load GDK::GDK from lib "libgdk-x11-2.0.0.dylib"
(%LOAD-FOREIGN-LIBRARY GDK
                       /usr/local/Cellar/gtk+/2.24.24/lib/libgdk-x11-2.0.0.dylib)
Unable to load foreign library (GDK::GDK).
  Error opening shared object "/usr/local/Cellar/gtk+/2.24.24/lib/libgdk-x11-2.0.0.dylib":
  dlopen(/usr/local/Cellar/gtk+/2.24.24/lib/libgdk-x11-2.0.0.dylib, 10): Symbol not found: _cairo_xlib_surface_create
  Referenced from: /usr/local/Cellar/gtk+/2.24.24/lib/libgdk-x11-2.0.0.dylib
  Expected in: /usr/local/lib/libcairo.dylib
 in /usr/local/Cellar/gtk+/2.24.24/lib/libgdk-x11-2.0.0.dylib.
   [Condition of type CFFI:LOAD-FOREIGN-LIBRARY-ERROR]