[naviserver-devel] Losing interp alias

2013-09-26 Thread David Osborne
Hi,

Wondering if you can help with a problem.

I am attempting to preload the trf accelerated version of tcllib's
::md5::md5 in our naviserver config.

As a simplified testcase to demonstrate what's happening I can do the
following:

- use a default configuration of naviserver, e.g. in /usr/local/ns
- copy osborne-procs.tcl to
/usr/local/ns/modules/tcl/osborne-procs.tclwhere osborne-procs.tcl
contains:

package require Trf
package require md5

- use the sample config as distributed with naviserver
/usr/local/ns/bin/nsd -c -u nsadmin -t /usr/local/ns/conf/nsd-config.tcl

I get the following result:

% ::md5::md5 -hex teststring
invalid command name "Hex"

This seems to be because the tcllib md5x.tcl code, checks for the Trf
package, and if present sets up an interp alias for the ::md5::Hex command.
And this seems to be getting lost somewhere.

line 502:
http://tcllib.cvs.sourceforge.net/viewvc/tcllib/tcllib/modules/md5/md5x.tcl?revision=1.19&view=markup

If I subsequently add the alias manually everything is fine:
% interp alias {} ::md5::Hex {} ::hex -mode encode --
::md5::Hex
% ::md5::md5 -hex teststring
D67C5CBF5B01C9F91932E3B8DEF5E5F8

Can anyone shed any light as to what's going on here?


# info patchlevel
8.5.8

tcllib:
  Installed: 1.12-dfsg-2
tcl-trf:
  Installed: 2.1.4-dfsg-2

# /usr/local/ns/bin/nsd -V
NaviServer/4.99.6
   Tag: 16f91bafc825+ default tip
   Built:   Aug 19 2013 at 11:26:14
   Tcl version: 8.5
   Platform:linux


-- 
David
--
October Webinars: Code for Performance
Free Intel webinars can help you accelerate application performance.
Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from 
the latest Intel processors and coprocessors. See abstracts and register >
http://pubads.g.doubleclick.net/gampad/clk?id=60133471&iu=/4140/ostg.clktrk___
naviserver-devel mailing list
naviserver-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/naviserver-devel


Re: [naviserver-devel] Losing interp alias

2013-09-26 Thread Jeff Rogers
Hi David,

This is a known deficiency - the introspection script that creates the 
tcl initialization script doesn't capture interp aliases.  I don't think 
it's difficult to add, just hasn't been done yet.

-J

David Osborne wrote:
> Hi,
>
> Wondering if you can help with a problem.
>
> I am attempting to preload the trf accelerated version of tcllib's
> ::md5::md5 in our naviserver config.
>
> As a simplified testcase to demonstrate what's happening I can do the
> following:
>
> - use a default configuration of naviserver, e.g. in /usr/local/ns
> - copy osborne-procs.tcl to/usr/local/ns/modules/tcl/osborne-procs.tcl
> where osborne-procs.tcl contains:
>
> package require Trf
> package require md5
>
> - use the sample config as distributed with naviserver
> /usr/local/ns/bin/nsd -c -u nsadmin -t /usr/local/ns/conf/nsd-config.tcl
>
> I get the following result:
>
> % ::md5::md5 -hex teststring
> invalid command name "Hex"
>
> This seems to be because the tcllib md5x.tcl code, checks for the Trf
> package, and if present sets up aninterp alias for the::md5::Hex
> command. And this seems to be getting lost somewhere.
>
> line 502:
> http://tcllib.cvs.sourceforge.net/viewvc/tcllib/tcllib/modules/md5/md5x.tcl?revision=1.19&view=markup
>
> If I subsequently add the alias manually everything is fine:
> % interp alias {} ::md5::Hex {} ::hex -mode encode --
> ::md5::Hex
> % ::md5::md5 -hex teststring
> D67C5CBF5B01C9F91932E3B8DEF5E5F8
>
> Can anyone shed any light as to what's going on here?
>
>
> # info patchlevel
> 8.5.8
>
> tcllib:
>Installed: 1.12-dfsg-2
> tcl-trf:
>Installed: 2.1.4-dfsg-2
>
> # /usr/local/ns/bin/nsd -V
> NaviServer/4.99.6
> Tag: 16f91bafc825+ default tip
> Built:   Aug 19 2013 at 11:26:14
> Tcl version: 8.5
> Platform:linux
>
>
> --
> David
>



--
October Webinars: Code for Performance
Free Intel webinars can help you accelerate application performance.
Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from 
the latest Intel processors and coprocessors. See abstracts and register >
http://pubads.g.doubleclick.net/gampad/clk?id=60133471&iu=/4140/ostg.clktrk
___
naviserver-devel mailing list
naviserver-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/naviserver-devel