Re: Possible bug with tclkit on 64bit platforms

Vadtec <[email protected]> Wed, 05 Sep 2007 12:24:13 -0000
Newsgroups gmane.comp.lang.tcl.starkit
Message-ID <[email protected]>


On Sep 5, 2:17 am, Graham Cobb <[email protected]> wrote:
> On Tuesday 04 September 2007 22:52, Vadtec wrote:
>
> > I have been using tclkit on my CentOS box. I downloaded tclkit-linux-
> > x86_64 for my 64bit system. It works great, except for one problem. I
> > put a copy of tclkit into /usr/bin so that it would be usable by the
> > whole system. After some issues, and some prodding with strace and
> > sdiff, along with some help from GPS and a few others in #tcl/the
> > jabber chat, we believe there is an issue running tclkit on 64bit
> > platforms from out side the directory tclkit is in.
>
> I routinely use tclkit from outside the directory tclkit is in on my Debian
> lenny AMD64 system.
>
> I did find that the directory containing the starkit (not just the directory
> containing tclkit) has to be in the PATH in order for tclkit to find the
> starkit if it is not in the same directory, although I do not think this was
> a 64-bit problem.
>
> Graham

Ok, I have a copy of sdx (as well as tclkit) located in /usr/bin,
which is most certainly in the path of Tcl...but not tclkit that I can
find...

[root@dhcp-192-168-0-14 ~]# echo $PATH
/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/
sbin:/bin:/usr/sbin:/usr/bin:/root/bin
[root@dhcp-192-168-0-14 ~]# tclkit
application-specific initialization failed: couldn't open "setup.tcl":
no such file or directory
% puts $auto_path
can't read "auto_path": no such variable
%

So, as you can see right here, running tclkit as a command shell even
produces the error when tclkit is located in /usr/bin. Search me, but
that seems like a bug to me.

[root@dhcp-192-168-0-14 ~]# which tclkit
/usr/bin/tclkit
[root@dhcp-192-168-0-14 ~]# which sdx
/usr/bin/sdx
[root@dhcp-192-168-0-14 ~]# tclkit /usr/bin/sdx
application-specific initialization failed: couldn't open "setup.tcl":
no such file or directory
can't find package starkit
    while executing
"package require starkit"
    (file "/usr/bin/sdx" line 4)
[root@dhcp-192-168-0-14 ~]# sdx
application-specific initialization failed: couldn't open "setup.tcl":
no such file or directory
can't find package starkit
    while executing
"package require starkit"
    (file "/usr/bin/sdx" line 4)
[root@dhcp-192-168-0-14 ~]# /usr/bin/tclkit /usr/bin/sdx
application-specific initialization failed: couldn't open "setup.tcl":
no such file or directory
can't find package starkit
    while executing
"package require starkit"
    (file "/usr/bin/sdx" line 4)

You told me to make sure the path to where tclkit is was in my $PATH,
as I pasted above, tclkit and sdx both reside within the $PATH.

[vadtec@dhcp-192-168-0-14 tcl-tk]$ echo $PATH
/usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin:/home/vadtec/bin
[vadtec@dhcp-192-168-0-14 tcl-tk]$ which tclkit
/usr/bin/tclkit
[vadtec@dhcp-192-168-0-14 tcl-tk]$ which sdx
/usr/bin/sdx
[vadtec@dhcp-192-168-0-14 tcl-tk]$ pwd
/home/vadtec/Downloads/tcl-tk
[vadtec@dhcp-192-168-0-14 tcl-tk]$ tclkit
application-specific initialization failed: couldn't open "setup.tcl":
no such file or directory
% exit
[vadtec@dhcp-192-168-0-14 tcl-tk]$ ./sdx.kit
application-specific initialization failed: couldn't open "setup.tcl":
no such file or directory
can't find package starkit
    while executing
"package require starkit"
    (file "./sdx.kit" line 4)
[vadtec@dhcp-192-168-0-14 tcl-tk]$ tclkit sdx.kit
application-specific initialization failed: couldn't open "setup.tcl":
no such file or directory
can't find package starkit
    while executing
"package require starkit"
    (file "sdx.kit" line 4)
[vadtec@dhcp-192-168-0-14 tcl-tk]$ ./tclkit sdx.kit
Specify one of the following commands:
 addtoc    eval      fetch     ftpd      httpd     httpdist  ls
lsk       md5sum    mkinfo    mkpack    mkshow    mksplit   qwrap
ratarx    rexecd    starsync  sync      tgz2kit   treetime  unwrap
update    version   wrap
For more information, type:  sdx.kit help ?command?

There is absolutely no reason for tclkit to not work if it depends on
the $PATH environment containing the dir it is in, as the $PATH
arguement already does this. So I still think there is an error in the
way tclkit is getting its directory info, and it should be looking in
its VFS not the FS for the setup.tcl it needs.

Vadtec