diff -Naur Python-3.8.2.orig/Python/dynload_shlib.c Python-3.8.2/Python/dynload_shlib.c --- Python-3.8.2.orig/Python/dynload_shlib.c 2020-04-12 00:17:24.000000000 +0200 +++ Python-3.8.2/Python/dynload_shlib.c 2020-04-12 00:20:10.000000000 +0200 @@ -74,6 +74,15 @@ PyOS_snprintf(funcname, sizeof(funcname), LEAD_UNDERSCORE "%.20s_%.200s", prefix, shortname); + /* On IOS, dlopen crash as soon as we try to open one of our library. + * Instead, we have done a redirection of linking to convert our .so into a + * .a. Then the main executable is linked with theses symbol. So, instead + * of trying to dlopen, directly do the dlsym. + * -- Mathieu + */ + return (dl_funcptr) dlsym(RTLD_SELF, funcname); + + #if 0 if (fp != NULL) { int i; @@ -129,4 +138,5 @@ handles[nhandles++].handle = handle; p = (dl_funcptr) dlsym(handle, funcname); return p; + #endif }