dlopen() doesnt actually set errno