Этот код либо возвращает 0 из dlsym (хотя dlopen срабатывает), либо сегфолтится, если основной бинарник скомпилировать с опцией -rdynamic. Что нужно сделать, чтобы пример работал? Какие-то опции?
void init()
{
void* handle = dlopen(NULL, RTLD_NOW);
ksfree = dlsym(handle, "ksfree");
ksmalloc = dlsym(handle, "ksmalloc");
neuro_unref = dlsym(handle, "neuro_unref");
}