> > > #!<blah>/perl/5.8.2/bin/perl use Tcl::Tk; my $m =
> > > Tcl::Tk::MainWindow->new();
> >
> > IMO at the moment of this line both libtcl84.so and libtk84.so
> > already loaded, otherwise you'll get an error.
>
> I agree. libtcl8.4.so and libtk8.4.so should be loaded at this point.
> Otherwise I shouldn't be able to open create a toplevel MainWindow.
>
> > But I think that it is different than
> > /usr/csite/pubtools/tcl/8.4/lib/libtcl8.4.so
>
> I'm trying to understand how that can be so, since
> "/usr/csite/pubtools/tcl/8.4/lib/libtcl8.4.so" is the only copy of
> libtcl8.4.so that exists on the system. Really.
Actually I am (almost) out of advices, but there is one point to consider.
Perl module named Tcl is actually is a very thin wrapper.
Most of my GUI-programs now are
$int->Eval(<<'EOS');
#bunch of GUI constructing code goes here
EOS
my $widget_NNNN = $int->widget('.w.i.d.get.NNN','Widget::Type');
$widget_NNNN->doSomeMethod(args);
So, if you can not do
$int->Eval(<<'EOS');
package require BLT
EOS
then under 'wish' you also will not be able to succesfully do
package require BLT
Please find "pkgIndex.tcl" file within somewhere .../blt2.4/pkgIndex.tcl
It does at the end
set version "2.4"
package ifneeded BLT $version [list LoadBLT $version $dir]
May be the problem is with finding this shared library?
try adding debugging "puts" statements around these lines
BR,
Vadim.