--- Jeff Hobbs <[EMAIL PROTECTED]> wrote:

> Hi Steve,
> 
> Steve Madere wrote:
> > Have any of you developed a strategy to
> > package an application using Tcl::Tk
> > for deployment?
> 
> You should give PDK 7 a try, just released in Beta:
> 
>   http://aspn.activestate.com/ASPN/Mail/Message/pdk/3351385
> 
> It should "just work" for Tcl::Tk wrapping, as well as Tkx (which is like
> Tcl::Tk, with a slightly different, stripped down syntax for Tcl/Tk
> interaction).
> 
>   Jeff Hobbs, The Tk Guy, http://www.ActiveState.com/
> 

Thanks for the pointer Jeff.

Unfortunately, for me (on a MacBook) it does not seem to
work.


I have built an extremely simple test script to show the
problem:

Here is the script:
    #!/usr/bin/perl
    # deploy_tcl_tk_test.pl
    use Tcl::Tk;
    my $mw = Tcl::Tk::MainWindow();
    my $b = $mw->Button(-text=>'push me',
                        -command=>sub {print "Don't push me...\n";});
    $b->pack(-fill=>'both', -expand=>1);
    $mw->interp->MainLoop();



Here is the perlapp command I used and the error generated:

# nothing up my sleeve.....
$ echo 'PERL5LIB->' $PERL5LIB '<-PERL5LIB'
PERL5LIB-> <-PERL5LIB

$ /usr/local/PDK/bin/perlapp --norunlib --exe deploy_tcl_tk_test 
deploy_tcl_tk_test.pl 
Use of uninitialized value in string eq at
/</usr/local/PDK/bin/../lib/pdklib.dylib>ActiveState/Path.pm line 92.
Use of uninitialized value in pattern match (m//) at
/</usr/local/PDK/bin/../lib/pdklib.dylib>ActiveState/Path.pm line 93.
PerlApp 6.9.90 beta build 272361
Copyright (C) 1998-2006 ActiveState Software Inc. All rights reserved.
Beta license (Expires: 2007-02-01)

****************************************************************************
* WARNING: Applications generated by this evaluation copy of PerlApp will  *
*          stop working after the end of the evaluation period: 2007-02-01 *
****************************************************************************

auto/Tcl/Tcl.bundle:
        error: Mismatch between perlapp (i386/ppc) and
/Library/Perl/5.8.6/darwin-thread-multi-2level/auto/Tcl/Tcl.bundle (i386). 
Producing a Universal
Binary is not possible
        refby: /Library/Perl/5.8.6/darwin-thread-multi-2level/Tcl.pm
        file: /Library/Perl/5.8.6/darwin-thread-multi-2level/auto/Tcl/Tcl.bundle
Tclaux.pm:
        error: Can't locate Tclaux.pm
        refby: /Library/Perl/5.8.6/darwin-thread-multi-2level/Tcl.pm line 397
Tcl/Tk/Table.pm:
        error: Can't locate Tcl/Tk/Table.pm
        refby: /Library/Perl/5.8.6/Tcl/Tk.pm line 758
Unable to produce a Universal Binary! at 
/</usr/local/PDK/bin/../lib/pdklib.dylib>PerlApp/Util.pm
line 317.


================================= END OF perlapp OUTPUT 
======================================


BTW, I did confirm that perlapp properly builds a trivial app which does not
use Tcl::Tk:

#!/usr/bin/perl
# deploy_trivial.pl
use Data::Dumper;
my $thing = { a=>{apple=>'fruit',ant=>'insect',aardvark=>'mammal'},
              b=>{banana=>'fruit',bomber=>'plane', bongo=>'drum'}
          };
print Dumper($thing),"\n";


Reply via email to