extern shared library