hx <silent2600@gmail.com> schrieb am Di., 13. Sep. 2016 um 02:17 Uhr:current dlopen flag is RTLD_LAZY,//src/dynlib.cdynlib_handle_ptr dynlib_open (const char *path) { return dlopen (path, RTLD_LAZY); }
my module will also load other shared libs, I got some error like symbol undefined,
I found this article http://www.perlmonks.org/?
node_id=673396 ,after I changed dlopen flags to
RTLD_LAZY|RTLD_GLOBAL in src/dynlib.c, the problem is solved.
could emacs developer consider to add the RTLD_GLOBAL flag in emacs's source code ?
Reading the manpage of dlopen, I don't think this flag should be added. Emacs modules should typically export only two symbols (plugin_is_GPL_compatible and emacs_module_init), which aren't useful outside Emacs.