Re: [PATCH] ltdl: set libltdl_cv_need_uscore to yes on OS/2

2014-11-26 Thread KO Myung-Hun
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

2014-11-26 Thread Gary V. Vaughan
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

2014-11-26 Thread KO Myung-Hun
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