Use the workaround provided in the dlsym() man page.
IIUC, this should be written as:
void (*LookupSymbolFromMain())(const char *name) {
fix declaration
LGTM
Should I commit or do you have commit access?
erm... never mind. Confusing type is confusing.
A typedef would probably help readability here.
IIUC, this should be written as: