Re: [PATCH] ltdl: set libltdl_cv_need_uscore to yes on OS/2
Hi/2. Gary V. Vaughan wrote: Hi, Thanks for the report and the patch! On Nov 22, 2014, at 4:08 AM, KO Myung-Hun kom...@gmail.com wrote: 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. Actually, I think the real problem here is that LT_FUNC_DLSYM_USCORE is making the bad assumption that dlsym() only requires a leading symbol name underscore on machines where self dlopening works. Better than your suggested patch, we should really be checking whether dlsym of ordinary loadable module symbol names requires a leading underscore. I agree. I pushed the core of a new macro that does exactly that to M4 master just now. Would you let me know whether this works correctly on OS2 for you please? Of course. Unfortunately, however, it does not work. dlopen() in configure fails due to 'file not found'. -- KO Myung-Hun Using Mozilla SeaMonkey 2.7.2 Under OS/2 Warp 4 for Korean with FixPak #15 In VirtualBox v4.1.32 on Intel Core i7-3615QM 2.30GHz with 8GB RAM Korean OS/2 User Community : http://www.ecomstation.co.kr
Re: [PATCH] ltdl: set libltdl_cv_need_uscore to yes on OS/2
Hi! On 27 Nov 2014, at 02:47, KO Myung-Hun kom...@gmail.com wrote: Hi/2. Gary V. Vaughan wrote: Hi, Thanks for the report and the patch! On Nov 22, 2014, at 4:08 AM, KO Myung-Hun kom...@gmail.com wrote: 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. Actually, I think the real problem here is that LT_FUNC_DLSYM_USCORE is making the bad assumption that dlsym() only requires a leading symbol name underscore on machines where self dlopening works. Better than your suggested patch, we should really be checking whether dlsym of ordinary loadable module symbol names requires a leading underscore. I agree. I pushed the core of a new macro that does exactly that to M4 master just now. Would you let me know whether this works correctly on OS2 for you please? Of course. Unfortunately, however, it does not work. dlopen() in configure fails due to 'file not found'. Thanks for checking. Can you tell me why it fails (module is not compiled correctly; path argument to dlopen() is wrong), and maybe suggest what would fix it, please? Cheers, -- Gary V. Vaughan (gary AT gnu DOT org)
Re: [PATCH] ltdl: set libltdl_cv_need_uscore to yes on OS/2
Hi/2. Gary V. Vaughan wrote: Hi! On 27 Nov 2014, at 02:47, KO Myung-Hun kom...@gmail.com wrote: Hi/2. Gary V. Vaughan wrote: Hi, Thanks for the report and the patch! On Nov 22, 2014, at 4:08 AM, KO Myung-Hun kom...@gmail.com wrote: 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. Actually, I think the real problem here is that LT_FUNC_DLSYM_USCORE is making the bad assumption that dlsym() only requires a leading symbol name underscore on machines where self dlopening works. Better than your suggested patch, we should really be checking whether dlsym of ordinary loadable module symbol names requires a leading underscore. I agree. I pushed the core of a new macro that does exactly that to M4 master just now. Would you let me know whether this works correctly on OS2 for you please? Of course. Unfortunately, however, it does not work. dlopen() in configure fails due to 'file not found'. Thanks for checking. Can you tell me why it fails (module is not compiled correctly; path argument to dlopen() is wrong), and maybe suggest what would fix it, please? I've look into this problem. Module is not built. To build it, some additional variables are required. They are soname, libname, output_objdir. And archive_cmds on OS/2 consists of multi lines separated by ~. So when using it, quotation is needed. And to eval it the function such as func_execute_cmds is needed. In addition, make sure .libs exist before building a module. Finally, please remember that OS/2 does not support DLLs whose base name is longer than 8 characters. Thanks. -- KO Myung-Hun Using Mozilla SeaMonkey 2.7.2 Under OS/2 Warp 4 for Korean with FixPak #15 In VirtualBox v4.1.32 on Intel Core i7-3615QM 2.30GHz with 8GB RAM Korean OS/2 User Community : http://www.ecomstation.co.kr