Hi Alex,
Not really. I don't understand how ctypes.util.find_library() manages
to find the library name (it shouldn't look in LD_LIBRARY_PATH); and
then I don't understand why dlopen() *fails* to do the same (it
*should* look in LD_LIBRARY_PATH). Indeed, the line
backend.load_library() in cffi/api.py just calls the C function
dlopen() without any further tweaking of the path.
I guess it's time to read very carefully "man dlopen" and see if there
are extra distribution-specific hacks in there. If all else fails,
you can try to (1) make very sure about what the C-level dlopen() is
called with, possibly with strace; (2) try to reproduce the problem by
writing a custom C program that calls dlopen() with the same
arguments.
A bientôt,
Armin.