Problem:
You have C code like
dlsym(RTLD_NEXT, 'myfunc');
but when you try to compile it you see an error message like
main.c:3:11: error: ‘RTLD_NEXT’ undeclared (first use in this function) dlsym(RTLD_NEXT, 'myfunc'); ^~~~~~~~~
Solution:
Add
#define _GNU_SOURCE #include <dlfcn.h>
at the top of the source file where the error occured.
In order for RTLD_NEXT
to be declared, #define _GNU_SOURCE
must occur before the first #include
statement!