The error still reproduces (despite SUSE_ZNOW=0) when you invoke LD_BIND_NOW=1 /usr/sbin/slurmd for exactly the reason I have given. In detail: 1. slurmd dlopens (in my case) /usr/lib64/slurm/select_cons_tres.so 2. `nm -D select_cons_tres.so` yields " U gres_ctld_job_build_details". 3. All symbols must be resolvable upon load. This is not the case for select_cons_tres, select_linear, and probably more plugins. 4. If a symbol is not resolve on load, dlopen will fail. 5. If LD_BIND_NOW/ZNOW=0 and dlopen() was invoked with RTLD_LAZY, then the program will abort when the attempt to resolve is made and no match is found. (Which can be never if the piece of code in question is never invoked.) And slurmd relying on #5 is a bad idea.