I am new to Perl. I have created a shared object by embedding the Perl into C code. While creating the shared object, I had linked the Perl statically i.e. "libperl.a" into the C code. When I open this created shared object using the system call “dlopen”, I am getting the following error libperlmodule.so: undefined symbol: PL_thr_key libperlmodule.so: undefined symbol: PL_exit_flags etc.. But when I do “nm libperl.a | grep PL_thr_key”, I am able to see the symbols for PL_thr_key.