Core: don't try to dlopen() an empty string

If realpath() failed, it's veeeery likely dlopen() will fail too, in
which case dlerror() maybe will return a meaningful error message,
instead of the "No entry point found" error that is currently printed
when trying to load a non-existent library.