dynamic load shared library with dlopen