On OS/2, dlopen() does not support a program. So libltdl_cv_need_uscore is set to unknown, but dlsym() requires an underscore prefix. So set libltdl_cv_need_uscore to yes on OS/2 if lt_cv_sys_symbol_underscore is yes and libltdl_cv_need_uscore is unknown.
* m4/ltdl.m4 (LT_FUNC_DLSYM_USCORE): set libltdl_cv_need_uscore to yes on os2*. --- m4/ltdl.m4 | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/m4/ltdl.m4 b/m4/ltdl.m4 index eeb37ac..ce7b2b7 100644 --- a/m4/ltdl.m4 +++ b/m4/ltdl.m4 @@ -804,6 +804,11 @@ if test yes = "$lt_cv_sys_symbol_underscore"; then [libltdl_cv_need_uscore=no], [libltdl_cv_need_uscore=yes], [], [libltdl_cv_need_uscore=cross]) LIBS=$save_LIBS + if test x"$libltdl_cv_need_uscore" = xunknown; then + case $host_os in + os2*) libltdl_cv_need_uscore=yes ;; + esac + fi ]) fi fi -- 1.8.5.2