I’ve had this issue many times over when running “./configure” scripts on my Linux From Scratch 6.7 system:
checking for dlopen... no checking for dlopen in -ldl... yes checking whether a program can dlopen itself... yes checking whether a statically linked program can dlopen itself...
The script will then hang at the “checking whether a statically linked program can dlopen itself…” step and will not exit until I terminate the process (CTRL+C).
The configure script is typically creating a C program to test dlopen, like such:
int main () { void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); int status = $lt_dlunknown; if (self) { if (dlsym (self,"fnord")) status = $lt_dlno_uscore; else { if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; else puts (dlerror ()); } /* dlclose (self); */ } else puts (dlerror ()); return status; }
where the $variables are provided by shell script.
Here’s a quick fix that works for me:
int main () { void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); - int status = $lt_dlunknown; + int status = $lt_dlunknown; return status; if (self) { if (dlsym (self,"fnord")) status = $lt_dlno_uscore;
It doesn’t return a valid test result, but at least you’ll be able to finish configuring your program.